Как использовать стиль уведомления по умолчанию? - PullRequest
12 голосов
/ 06 июня 2011

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

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

Я не могу заставить это работать! В моем настраиваемом уведомлении ниже строки «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"
 />

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

1 Ответ

24 голосов
/ 07 июня 2011

Наконец-то выяснилось, что я делаю неправильно ... (в основном я использовал функции из 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 reference

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

Уровни Android.com Android API *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...