我在我的flutter应用程序(Android版)上添加了一个启动屏幕,如下所示:
打开values/styles.xml并添加以下内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<!--following 2 lines modified by me-->
<item name="android:windowBackground">@drawable/splash_screen</item>
<item name= "android:windowFullscreen">true</item>
</style>
</resources>
但是,当我在真实设备中运行应用程序时,启动屏幕会显示一种奇怪的行为:
我不确定会显示多少秒的闪屏,但是,例如,假设它持续3秒,那么,在前1或1.5秒,屏幕底部看起来像这样,显示底部软件按钮:
在这1或1.5秒之后,底部的条消失了,启动屏幕按预期再显示1或1.5秒,然后应用程序启动。
如何解决这个问题,使喷溅从一开始就覆盖整个屏幕?
最佳答案
在MainActivity.java
写这个:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
this.getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}