我正在尝试更改Xamarin Forms可移植类库中顶部/通知栏的颜色。我尝试过使用以下内容:
MainPage.SetValue(NavigationPage.BarTextColorProperty, Color.FromHex(#424242);
来源:Xamarin.Forms - Change StatusBar Color
我也尝试过使用
public App()
{
MainPage = new NavigationPage(new Page1())
{
BarBackgroundColor = Color.FromHex("#424242"),
BarTextColor = Color.White,
};
}
在第一个实例/代码中,应用程序启动,但在加载屏幕时卡住了。我也是使用Xamarin的新手,因此不确定在哪里可以找到错误日志,因为控制台中没有显示错误日志。
在第二个实例/代码中,应用程序会在应用程序顶部/通知栏下面区域,而不是通知栏本身。
希望有人能引导我朝着正确的方向前进。
由于
答案 0 :(得分:1)
您的第一种方法是尝试更改通知栏的文本颜色(例如说“前景色”),而您的第二种方法是尝试更改导航栏的背景颜色,并且因为您说:
在第二个实例/代码中,应用程序会在应用程序顶部/通知栏下面区域,而不是通知栏本身。
我想您想要更改系统状态栏的背景颜色,而不是应用程序导航栏的背景颜色。然后你只能在你的android项目中更改它,而不是在PCL中。
例如,打开你的MainActivity
android项目并修改OnCreate
方法,如下所示:
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.ClearFlags(WindowManagerFlags.TranslucentStatus);
Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
Window.SetStatusBarColor(Color.LightPink);
}