启动画面上的沉浸模式

问题描述:

我正在尝试实现闪屏启动整个屏幕。所以,状态栏需要隐藏,但只能在启动画面中进行。 现在,启动画面出现,但状态栏仍然显示。 我尝试没有成功这个方法:启动画面上的沉浸模式

public class LaunchScreen extends AppCompatActivity { 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
         | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
         | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
         | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar 
         | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar 
         | View.SYSTEM_UI_FLAG_IMMERSIVE); 

     startActivity(new Intent(LaunchScreen.this, MainActivity.class)); 
     finish(); 
    } 
} 

这是我泼的资源文件:

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowBackground">@drawable/launch_screen</item> 
</style> 

launch_screen.xml:

<item android:drawable="@color/colorPrimary" /> 
<item> 
    <bitmap 
     android:gravity="center" 
     android:src="@mipmap/ic_launcher" /> 
</item> 

清单文件:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

    <activity 
     android:name=".LaunchScreen" 
     android:theme="@style/SplashTheme"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".MainActivity" /> 

任何帮助非常感谢!

+0

你可以使它透明,并在其下面显示你的飞溅图像 –

+0

@ AhmedAbd-Elmeged什么部分可以透明? – MS2099

+0

这是你想成为,如果是的,我会回答这个问题 –

在的情况下,有人认为它有用,我添加了以下线在我的style文件:

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

然后取出从LauncherScreen类这些行:

getWindow().getDecorView().setSystemUiVisibility(
      View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar 
        | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar 
        | View.SYSTEM_UI_FLAG_IMMERSIVE); 

现在workds就像一个魅力!