Comment puis-je enregistrer les valeurs de couleur dans array.xml et les récupérer dans mon code en tant que tableau Color [] ?
Merci d'avance !
Comment puis-je enregistrer les valeurs de couleur dans array.xml et les récupérer dans mon code en tant que tableau Color [] ?
Merci d'avance !
Définissez vos ressources de couleur, puis ajoutez-les à un tableau pour y accéder.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="bright_pink">#FF007F</color>
<color name="red">#FF0000</color>
<color name="orange">#FF7F00</color>
<color name="yellow">#FFFF00</color>
<color name="chartreuse">#7FFF00</color>
<color name="green">#00FF00</color>
<color name="spring_green">#00FF7F</color>
<color name="cyan">#00FFFF</color>
<color name="azure">#007FFF</color>
<color name="blue">#0000FF</color>
<color name="violet">#7F00FF</color>
<color name="magenta">#FF00FF</color>
<array name="rainbow">
<item>@color/bright_pink</item>
<item>@color/red</item>
<item>@color/orange</item>
<item>@color/yellow</item>
<item>@color/chartreuse</item>
<item>@color/green</item>
<item>@color/spring_green</item>
<item>@color/cyan</item>
<item>@color/azure</item>
<item>@color/blue</item>
<item>@color/violet</item>
<item>@color/magenta</item>
</array>
</resources>
Ensuite, accédez-y comme ceci :
int[] rainbow = context.getResources().getIntArray(R.array.rainbow);
for (int i = 0; i < tileColumns; i++) {
paint.setColor(rainbow[i]);
// Do something with the paint.
}
S'il se trouve dans array.xml :
<resources>
<array name="colors">
<item>#ffffff</item>
<item>#000000</item>
</array>
</resources>
Cela vous donnera les valeurs de couleur pour ce tableau :
TypedArray ta = context.getResources().obtainTypedArray(R.array.colors);
int[] colors = new int[ta.length()];
for (int i = 0; i < ta.length(); i++) {
colors[i] = ta.getColor(i, 0);
}
ta.recycle();
Cela développe simplement l'exemple TypedArray dans la documentation : http://developer.android.com/guide/topics/resources/more-resources.html#TypedArray
J'espère que ça aide!
couleurs.xml
<resources>
<string-array name="colors">
<item>#ff0000</item>
<item>#00ff00</item>
<item>#0000ff</item>
</string-array>
</resources>
Code en classe d'activité.
String[] allColors = context.getResources().getStringArray(R.array.colors);
Color.parseColor(allColors[0]) // red
Color.parseColor(allColors[1]) // green
Color.parseColor(allColors[2]) // blue
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.