問題中文描述:任務描述:primary color 本應該爲不透明的
今天寫好values-v21 下的style之後,
<span style="font-size:18px;"> <color name="deep_blue">#354c9b</color>
<color name="sky_blue">#2878f4</color></span>
<span style="white-space:pre"> </span><style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar"><!--Light.DarkActionBar表示默認的黑色主體的Actionbar-->
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/sky_blue</item>
<item name="colorPrimaryDark">@color/deep_blue</item>
<item name="colorAccent">@color/material_deep_teal_200</item>
<item name="android:textColorPrimary">@color/white</item>
</style>
運行在5.0以上的機器後,出現瞭如題的bug,開始覺得我設置的顏色也不是透明的啊,怎麼就報這個錯呢?費解......後來上了stackOverFlow之後,發現真的是顏色問題。
原因在於答案給出的顏色值是6位十六進制數,而我的是8位16進制數,在科普了十六進制顏色表示法之後,愉快的發現前兩位表示顏色的透明度,而透明度是00~FF,表示從完全透明到完全不透明,而我們android5.0+要求Primary系列的顏色必須要不透明。因此我們要麼缺省,要麼自己乖乖填上FF。
營養補充:
因爲在5.0一下的系統上,我們是無法自定義colorPrimaryDark狀態欄的顏色,這個屬性只有在5.0+的系統上才能生效。而在Android5.0上顯示我們需要寫好values-v21下的一份資源文件,而此時,5.0+上,系統會自動找到values-v21下的style進行自定義colorPrimaryDark的顏色,而對於colorPrimary還是由values下的style做主。。。。。。