2010-06-10 4 views
4

Я пытаюсь предоставить пользователю настраиваемые цвета в моем приложении. Белый текст на черном фоне и черный текст на белом фоне. У меня есть несколько макетов с большим количеством списков, как стандартных, так и пользовательских адаптеров. Люди предложили использовать Темы, но мне не повезло изменить цвета текста во всех макетах. Может ли кто-нибудь показать мне фактический макет темы, который может это сделать? Я могу легко изменить цвета фона с помощью myscreen.setBackGroundColor (xx), но когда я пытаюсь изменить текст с темой, он также меняет текст с помощью spinner.Изменение цвета Android с темами

ответ

13

Использование

<item name="android:spinnerStyle">@style/StandardSpinner</item> 
    <item name="android:spinnerItemStyle">@style/StandardSpinnerItem</item> 
    <item name="android:spinnerDropDownItemStyle">@style/StandardSpinnerDropDownItem</item> 

в вашей теме, это будет переопределить стиль текста.

Ваш стиль будет выглядеть примерно так:

<style name="StandardSpinner" parent="@android:style/Widget.Spinner"> 
    <item name="android:background">@drawable/spinner</item> 
</style> 

<style name="StandardSpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem"> 
    <item name="android:textAppearance">@style/GameDisplayText</item> 
    <item name="android:gravity">center_vertical|center_horizontal</item> 
</style> 

<style name="StandardSpinnerDropDownItem" parent="@android:style/Widget.DropDownItem.Spinner"> 
    <item name="android:textAppearance">@style/GameDisplayText</item> 
</style> 
0

Просто некоторые дополнительная информация, для того, чтобы указать вам тему для вашего приложения вам нужно определить его в AndroidManifest.xml

отл.

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/Theme"> 

вы должны повторно использовать некоторые из свойств дефолтов стилей, объяви андроида темы по умолчанию в качестве родительской темы твоей

при значениях/styles.xml или где ваш файл тема

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="Theme" parent="@android:style/Theme"> 
     <!-- Widget styles --> 
     <item name="android:spinnerStyle">@android:style/Widget.Spinner</item> 
     <item name="android:spinnerDropDownItemStyle">@style/Widget.DropDownItem.Spinner</item> 
     <item name="android:spinnerItemStyle">@android:style/Widget.TextView.SpinnerItem</item> 
    </style> 
Смежные вопросы