2012-01-25 17 views
11

mi sono imbattuto in uno strano problema: Sto creando uno stile per un app e ho impostato:Imposta switchStyle - ottieni la risorsa di errore non trovata - perché?

<item name="android:spinnerStyle">@style/CustomSpinnerAppearance</item> 
<item name="android:textViewStyle">@style/CustomTextViewAppearance</item> 
<item name="android:buttonStyle">@style/CustomButton</item> 

Ora volevo impostare:

<item name="android:switchStyle">@style/CustomSwitch</item> 

e ottengo questo errore.

Nessuna risorsa trovata corrispondente al nome specificato: attr 'android: switchStyle'.

Ho controllato in API-LV 14 e 15 fonte (ICS) il attrs.xml e non c'è:

<attr name="switchStyle" format="reference" /> 

Perché smusso impostare uno stile personalizzato per il widget interruttore, nonostante la Infatti, l'attr è in attrs.xml?

E molto più importante: cosa devo fare per impostare uno stile personalizzato per l'app del widget Switch?

+0

Hai trovato una soluzione. Ho lo stesso problema. My themes.xml e styles.xml (values-v14):

+2

ho creato un problema http://code.google.com/p/android/issues/detail?id=36636&thanks=36636&ts=1345753123 –

risposta

0

provare a eliminare "android:" in @ style/CustomSwitch0. Io credo che si possa utilizzare solo lo spazio dei nomi di Android solo se si è in grado di trovare qui http://developer.android.com/reference/android/R.styleable.html

+0

provato: Nessun cambiamento. – KarlKarlsom

+1

switchStyle è definito solo in Theme.Holo dopo Android OS 3.0. assicurati di ereditare da Theme.Holo e compilarlo con la versione di destinazione corretta. – CChi

+0

L'obiettivo è 14 (4.0). Dopo il tuo commento ho provato anche io 15. Nessun cambiamento. – KarlKarlsom

0

Come per this bug, sembra che non è possibile ereditare.

Tuttavia, come soluzione alternativa, si potrebbe sovrascrivere lo stile esistente (se è solo colori che hai a che fare con) creando le opportune 9-patches etc a http://android-holo-colors.com/