2010-03-02 16 views

Respuesta

5

¿Cómo está utilizando exactamente la propiedad state_enabled?
¡Es una propiedad de solo lectura para comprobar si la vista está habilitada, no para establecer la vista como habilitada/deshabilitada! Por favor, compruebe http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html

A modo de ejemplo, estoy usando el siguiente código que funciona desde Android 1.5, compruebe si funciona para usted:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
   <item android:state_enabled="false" android:drawable="@drawable/image_disabled" /> 
   <item android:drawable="@drawable/image_enabled" /> 
</selector> 
+0

Esto no funciona en 2.1. "state_enabled" no existe en absoluto en el XML. Simplemente "habilitado" hace sin embargo. – Monstieur

+0

¿Qué quieres decir con que no existe? Creo que eclipse no se autocompleta/lista, pero sí existe. ¿Has probado el código mencionado anteriormente? Verá que si usa el selector que publiqué, la vista dibujable cambiará cuando el estado de la vista cambie de habilitado a deshabilitado – pandre

+0

No estoy frente al entorno en este momento, pero no compilaría en absoluto un error XML – Monstieur

0

androide: state_enabled se introdujo en el nivel de la API 14. Si utiliza la API < el androide 14: state_enabled no va a funcionar; link

+1

Creo que eso no es verdad. android: state_activated se ha introducido en API 11 y android: state_hovered se ha introducido en API 14, pero android: state_enabled está ahí desde API 1. – BladeCoder