I have the exact same problem as this post. I want my custom notifications text style to match the default notifications (Im just going to add a few extra views). Unfortunately I don't fully understand the accepted answer. I think I am meant to add to the XML code but not sure exactly what...
The accepted answer says" The solution is to use built-in styles. The style you need is TextAppearance.StatusBar.EventContent. Just apply this style and it will set the default text color for notifications (don't forget android: prefix, of course). "
I cant get this to work! In my custom notification below the line "android:textAppearance="?android:attr/textAppearanceLarge" works (as it enlargens the text) but does not give the desired effect.
Here is my custom XML code...
<ImageView
android:id="@+id/notImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/notContentTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf ="@id/notImage"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/notContentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below ="@id/notContentTitle"
/>
Custom notification layouts and text colors
Finally figured out what I was doing wrong... (basically I was using features from API 9 when I am only developing on API 8).
Firstly, to use a default (platform) style use...
style = "@android:style/TextAppearance.Small"
For example...
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:padding="3dp">
<ImageView
android:id="@+id/notImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_alignParentTop="true"/>
<TextView
android:id="@+id/notContentTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf ="@id/notImage"
android:textStyle="bold"
style = "@android:style/TextAppearance.Medium"/>
<TextView
android:id="@+id/notContentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below ="@id/notImage"
style = "@android:style/TextAppearance.Small" />
Secondly to use the StatusBar default style use..
style = "@android:style/TextAppearance.StatusBar.EventContent" or
style = "@android:style/TextAppearance.StatusBar.EventContent.Title",
etc, etc.
For example,
<TextView
android:id="@+id/notContentText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below ="@id/notImage"
style = "@android:style/TextAppearance.StatusBar.EventContent" />
In my case this caused an error because I am still developing with Android 2.2 (API 8) whilst these StatusBar styles are for API 9 onwards. (I know I should update :))
Useful links are;
Android.com Applying Styles and Themes, Using Platform Styles and Themes
Android.com R.style reference
StackOverflow.com Custom notification layouts and text colours
Android.com Android API levels
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With