如何在Xamarin.Forms中删除闪屏顶部的空格?

neskvpey  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(183)

我正在用Xamarin开发一个应用程序。Visual Studio 2019中的窗体,我已经有了闪屏,但当我运行它时,它没有覆盖整个屏幕,它在通知栏应该去的地方留下了一个空间,我已经尝试了“NoTileBar”属性,它做到了,但当从智能手机打开它时,没有做出改变。你能帮我改变它吗?
Styles.xml

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/splash_screen</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowActionBar">true</item>
</style>

enter image description here

ycl3bljg

ycl3bljg1#

样式.xml

<style name="MainTheme.Splash" parent="Theme.AppCompat.Light.NoActionBar">
   <item name="android:windowBackground">@drawable/splash_screen</item>
   <item name="android:windowNoTitle">true</item>
   <item name="android:windowFullscreen">true</item>
   <item name="android:windowContentOverlay">@null</item>
   <item name="android:windowActionBar">true</item>
  </style>

检查您的主活动标志,如下所示

添加SplshActivity类

[Activity(Theme = "@style/MainTheme.Splash",
          MainLauncher = true,
          NoHistory = true)]
public class SplashActivity : AppCompatActivity
{
    // Launches the startup task
    protected override void OnResume()
    {
        base.OnResume();
        StartActivity(new Intent(Application.Context, typeof(MainActivity)));
    }
}
icnyk63a

icnyk63a2#

首先,如果您想隐藏Activity中的操作栏,需要将<item name="android:windowActionBar">true</item>更改为<item name="android:windowActionBar">false</item>
那么通知栏是否意味着系统的状态栏呢?如果是的话,你可以尝试使用下面的代码来隐藏它:

WindowInsetsControllerCompat windowInsetsController =
  ViewCompat.getWindowInsetsController(WindowDecorView);
windowInsetsController.hide(WindowInsetsCompat.Type.statusBars());

欲了解更多信息,您可以查看关于hiding the system bars的官方文件。

相关问题