Использование темы для экрана настроек - PullRequest
9 голосов
/ 06 апреля 2011

Я хочу изменить внешний вид экрана настроек для приложения, над которым я работаю. На некоторых телефонах настройки очень полупрозрачные, и прочитать схему предпочтений довольно сложно, поэтому я собираюсь изменить для нее визуальные эффекты.

Мой вопрос: как я могу применить тему к схеме предпочтений? Или, в противном случае, как я могу изменить цвет текста, который отображается для различных предпочтений.

В моей текущей версии мой XML-файл макета настроек начинается с:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffa0a0a0">

Этот цвет фона дает мне приемлемый серый, но я бы предпочел использовать тему.

Я попытался применить несколько разных тем в настройках xml и макете настроек xml, но ни одна из них не дала никакого эффекта. Я также попытался установить andoid: textColor для отдельных элементов настроек и макета, но это не имело никакого эффекта.

Так, как можно изменить визуальные элементы для схемы предпочтений (предпочтительно с помощью темы)?

заранее спасибо,

Jay

1 Ответ

24 голосов
/ 06 апреля 2011

Основные вещи:

  1. Тема для ваших действий с предпочтениями, которая определяет стили для виджетов предпочтений и других вещей.Взгляните на первую тему в themes.xml - она ​​определяет фон окна, стили текста и предпочтительные стили (preferenceScreenStyle, preferenceCategoryStyle и т. Д.)
  2. Некоторые стили для каждоговиджетов предпочтений (на которые есть ссылка themes.xml).Например, в styles.xml они определяют стили Preference.Category и Preference.PreferenceScreen.
  3. Примените тему к своей деятельности.В своем манифесте измените тег активности открытия для активности предпочтений на <activity android:theme="@style/CustomTheme"...

Если вы хотите наследовать стили Android по умолчанию, а затем просто переопределить некоторые из них, то добавьте parent="@android:style/Theme" к началу<style... тег вашей темы.

Посмотрите Применение стилей и тем для получения дополнительной информации.

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