在通知中,我使用可绘制的 xml 作为 setSmallIcon。当状态栏背景变为白色时,我的白色图标消失(实际上背景颜色和图标变为相同颜色)。 但是,如果我将图像图标用作 setSmallIcon,则状态栏图标的颜色会变为灰色。
当状态栏为白色时:
当状态栏为非白色时:
代码:
builder.setSmallIcon(R.drawable.my_list,level);
可绘制文件的一部分:
<item android:maxLevel="86">
<layer-list>
<item
android:bottom="@dimen/bottom_margin"
android:drawable="@drawable/ic_8"
android:left="@dimen/ic_2_1_left"
android:right="@dimen/ic_2_1_right"
android:top="@dimen/upper_margin" />
<item
android:bottom="@dimen/bottom_margin"
android:drawable="@drawable/ic_6"
android:left="@dimen/ic_2_2_left"
android:right="@dimen/ic_2_2_right"
android:top="@dimen/upper_margin" />
</layer-list>
</item>
<item android:maxLevel="87">
<layer-list>
<item
android:bottom="@dimen/bottom_margin"
android:drawable="@drawable/ic_8"
android:left="@dimen/ic_2_1_left"
android:right="@dimen/ic_2_1_right"
android:top="@dimen/upper_margin" />
<item
android:bottom="@dimen/bottom_margin"
android:drawable="@drawable/ic_7"
android:left="@dimen/ic_2_2_left"
android:right="@dimen/ic_2_2_right"
android:top="@dimen/upper_margin" />
</layer-list>
</item>
<item android:maxLevel="88">
<layer-list>
<item
android:bottom="@dimen/bottom_margin"
android:drawable="@drawable/ic_8"
android:left="@dimen/ic_2_1_left"
android:right="@dimen/ic_2_1_right"
android:top="@dimen/upper_margin" />
<item
android:bottom="@dimen/bottom_margin"
android:drawable="@drawable/ic_8"
android:left="@dimen/ic_2_2_left"
android:right="@dimen/ic_2_2_right"
android:top="@dimen/upper_margin" />
</layer-list>
</item>
如何更改带有状态栏背景(白色)的 xml 可绘制图标颜色?
抱歉我的英语不好。
最佳答案
试试这个:
在你的 Activity 中设置你的 drawable 之后写:
getWindow().setStatusBarColor(Color.parseColor(your_color_in_hex));
请查看它是否有效并更新。
关于android - 状态栏图标颜色不随主题改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52007887/