2016-05-10 5 views
4

アンドロイドアプリにスプラッシュ画面を追加しました。表示するときにステータスバーに色を付けたいと思います。ステータスバーをアンドロイドスプラッシュ画面に表示します

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item 
     android:drawable="@color/colorPrimary" /> 

    <item> 
     <bitmap 
      android:gravity="center" 
      android:src="@mipmap/ic_home"/> 
    </item> 

</layer-list> 

と私はこのスタイルを追加しました::

これは、描画可能下のファイルの内容は、あなたのテーマにcolorPrimaryDark項目を追加する

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

答えて

4

は、トリックを行う必要があります。

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowBackground">@drawable/splashscreen</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
</style> 
+0

2つの 'styles.xml'がある場合は' res \ values-v21 \ styles.xml'でこれを行う必要があります。他の 'res \ values \ styles.xml'は古いアンドロイド版のものです。 –

+2

古いデバイスでは 'colorPrimaryDark'が無視されるので' res \ values \ styles.xml'に設定することができます。私はそれを簡単に保つことを好むスプラッシュ画面のテーマとして単純なテーマの場合。 –

+0

@color/colorPrimaryを追加することもできます。ユーザーがアプリを最小化すると、アプリのヘッダーにあなたの好みの色が表示されます。 –

1
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
getWindow().setStatusBarColor(getResources().getColor(R.color.colorPrimaryDark)); 
} 
関連する問題