L'objet de ce billet n'est pas la discussion du bien-fondé du rouge (agressif) mais d'approcher un choix de couleur initial vers un aspect plus Holo.
Les tons Holo
Quel rouge choisir pour rester dans une tonalité Holo ? Si l'on se réfère à la documentation Android nous avons holo_red_light et holo_red_dark à notre disposition. On peut également se référer aux guidelines IceCream Sandwich et choisir une tonalité dans la palette du rouge.Le premier ton de la bandelette rouge (#ffe4e4) semble être taillée pour un thème Holo clair. Comme j'ai choisi le thème Holo sombre, je choisi le contraste #ff4444/#cc0000 pour faire mon dégradé. Ces valeurs correspondent à holo_red_light/holo_red_dark.
Application aux terminaux Holo
Comme vu dans le précédent article, appliquer ce choix à tout le projet est un non sens. La branche 2.x ne préconise aucun rouge et de mon expérience #ff0000 est souvent utilisé dans les applications phares.Sachant que les couleurs holo_* n'apparaissent qu'à partir de l'API 14 MAIS que le look Holo est défini depuis l'API 11 je vais utiliser les valeurs numériques plutôt que les constantes.
Cas du message d'erreur No SMS
Le texte "Aucun SMS..." est un TextView avec comme background item_confirmed.xml. D'après les guidelines (et comme AndroidLint vous l'aura rappelé) les drawables XML, dont mes gradients, sont dans res/drawable.
Je procède donc au clonage de drawable en drawable-v11 et je modifie drawable-v11/item_confirmed.xml comme suit :
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#F1847B" android:endColor="#F12C1C" android:angle="270.0" /> (...) </shape>en
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#ff4444" android:endColor="#cc0000" android:angle="270.0" /> (...) </shape>Pour une question de best-practices drawable-v14/item_confirmed.xml serait :
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="@android/color.holo_red_light" android:endColor="@android/color.holo_red_dark" android:angle="270.0" /> (...) </shape>
Aucun commentaire:
Enregistrer un commentaire