【问题标题】:Remove the status bar background in Xamarin.Forms删除 Xamarin.Forms 中的状态栏背景
【发布时间】:2017-02-19 14:06:48
【问题描述】:

我正在尝试在 Xamarin.Forms 中构建一个面向 Android 和 iOS 的全屏应用程序。我知道如何从以前的应用程序中隐藏 iOS 中的状态栏,但在 Android 中这样做有困难。我已经尝试通过将应用程序主题设置为

@android:style/Theme.Holo.NoActionBar.Fullscreen

无济于事,以及使用设置 UI 标志

this.Window.AddFlags(WindowManagerFlags.Fullscreen);
this.Window.DecorView.SystemUiVisibility = StatusBarVisibility.Hidden;

它仍然留下不同颜色的状态栏减去所有信息。但它会破坏设计,我似乎无法在任何地方在线找到任何答案。

【问题讨论】:

  • 您在哪个 API 上看到这个?设置应用程序样式应该可以...您有一个屏幕剪辑来显示它的外观?
  • API 是 24(我相信是最新的)我可以在早上上传屏幕截图

标签: android xamarin xamarin.android xamarin.forms


【解决方案1】:

如果您使用的是 AppCompat,那么这是一个已知问题,因为 Forms 会在状态栏中添加一个底层,即使系统图标被隐藏,该底层仍然存在。幸运的是,应该在下一个 Forms 预发布版本中添加一个 API 来解决这个问题:https://bugzilla.xamarin.com/show_bug.cgi?id=38019

同时,您可以尝试使用反射将底层视图的高度设置为0。调用base.OnCreate()后:

this.Window.AddFlags(WindowManagerFlags.Fullscreen);
this.Window.DecorView.SystemUiVisibility = StatusBarVisibility.Hidden;

if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
{
    var statusBarHeightInfo = typeof(FormsAppCompatActivity).GetField("_statusBarHeight",  System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
    statusBarHeightInfo.SetValue(this, 0);
}

【讨论】:

  • 我无法获得对FormsAppCompatActivity 的引用我需要使用特定的程序集引用吗?
  • using Xamarin.Forms.Platform.Android 添加到类文件或改用typeof(global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity)
  • 这个目标是什么API?
  • API 23 并使用最新的表单版本 (2.3.2)。 Forms Android 项目的目标框架版本需要是 API 23 或更高版本。答案还假设您使用的是AppCompat。如果没有,那么只需设置全屏标志就可以了。如果您仍然遇到问题,最好包括一个最小的复制项目。
【解决方案2】:

如果您还没有找到解决方案,这里是 我不太确定隐藏状态栏,但如果我没记错的话,将NavigationPage.SetHasNavigationBar(this, false);添加到代码后面是我的解决方案。

如果你想改变颜色,你只需要添加几行。

  1. <item name="android:statusBarColor">@color/blue</item> 添加到您的styles.xml 文件中
  2. 并在 MainActivity.cs 中的 OnCreate 方法中添加 Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多