2014-11-16 26 views
18

Sto riscontrando un problema con il colore del mio background di notifica personalizzato in Lollipop. È nero dove dovrebbe essere bianco. Il textColor è OK:Come ottenere il colore di sfondo della notifica predefinito per la notifica personalizzata in Lollipop?

sto usando

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

Qualsiasi idea di come utilizzare il colore del tema dispositivo predefinito per la notifica personalizzato?

+0

qualsiasi soluzione per questo? – madlymad

risposta

-1

Non sono sicuro di quale sia il tema dello sfondo, ma ho semplicemente impostato lo sfondo dei miei layout personalizzati (vista piccola e vista grande) su un colore scuro nell'xml. Questo corrisponde quindi più strettamente alle notifiche pre-Lecca-lecca.

Trovo strano che l'aspetto di Android: TextAppearance.StatusBar.EventContent.Title non si adatta a un colore scuro per Lollipop quando il colore di notifica standard è bianco!

+2

Non voglio impostare un colore casuale. Voglio che il colore corrisponda al tema corrente. Il loro colore non è necessariamente scuro in pre-lecca-lecca. Potrebbe variare da un produttore all'altro. E poi è bianco per impostazione predefinita su lecca lecca alla vaniglia. Quindi sto cercando un modo per recuperare questo 'colore ufficiale' – user1026605

5

Per qualsiasi motivo, ci sono nuovi stili in Lollipop. Mettere questo in valori-V21/styles.xml: targetSdkVersion

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

Questo non sembra funzionare per me. Il mio background di notifica è grigio chiaro dove il default è bianco. – velis

7

tua app deve essere 21.
Come answere di Ahmed, aggiungere un file di stili nella cartella di valori-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>  
0

Crea cartella valori-V21/styles.xml e passato il codice qui sotto,

<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> 
0

Per risolvere questo problema, si hanno 2 opzioni:

1) bersaglio SDK 21, e su misura la notifica utilizzerà automaticamente uno sfondo bianco

2) Copiare il layout esistente nella cartella layout-v21 e aggiungere android: background = "# FFFFFFFF" alla radice, in questo modo:

<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> 

Funziona alla grande per me.

+0

Questo non funziona per me, perché se si utilizza il blocco, c'è un colore diverso per i widget, quindi non sarà bello, se tutti sono più grigi e questo è bianco. – Michal

Problemi correlati