2013-06-15 12 views
11

W mojej aplikacji używam kilku preferencji, w tym niektórych powiązanych z zależnościami za pomocą następującego atrybutu: android:dependency="pref_key".W zależności od preferencji wyświetlana jest niewłaściwa czcionka koloru po wyłączeniu.

Zasadniczo, gdy pole wyboru nie jest zaznaczone, wszystkie inne preferencje poniżej są wyłączone:

Preferences without style definition

Problem dzieje, gdy konfiguracja z powrotem następujące 3 linie w moim niestandardowego tematu:

<style name="AppThemeOrange" parent="@style/AppTheme"> 
     <item name="android:textColorPrimary">@color/OrangeMain</item> 
     <item name="android:textColorSecondary">@color/OrangeDark</item> 
     <item name="android:textColorTertiary">@color/OrangeLight</item> 
(...) 

Kolory zdefiniowane w tych 3 atrybutach również zastępują domyślny kolor czcionki wyłączonych preferencji:

Preferences with style definition

Preferencje są nadal dobrze wyłączone, ale czcionki wyświetlane Fikcja przeciwnie ...

Szukałem w domyślnych stylów Holo Lekkie i rozrywki, ale nie mam pojęcia, gdzie to jest zdefiniowany i dlaczego style powyżej zastępują te.

Czy ktoś już napotkał problem?

Dzięki za pomoc

Odpowiedz

22

należy zdefiniować listę państwowej kolor i umieścić go w folderze/RES/kolorów

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_enabled="false" android:color="#FF00ff00"/> 
    <item android:color="#FFff0000"/> 
</selector> 
+0

Dzięki za sugestię, próbuję go, ale wydaje 'state_disabled' nie jest dostępna opcja. –

+0

Przepraszam, musi to być state_enable = "false". Zaktualizowałem moją odpowiedź: – Blackbelt

+0

Tak, wymyśliłem to tuż po tym, zrobiłem szybki test i zadziałało, dzięki za szybką pomoc! –

Powiązane problemy