2016-07-14 366 views
14

我試圖重現谷歌日曆應用程序的行爲: enter image description here更改狀態欄文本顏色,當primaryDark是白色

,但我還沒有找到一種方法來改變狀態的文字顏色。如果我將colorPrimaryDark設置爲白色,則無法看到圖標,因爲它們的顏色也是白色,所以狀態欄的文本都不會顯示。

有沒有辦法改變狀態欄的文字顏色?

在此先感謝

回答

20

我不知道什麼API級別你努力的目標,但如果你可以使用API​​ 23具體的東西,你可以添加以下到您的AppTheme styles.xml:

<item name="android:statusBarColor">@color/colorPrimaryDark</item> 
<item name="android:windowLightStatusBar">true</item> 

android:windowLightStatusBar設置爲true,狀態欄文本的顏色就可以在狀態欄的顏色爲白色,反之亦然 時android:windowLightStatusBar設置爲false,狀態欄文本顏色的設計,將被視爲待觀察當狀態欄顏色很暗時。

實施例:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <!-- Status bar stuff. --> 
    <item name="android:statusBarColor">@color/colorPrimaryDark</item> 
    <item name="android:windowLightStatusBar">true</item> 
</style> 
+1

大!!這對我有用:) – MarcForn

+12

如果我的API級別是21,它不起作用,你可以告訴我替代方案 – saikrupa