Xamarin.Forms - Change StatusBar Color

Emixam23 picture Emixam23 · Jun 23, 2016 · Viewed 46.4k times · Source

I search but I can't find if it's possible to change the StatusBar color for each platform, from my portable code? (for Android, iOS & WinPhone 8.1)

public App()
{
    // Change the StatusBar color
    MainPage = new MainPageUser();
}

Answer

mtsfaria picture mtsfaria · Feb 21, 2017

I believe you would be better off writing a little bit of platform-specific code:

For Android:

On your MainActivity.cs on the Droid project, right after

LoadApplication(new App());

of the overriden OnCreate method, add:

Window.SetStatusBarColor(Android.Graphics.Color.Argb(255, 0, 0, 0));

Like so:

protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            global::Xamarin.Forms.Forms.Init(this, bundle);            
            LoadApplication(new App());
            Window.SetStatusBarColor(Android.Graphics.Color.Argb(255, 0, 0, 0)); //here
        }