Как получить синий стиль текста в 2.1 Контакты или Настройки - PullRequest
0 голосов
/ 14 декабря 2010

Под управлением Android 2.1, настройки и другие диалоги имеют белый / синий текст.Глядя на значения темы, я вижу такие вещи, как textColorPrimary и textColorSecondary.Если я ссылаюсь на эти цвета в своем макете XML, например:

  android:textColor="?android:attr/textColorSecondary" 

Я просто вижу белый текст (я пробовал textColorPrimary, textColorTertiary и textColorHint).

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

Все это говорит о том, что я ошибаюсь в неверном дереве ссылками textColor *?

1 Ответ

1 голос
/ 25 декабря 2010

все атрибуты textColor * указывают на селекторы цвета . Если вы хотите изменить цвет вашей темы, вам необходимо выполнить следующие шаги:

1) Создайте селектор цвета, создайте файл с именем (например) primary_color.xml и поместите его в папку res \ color

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false" android:color="@android:color/bright_foreground_light_disabled"/>
    <item android:state_window_focused="false" android:color="@android:color/bright_foreground_light"/>
    <item android:state_pressed="true" android:color="@android:color/bright_foreground_light"/>
    <item android:state_selected="true" android:color="@android:color/bright_foreground_light"/>
    <item android:color="@android:color/bright_foreground_light"/> <!-- not selected -->

2) В своем файле styles.xml создайте тему для своей деятельности, которая ссылается на только что созданный селектор цвета:

<style name="ActivityStyle" parent="android:Theme">
        <item name="android:textColorPrimary">@color/primary_color</item>
        <!-- Add more styles here as necessary -->
</style>

3) В вашем AndroidManifest.xml примените новую тему к любой активности, которую вы хотите:

<activity android:name=".activities.MedicationsActivity"
       android:theme="@style/ActivityStyle">
 </activity>
...