问题中文描述:任务描述: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做主。。。。。。
Crash——TaskDescription's primary color should be opaque
时间: 2024-11-05 07:10:07