Цвет иконки в строке состояния не меняется с темой - PullRequest
0 голосов
/ 24 августа 2018

В уведомлении я использовал drawable 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 значка на фоне строки состояния (белый)?

Извините за мой плохой английский.

Ответы [ 3 ]

0 голосов
/ 24 августа 2018

перед super.OnCreate () в вашей деятельности ....

добавьте следующую строку кода ..

setTheme(R.style.AppTheme);
0 голосов
/ 24 августа 2018

Начиная с Android 5.0, рекомендации гласят:

Значки уведомлений должны быть белыми.

Даже если это не так, система будет учитывать только альфаканал вашей иконки, отображая их белым цветом.

Некоторые полезные ссылки: -

Цвет значков в строке состояния Android

Значок панели уведомлений становится белымв Android 5 Lollipop

Надеюсь, это поможет.

0 голосов
/ 24 августа 2018

Попробуйте это:

После настройки рисования в поле «Деятельность» напишите:

getWindow().setStatusBarColor(Color.parseColor(your_color_in_hex));

Проверьте, работает ли он, и обновите, пожалуйста.

...