2017-08-30 73 views
1

我正在嘗試實現閃屏啓動整個屏幕。所以,狀態欄需要隱藏,但只能在啓動畫面中進行。 現在,啓動畫面出現,但狀態欄仍然顯示。 我嘗試沒有成功這個方法:啓動畫面上的沉浸模式

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

這是你想成爲,如果是的,我會回答這個問題 –

回答

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就像一個魅力!