Cambiar el color de fondo del elemento ListView Item pero mantener el estilo de selector predeterminado?
Estoy intentando programar un color de fondo personalizado en mi adaptador de ListView, pero quiero mantener el estilo predeterminado de Selector de ListView de Android.
Estoy fijando el color de fondo usando el método de "SetBacgroundResource" de mi opinión del artículo.
- Cómo cambiar la fuente de título ActionBar cuando se utiliza AppCompat
- Las pestañas de menú no responden
- Las letras se reemplazan por bloques en la actividad de Android
- ¿Cómo añadir dinámicamente contenido a un diseño lineal?
- Establecer el enfoque de pulgar y presionado de forma programable mediante drawbar personalizado
Estoy usando Android 4.0 y he probado el ejemplo de este blog http://daniel-codes.blogspot.co.nz/2010/07/how-to-change-listview-rows-background.html pero usando este ejemplo el selector Muestra sin embargo el color de fondo no seleccionado no se muestra.
¿Cómo puedo lograr esto en Android 4.0 ICS?
EDIT: Aquí está el recurso que estoy utilizando para el fondo del artículo de la lista drawable.
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_window_focused="false" android:state_selected="true" android:drawable="@android:color/transparent" /> <item android:state_selected="true" android:drawable="@android:color/transparent" /> <item android:state_pressed="true" android:state_selected="false" android:drawable="@android:color/transparent" /> <item android:state_selected="false" android:drawable="@color/list_item_first" /> </selector>
El código que estoy usando para establecer este fondo es dibujable dentro del método GetView de mi adatapter. El código es:
convertView.setBackgroundResrouce(R.drawable.list_item_dark);
- Layout_width y layout_height no se está aplicando a edittext desde el tema
- Min height fill_parent y height wrap_content en ScrollView? (O simplemente la aplicación de correo electrónico componen el código del diseño)
- ¿Cómo manejar clics / toques en componentes personalizados repetidos?
- Actividad del botón con viewPager?
- La aplicación se bloquea al arrancar en la API de Android 10 pero no en la API 16 debido a los recursos $ NotFoundException
- Los márgenes no funcionan
- Cómo agregar múltiples textview con imageview en edittext en android
- ¿Cómo puedo reducir el relleno alrededor del texto en el diseño xml de Android?
¿Has intentado establecer la propiedad android: drawSelectorOnTop de tu ListView
a true?
Podrá establecer un fondo para su elemento y ver el elemento resaltado cuando se presiona.
Trate de escribir su adaptador personalizado y establecer rowView BackgroundColor como ese (si la posición de número impar, negro, incluso ROJO). También puede enviar una lista de colores al adaptador y establecer un color diferente para cada filaView
public View getView(int position, View convertView, ViewGroup parent) { View rowView = convertView; enter code here if(rowView == null) { if((position % 2)==1){ rowView.setBackgroundColor(Color.BLACK) //colorList :setBackgroundColor( colorList.get(position) ) } else{ rowView.setBackgroundColor(Color.RED) } } return rowView; }
Intente esto:
En el diseño de filas, establezca las propiedades de fondo para
android:background="@drawable/your_selector"
Y tu listView
android:listSelector="@drawable/your_selector"
Intente aplicar este estilo a su ListView:
<style name="List"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">fill_parent</item> <item name="android:background">#FFFFFF</item> <item name="android:dividerHeight">1dp</item> <item name="android:divider">#CCCCCC</item> <item name="android:cacheColorHint">#FFFFFF</item> <item name="android:listSelector">#00000000</item> </style>
Y en su diseño xml esto:
<ListView android:id="@+id/listView" style="@style/List" android:paddingTop="1dp"/>
- Android + XAMARIN + Force para permanecer en modo "Retrato" (usando AndroidManifest)
- AnimatedVectorDrawable no anima