Normalmente cuando estamos desarrollando una aplicación buscamos como poder brindar una UI completa hacia el usuario, ademas de que el cliente así lo solicita. Por ende cuando lanzamos la misma, la barra de estado es de otro color, lo cual rompe con lo anterior y lo que requerimos aquí es cambiar el color para que se asemeje con el de la aplicación, pero,¿como lo puedo hacer en Xamarin.Forms?
Esto es relativamente sencillo, a continuación las indicaciones por plataforma:
Android
Window.SetStatusBarColor (Android.Graphics.Color.ParseColor (“# FFFFFF”)); // o cualquier otro valor hexadecimal en MainActivity.
iOS
El color de la barra de estado de iOS depende del Color de la barra de navegación, por lo que:
MainPage = new NavigationPage(new MyPage()) { BarBackgroundColor = Color.FromHex(“000000”), BarTextColor = Color.White };
Haría una barra de navegación negra y una barra de navegación con texto blanco en la barra de navegación. Para cambiar el color del texto en la barra de estado, debemos establecer:
<key>UIStatusBarStyle</key> <string>UIStatusBarStyleBlackTranslucent</string>
en el Info.plist
UIStatusBarStyleBlackTranslucent
significa texto blanco
var statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
Donde el StatusBar tiene propiedades BackgroundColor, BackgroundOpacity, ForegroundColor
Android
Código completo:
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity { 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()); //Change the Status Bar Color Window.SetStatusBarColor(Android.Graphics.Color.Argb(255, 0, 0, 0)); } }
¡Hasta la próxima!
Buen aporte, me ayudo bastante gracias!!!!!!!!!!
De nada mi estimado, que bueno que si te sirvio!