Cómo configurar el color de resaltado para el elemento ListView?
Tengo que hacer otro color del punto culminante para el artículo de ListView. Utilizo el adaptador de encargo para los artículos, y tengo código siguiente:
Diseño:
- Elementos de recyclerview confundidos
- Conversión de una cadena en un entero en Android
- Cómo probar la actualización de la base de datos sqlite antes de cargar la nueva versión de mi aplicación en la tienda de juegos en android
- MainActivity.this no es una clase inclusiva AsyncTask
- ActivityNotFoundException al llamar a Intent.ACTION_CALL
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" android:weightSum="1.0" android:orientation="vertical" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_weight="0.13" android:background="@drawable/booklist_header" android:orientation="horizontal" android:layout_height="0dp" > <ImageView android:id="@+id/imageViewBookListBack" android:layout_width="wrap_content" android:layout_gravity="center" android:layout_height="wrap_content" android:src="@drawable/back_button" /> </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_weight="0.77" android:layout_height="0dp" > <ListView android:id="@+id/listViewCurrentList" android:listSelector="@drawable/selector" android:layout_width="fill_parent" android:layout_height="fill_parent"> </ListView> </LinearLayout> <LinearLayout android:id="@+id/linearLayoutBooklistAdwhirl" android:layout_width="fill_parent" android:layout_weight="0.1" android:layout_height="0dp" > </LinearLayout> </LinearLayout>
Código para el diseño del artículo:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFFF" android:orientation="horizontal" > <ImageView android:id="@+id/imageViewBookListItemImage" android:layout_width="120dp" android:layout_marginTop="15dp" android:layout_height="120dp" /> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="135dp" android:layout_marginTop="15dp" android:orientation="vertical" > <TextView android:id="@+id/textViewBookListItemTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Medium Text" android:textColor="#000000" android:textStyle="bold" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/textViewBookListItemAuthor" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Medium Text" android:textColor="#000000" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> </LinearLayout>
Código para el selector:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@color/green" /> <!-- focused --> <item android:state_focused="true" android:state_pressed="true" android:drawable="@color/green" /> <!-- focused and pressed--> <item android:state_pressed="true" android:drawable="@color/green" /> <!-- pressed --> <item android:drawable="@color/green" /> <!-- default --> </selector>
Código para color.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="green">#006400</color> <color name="white">#FFFFFF</color> </resources>
Pero tengo un problema: el elemento ListView no cambia de color por clic! Tiene color blanco siempre. ¿Dónde he cometido un error?
- Certificado de fijación en Android con Robospice
- Declare la variable final, pero establezca después
- ¿Cómo inflar un diseño dinámicamente?
- Voltear la imagen almacenada como una matriz de bytes
- Creación de LinearLayout en Java - Los elementos no se muestran
- La forma más fácil de dar formato a cadena como 1 000 000
- Shrink Debug Multi Dex Component; No se puede leer dir / allclasses.jar
- ¿Cómo configurar la dependencia de Maven para Guice 3.0 para uso sin AOP?
Así es como lo haces:
Primero, en su ListView
, ponga lo siguiente:
android:listSelector="#00000000"
Esto hace que su listSelector (el color que normalmente se ve al hacer clic en la vista de lista) sea transparente.
A continuación, establezca el LinearLayout
de la disposición del artículo en esto:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/selector" android:orientation="horizontal" >
Tuve el mismo problema hace unos días y me tomó años para averiguar esto. Esperemos que funcione para usted!
Puede intentar agregar esto: android: drawSelectorOnTop = "true" a la definición de ListView.
¡Espero que esto te ayudará!
PS Puedes optimizar tu diseño principal y eliminar los diseños innecesarios. Puede usar layoutopt para esto.
- Ejemplo de presentación de imágenes en android?
- Error de Genymotion después de la actualización de Windows 10