我在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秒,然后启动了应用程序。
如何解决此问题,以使启动画面从一开始就覆盖整个屏幕?
答案 0 :(得分:1)
在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);
}