Соответствие цвету по умолчанию в пользовательских настройках - PullRequest
0 голосов
/ 30 декабря 2011

У меня есть пользовательское предпочтение, которое по сути является слайдером.Пользовательский XML для ползунка настроек можно использовать для установки цвета текста, но мне нужно сопоставить цвет текста с цветом по умолчанию, который использует устройство.Цвет заголовка выглядит нормально, просто используется значение по умолчанию (так же, как другой заголовок CheckBoxPreference, или так выглядит).Цвет «Сводка» также использует цвет по умолчанию (такой же, как и «Заголовок»), но я хочу, чтобы он совпадал с цветом по умолчанию текста «Сводка» CheckBoxPreference, который определен прямо над ним в XML.

Можно ли получить цвет текста «Сводка» из CheckBoxPreference и просто изменить цвет текста «Сводка» пользовательского предпочтения, чтобы он соответствовал цвету «Сводка CheckBoxPreference», или существует глобальный (R.attr.xxxxxxxx независимо от того), которыйМогу ли я использовать то, что существует на всех устройствах?

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

Мой пользовательский слайдер (которыйимеет поля заголовка и сводки) необходимо сопоставить цвета ОС по умолчанию для этих двух полей с цветовой схемой устройства по умолчанию для этих записей (заголовок и сводка).

  1. Как получить значение по умолчаниюЦвет устройства, который устанавливается для флажка предпочтения, когда цвет не указан?

  2. Как мне установитьЭтот цвет соответствует моему предпочтению custom , в котором есть собственный xml-файл, определяющий представление настраиваемого предпочтения.

Надеюсь, в этом есть смысл, если не яразработайте немного больше.

определение предпочтения для пользовательского предпочтения (которое далее определено в его xml):

<com.xxx.sbp.SeekBarPref
    android:id="@+id/xmlpreference_seekbar"
    android:key="preference_seekbar"
    android:title="Seek Bar Pref"
    android:summary="Choose seconds"
    android:defaultValue="20"
    android:max="300"
    sbp:min="10"
    sbp:interval="10"
    sbp:intervaldivide="10"
    sbp:unitsLeft=""
    sbp:unitsRight="s" />   

Ответы [ 4 ]

2 голосов
/ 31 декабря 2011

Я нашел это: android:textAppearance="?android:attr/textAppearanceLarge" и android:textAppearance="?android:attr/textAppearanceSmall", кажется, добиваются цели.

0 голосов
/ 06 декабря 2014

У меня была такая же проблема, и я решил ее с помощью этих строк в onCreateView методе seekBarPreference.java

TextView summaryText = new TextView(getContext());
summaryText.setText(getSummary());
summaryText.setTextAppearance(getContext(), android.R.style.TextAppearance_Small);
0 голосов
/ 28 августа 2012

Цвет по умолчанию для текста сводки настроек выглядит как #DACC45. Я сделал это, чтобы сделать снимок экрана и запросить цветные пиксели с помощью графического редактора.

0 голосов
/ 14 марта 2012

Сложное решение дано в Сводка настроек Android по умолчанию, цвет?

Я согласен с респондентами выше, что ни один из параметров textAppearance не гарантирует цветового соответствия.

...