Подтвердить что ты не робот

Как получить цвет фона уведомлений по умолчанию для пользовательского уведомления в Lollipop?

У меня возникла проблема с цветом фона моего настраиваемого уведомления в Lollipop. Он черный, где он должен быть белым. TextColor в порядке:

Я использую

<resources>
    <style name="NotificationText" parent="android:TextAppearance.StatusBar.EventContent" />
    <style name="NotificationTitle" parent="android:TextAppearance.StatusBar.EventContent.Title" />
</resources>

Любая идея, как использовать цвет темы темы по умолчанию для пользовательского уведомления?

4b9b3361

Ответ 1

Ваше приложение targetSdkVersion должно быть 21.
Как и Ахмед, добавьте еще один файл стилей в папку значений -21.

<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
   <style name="NotificationText" parent="android:TextAppearance.Material.Notification" />
   <style name="NotificationTitle" parent="android:TextAppearance.Material.Notification.Title" />
   <style name="NotificationTime" parent="android:TextAppearance.Material.Notification.Time" />
</resources>    

Ответ 2

По какой-то причине в Lollipop появляются новые стили. Поместите это в значения-v21/styles.xml:

<resources>
    <style name="NotificationTitle" parent="android:TextAppearance.Material.Notification.Title"></style>
    <style name="NotificationText" parent="android:TextAppearance.Material.Notification"></style>
</resources>

Ответ 3

Создайте значения папки-v21/styles.xml и пропустите приведенный ниже код,

 <style name="NotificationTitle" parent="@android:style/TextAppearance.StatusBar.EventContent.Title">
    <item name="android:textColor">@android:color/black</item>
    <item name="android:textStyle">normal</item></style>

Ответ 4

Чтобы решить эту проблему, у вас есть 2 варианта:

1) Target SDK 21, а пользовательское уведомление будет автоматически использовать белый фон

2) Скопируйте существующий макет в папку layout-v21 и добавьте в его корень андроид: background = "# FFFFFFFF", например:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:background="#FFFFFFFF" >

...

</LinearLayout>

Отлично работает для меня.

Ответ 5

Я не уверен, какова тема фона, но я просто установил фон моих пользовательских макетов (малый вид и большой вид) на темный цвет в xml. Это затем более точно соответствует уведомлениям перед Lollipop.

Мне кажется странным, что внешний вид android: TextAppearance.StatusBar.EventContent.Title не регулируется темным цветом для Lollipop, когда стандартный цвет уведомления белого!