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

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

У меня такая же проблема, как этот пост. Я хочу, чтобы мой стиль текстовых уведомлений соответствовал уведомлениям по умолчанию (я просто собираюсь добавить несколько дополнительных просмотров). К сожалению, я не совсем понял принятый ответ. Я думаю, что я хотел бы добавить в код XML, но не уверен, что именно... enter image description here

В принятом ответе говорится: Решение состоит в использовании встроенных стилей. Вам нужен стиль TextAppearance.StatusBar.EventContent. Просто примените этот стиль, и он установит цвет текста по умолчанию для уведомлений (не забудьте андроид: префикс, конечно). "

Я не могу заставить это работать! В моем пользовательском уведомлении под строкой "android: textAppearance ="? Android: attr/textAppearanceLarge "работает (по мере того, как он увеличивает текст), но не дает желаемого эффекта.

Вот мой собственный XML-код...

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

Пользовательские макеты уведомлений и цвета текста

4b9b3361

Ответ 1

Наконец выяснилось, что я делаю неправильно... (в основном я использовал функции API 9, когда я только развиваюсь по API 8).

Во-первых, использовать стиль по умолчанию (платформа)...

style = "@android: style/TextAppearance.Small"

Например...

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

Во-вторых, используйте стиль по умолчанию для StatusBar.

style = "@android: style/TextAppearance.StatusBar.EventContent" или

style = "@android: style/TextAppearance.StatusBar.EventContent.Title",

и т.д. и т.д.

Например,

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

В моем случае это вызвало ошибку, потому что я все еще разрабатываю Android 2.2 (API 8), в то время как эти стили StatusBar предназначены для API 9 и далее. (Я знаю, что должен обновить:))

Полезные ссылки:

Android.com Применение стилей и тем, использование стилей и тематик платформы

Ссылка на Android.com R.style

fooobar.com/info/74246/...

Android API уровня Android