2015-10-08 119 views
1

如何改變狀態欄我的應用程序,我在Android Studio中,使其變爲靜態顏色上運行Android Lollipop 5.0或更高版本,並且不正在做的顏色 Mobile在運行較低版本的Android OS時發生崩潰。狀態欄顏色 - Android Studio中

+0

喂添加此!我也發佈了詳細的答案..隨時檢查出來! –

回答

0

嘗試使用這個,這個工作對我來說

//changing statusbar 
if (android.os.Build.VERSION.SDK_INT >= 21){ 
       Window window = this.getWindow(); 
       window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
       window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
       window.setStatusBarColor(this.getResources().getColor(R.color.primary_dark)); 
      } 

對於變色動作條:

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
     <item name="android:background">#ffff00</item> 
    </style> 

,並在應用程序標籤上您的清單申報

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/MyActionBar" > 

希望它能幫助

+0

我在哪裏放這段代碼? – d02d33pak

+0

在你的活動中,你想顯示狀態欄的顏色,只需複製粘貼方法onCreate –

+0

這會自動更改顏色以匹配操作欄的顏色,還是必須更改特定值才能使其具有顏色? (對不起,我是初學者) – d02d33pak

0

你可以做,在2種方式,無論是屬性添加到您的主題,像

styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <!-- colorPrimary is used for the default action bar background --> 
    <item name="colorPrimary">>#ED3B3B</item> 

    <!-- colorPrimaryDark is used for the status bar --> 
    <item name="colorPrimaryDark">#BE2F2F</item> 

    <!-- colorAccent is used as the default value for colorControlActivated 
     which is used to tint widgets --> 
    <item name="colorAccent">#4DB6AC</item> 

    <!-- You can also set colorControlNormal, colorControlActivated 
     colorControlHighlight & colorSwitchThumbNormal. --> 
</style> 

和你AndroidManifest的應用程序標籤必須有一個主題的屬性與AppTheme

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

或如果您希望動態更改狀態欄顏色,請點擊按鈕或完成映像加載後,您可以在Java類中使用

if (android.os.Build.VERSION.SDK_INT >= 21){ 
    Window window = activity.getWindow(); 
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
    window.setStatusBarColor("your color")); 
} 
+1

非常感謝你... – d02d33pak

+0

如果應用程序在5.0以上版本的Android版本上運行,該應用程序不會崩潰嗎? – d02d33pak

+0

它不會。只需添加,因爲你是新的。嘗試使用「工具欄」。你可以用工具條替換操作欄,它可以讓你更好地控制你的操作欄.. https://chris.banes.me/2014/10/17/appcompat-v21/ –

0

請在您的應用風格

<item name="colorPrimary">>#FFFF00</item> 

<!-- colorPrimaryDark is used for the status bar --> 
<item name="colorPrimaryDark">#000000</item>