Tag : Couleurs
[Android] Alterner les couleurs dans une liste
Les listview sur Android sont par défaut assez tristes. Voici un exemple vous permettant d'alterner les couleurs dans votre vue, en utilisant un adapter. Dans l'exemple j'utilise un SimpleAdapter mais vous pouvez évidement reproduire l'effet sur les BaseAdapter, ArrayAdapter et les autres
Voici le résultat
La mise en place est assez simple, vous pouvez télécharger les sources à la fin du billet si jamais vous voulez plus de détail.
Créer une nouvelle classe ListViewAdapter avec le code suivant :
import java.util.HashMap; import java.util.List; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.SimpleAdapter; public class ListViewAdapter extends SimpleAdapter { private int color1 = 0xaaFF5F5F; private int color2 = 0xaa2F67FF; public ListViewAdapter(Context context, List<HashMap<String, String>> items, int resource, String[] from, int[] to) { super(context, items, resource, from, to); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); if(position % 2 == 0) view.setBackgroundColor(color1); else view.setBackgroundColor(color2); return view; } }
Pour l'exemple j'ai mis les couleurs dans le code java, l'idéal étant de les mettrent dans un fichier colors.xml du dossier values pour par exemple changer la couleur en fonction d'un thème.
Il vous suffit ensuite de lier cette adapter à votre ListView en ajout la ligne suivante dans votre Activity :
// A ajouter dans l'Activity list.setAdapter(new ListViewAdapter(this, listContent, R.layout.item, from, to));
Vous pouvez télécharger l'exemple complet à cette adresse et n'hésitez pas en cas de questions !
Conversion Hexa vers RGB en PHP
Une petite fonction qui peut s'avérer bien pratique pour la manipulation des couleurs en php. Je l'utilise généralement avec la librairie GD afin de transformer mes couleurs hexadécimal en RGB (reg, green, blue) pour les couleurs de fond des images.