Cuando definimos listas en Android es muy comun encontrarnos con el problema de que los datos estan un poco desordenados y no se aprecian correctamente como deberian. Es por ello que algunos desarrolladores optan por colocar colores de fondo alternados a la lista para que la informacion se pueda apreciar de mejor manera.
Primero tendremos que definir la lista (ListView) en la interfaz de usuario .xml. Definiremos el archivo prueba.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@color/white">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list_view_prueba"
/>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@color/white">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list_view_prueba"
/>
</LinearLayout>
Ahora en la clase respectiva se procede a instanciar la lista de la siguiente manera:
ListView listaPrueba = (ListView) findById(R.id.list_view_prueba);
Luego dentro del evento onCreate se realiza la colocacion de los colores de fondo de manera alternada:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.prueba);
ListAdapter adaptador1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayItems){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position,convertView,parent);
if (position %2 == 1) {
view.setBackgroundColor(Color.parseColor("#26CCCCCC"));
} else {
view.setBackgroundColor(Color.parseColor("#00FFFFFF"));
}
return view;
}
};
listaPrueba.setAdapter(adaptador1);
}
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.prueba);
ListAdapter adaptador1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayItems){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position,convertView,parent);
if (position %2 == 1) {
view.setBackgroundColor(Color.parseColor("#26CCCCCC"));
} else {
view.setBackgroundColor(Color.parseColor("#00FFFFFF"));
}
return view;
}
};
listaPrueba.setAdapter(adaptador1);
}
donde:
arrayItems es el array de elementos que estaran en la lista, por ejemplo:
String[] arrayItems = new String[]{"item1", "item2", "item3", "item4", "item5"};
Una vez realizado todo el proceso tendremos una lista con colores de fondo alternados para una mejor visualizacion de la informacion.
No hay comentarios.:
Publicar un comentario