Android Colores alternativos en ListView
public class ListView extends ListActivity { static String item; public void onCreate(Bundle icicle) { super.onCreate(icicle); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Str.S); setListAdapter(adapter); }
Esta es mi clase de vista de lista que funciona bien y toma las cadenas de una clase llamada Str y mostrarlos en un listview, el problema es que el estilo listview no es agradable, es negro con las cadenas en blanco.
Quiero que sean alternativos cada fila tiene un color.
- Android EditText dentro de ListView?
- ¿Cómo puedo saltar a un elemento de una vista de lista en android?
- Elemento expandible en la lista de Android
- Cómo obtener datos de MySQL con dos fechas diferentes en android y mostrar en Multi Column ListView
- ListView con OnItemClickListener android
He intentado muchos tutoriales pero ninguno era lo suficientemente claro .. ¿Cómo puedo hacer el color alternativo para cada fila .. ex. Row1 Azul, fila 2 Blanco, fila 3 Azul, fila 4 Blanco, etc.
- ListView inside SwipeRefreshLayout inside Gaveta (Layout): no bloquea la dirección de desplazamiento
- Diferencia entre RowId y Position en el parámetro onItemLongClick
- Fije el foco en cualquier artículo de listview en android
- Android ListView: texto predeterminado cuando no hay elementos
- Error con mi lista, ScrollView y botones
- android usando setlistadapter () sin extender listactivity
- Android change listview item color del texto
- Tratando de filtrar un ListView con runQueryOnBackgroundThread pero no pasa nada - ¿qué me falta?
Aquí es cómo hacerlo.
Mi código de ejemplo se da aquí en breve:
getView
método getView
en tu adaptador:
@Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); if (position % 2 == 1) { view.setBackgroundColor(Color.BLUE); } else { view.setBackgroundColor(Color.CYAN); } return view; }
Anular ArrayAdapter
y anular el método getView allí.
Así que si su adaptador es algo como esto:
public class MyAdapter extends ArrayAdapter
Tu ListActivity
cambiará de esta manera:
ArrayAdapter<String> adapter = new MyAdapter<String>(this, android.R.layout.simple_list_item_1, Str.S);
A continuación se muestra un ejemplo sobre la sustitución de ArrayAdapter.
if (position % 2 == 0) { rowView.setBackgroundColor(Color.parseColor("#A4A4A4")); } else { rowView.setBackgroundColor(Color.parseColor("#FFBF00")); }
El color de fondo para una fila listview personalizada se puede establecer con
row.setBackgroundResource(R.color.list_bg_2)
En el adaptador de listview personalizado en
getView(int position, View convertView, ViewGroup parent)
He intentado muchas cosas como row.setBackgroundColor(0xFF00DD)
pero no podría conseguirlo hecho,
Aquí list_bg_2 es un conjunto de colores res / values / color.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="list_bg_1">#ffffff</color> <color name="list_bg_2">#fef2e8</color> </resources>
- Sugerencias de diseño de material para listas con avatar, texto e icono
- Configuración del color del encabezado de la aplicación en la vista general (aplicaciones recientes)