更改 Xamarin.Forms 应用中顶部和底部栏(ControlsBar、StatusBar)的颜色

Nic*_*rin 4 c# xaml xamarin.forms

无论如何,即使需要平台特定的代码,也可以更改顶部栏(蓝色)和底部栏(黑色)的颜色?

我希望添加对明暗模式的支持,因此我希望能够在运行时进行更改。

安卓

Jun*_*ang 7

这是可能的

安卓:

在 Android API 21 之上使用Window.SetStatusBarColor并且Window.SetNavigationBarColor可以轻松做到这一点。

  if (Build.VERSION.SdkInt >= Build.VERSION_CODES.Lollipop)
  {
       Window.SetStatusBarColor(Android.Graphics.Color.Orange);
       Window.SetNavigationBarColor(Android.Graphics.Color.Orange);
   }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

IOS:

在ios中,更改导航栏和状态栏,可以如下使用:

NavigationController.NavigationBar.BarTintColor = UIColor.YouWantColor;
// Color you want, such as UIColor.Green
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

单击按钮后,动态变为绿色。

在此处输入图片说明