Intereting Posts

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

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

я использую

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

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

Цель 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> 

По какой-то причине в 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> 

Создайте значения папки-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> 

Чтобы решить эту проблему, у вас есть 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> 

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

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

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