android - 状态栏图标颜色不随主题改变

标签 android notifications drawable statusbar status

在通知中,我使用可绘制的 xml 作为 setSmallIcon。当状态栏背景变为白色时,我的白色图标消失(实际上背景颜色和图标变为相同颜色)。 但是,如果我将图像图标用作 setSmallIcon,则状态栏图标的颜色会变为灰色。

当状态栏为白色时:

enter image description here

当状态栏为非白色时:

enter image description here

代码:

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/

相关文章:

android - ImageView背景onclick

java - ClassCastException:RestTemplate 返回 List<LinkedHashMap> 而不是 List<MymodelClass>

android - 我需要添加 kapt "com.android.databinding:compiler:$compiler_version"gradle 条目吗?

android - 短信接收没有通知android 4.4.2

php - 在 Laravel/Eloquent 中对类似的通知进行分组

java - 以编程方式绘制选择器

android - 如何在 Android 中的多个 Activity 之间切换

android - 获取应用程序的 url 方案

notifications - 如何配置 Mantis 以便向管理员通知系统中的所有问题

Android:计算字符串和可绘制对象