2010-12-06 26 views
11

Duplicar posible:
How to change color of ListView items on focus and on clickcómo cambiar el color del elemento de la lista de Android al hacer clic o en la selección?

amigos,

quiero cambiar de color en elemento de la lista androide clic me guíe cualquiera que atribuyen debo usar para conseguir esta funcionalidad ?

En realidad, cuando el usuario hace clic en el elemento de la lista, ¿no sabe si se hizo clic o no?

aquí está mi código.

<ListView android:id="@+id/android:list" android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:drawSelectorOnTop="false" 
     android:layout_below="@+id/Tablayoutdesign" 
     android:cacheColorHint="#000000" 
     android:dividerHeight="1dip" 
     android:layout_marginTop="63dip" 
     android:layout_marginBottom="40dip" 
     /> 
+0

lo he editado, mi respuesta, por favor refiérete –

+0

hola Umar también estoy enfrentando el mismo problema que tu ... cómo te superaste de este problema ¿me compartirías? Pls – SRam

Respuesta

27

Paso 1: Introduzca el atributo android: listSelector en su ListView como se muestra a continuación.

<ListView android:id="@+id/android:list" android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/Tablayoutdesign" 
     android:cacheColorHint="#000000" 
     android:dividerHeight="1dip" 
     android:layout_marginTop="63dip" 
     android:layout_marginBottom="40dip" 

     /> 

Paso 2: Crear un nuevo XML denominado listselector y poner el siguiente código en que

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <!-- Selected --> 
    <item 
    android:state_focused="true" 
    android:state_selected="false" 
    android:drawable="@drawable/focused"/> 

    <!-- Pressed --> 
    <item 
    android:state_selected="true" 
    android:state_focused="false" 
    android:drawable="@drawable/selected" /> 

</selector> 

Paso 3: Crear un archivo llamado colors.xml añadir el siguiente código en el archivo

<resources> 
    <drawable name="focused">#ff5500</drawable> 
    <drawable name="selected">#FF00FF</drawable> 
</resources> 

Añadir esta línea en el código java

ListView lv= (ListView) findViewById(R.id.list); 
lv.setSelector(R.drawable.listselector); 
+0

@UMMA: ¿Tu problema está resuelto? llegó a su destino? –

+0

@UMMA: por favor, diles, ¿qué error obtuviste ?, ¿puedes volver a utilizarlo? He confundido ese android: drawable = "android: drawable = @ dibujable/enfocado", ahora he editado, pls verifica la respuesta editada –

+0

en foco comportarse aquí como cacheHintColor.pressed no funciona ... sin cambio de color al presionar :( – UMAR

Cuestiones relacionadas