5

У меня есть специальное уведомление, которое использует LinearLayout, который содержит ImageView и TextView. Перед Android 4.0 все, что мне нужно было сделать, это обмен текстами цветов с помощью стилей EventContent и EventContent.Title, и все цвета выглядели великолепно.Цвет фона по умолчанию

Но на Android 4.0 (Ice Cream Sandwich) мой цвет фона для уведомлений светло-серый, и, что еще хуже, он ужасно сталкивается со стилями текста по умолчанию. Это странно для меня, поскольку все остальные уведомления имеют темно-серый (почти черный) цвет, и я вообще не изменил цвет фона в своем макете.

Есть ли способ получить доступ к цвету фона по умолчанию для уведомлений? Я не хочу вручную устанавливать это на черный (или другой цвет), так как я хочу, чтобы он хорошо сочетался с темой на устройстве. Но я огляделся и не мог найти ничего, что дало бы мне этот цвет.

ответ

6

У меня также есть специальное уведомление и установлено, что цвет фона также был серым сэндвичем с мороженым. Я вижу это и в других приложениях, например WeatherBug.

У меня не было targetSdkVersion в моем манифесте. Я обнаружил, что добавив в манифест TargetTdkVersion = "14" проблема исправлена. Фон теперь является подходящим цветом для каждой версии Android.

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="14" /> 

Редактировать: Google подтверждает, что это правильный подход. См. № 16 по адресу: https://code.google.com/p/android/issues/detail?id=23863&thanks=23863&ts=1325611036

+0

Спасибо. Это кажется намного лучше, чем настройка цвета фона. Я попробую и дам вам знать. – Grimmace

+1

Это очень аккуратное решение, но изменение цели на v14 отключает меню. –

+0

Привет Кирилл. Что вы подразумеваете, отключает меню? В каком меню вы ссылаетесь? – ciscogambo

Смежные вопросы