La programmation Android me rend fou. Le XML ou les moyens programmables pour le développement de GUI font un bon petit déjeuner pour les vieux chiens du code - des trucs ici, des trucs là.
Ma frustration actuelle essaie de garder tout XML et je voudrais définir la couleur d'arrière-plan du TextView
la même couleur que la couleur d'arrière-plan d'un Button
sans avoir à spécifier le code de couleur exact . Je voudrais utiliser une constante système, quelque chose comme Java.awt.SystemColor.control
, mais spécifié en XML.
Est-il possible de le faire sans avoir à spécifier de nouveau quelque chose? Je recherche une solution comme: Android:background="{Insert constant here}"
.
Vous pouvez utiliser des choses comme "@ color/white", ou pour Android constantes système, "@Android: color/holo_red_light". Alternativement, si vous voulez plus de contrôle, vous pouvez toujours définir un arrière-plan commun dans un dessinable et définissez l'arrière-plan sur "@ drawable/mydrawable"
Liste des ressources disponibles pour Android: couleur ici (comme background_dark): http://developer.Android.com/reference/Android/R.color.html
Vous devriez avoir un fichier en res/valeurs appelé colours.xml, il devrait ressembler à ceci:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="grey">#7A7A7A</color>
<color name="background">#0044AA</color>
<color name="bluelight">#449DEF</color>
<color name="bluedark">#2F6699</color>
<color name="greenlight">#70C656</color>
<color name="greendark">#53933F</color>
<color name="orangelight">#F3AE1B</color>
<color name="orangedark">#BB6008</color>
<color name="black">#000000</color>
</resources>
Ensuite, vous pouvez simplement appeler la couleur en xml comme ceci:
Android:background="@color/greenlight"
consultez cette page: http://Android-er.blogspot.com/2010/03/using-color-in-Android.html
Vous pouvez utiliser: "@Android: color/white" dans votre xml. J'imagine que quelques autres couleurs communes sont prises en charge, mais je ne sais pas avec certitude lesquelles.
La solution préférée consiste généralement à créer votre propre fichier de ressources colors.xml et à référencer ceux que vous y mettez.
utilisé comme ceci: Android:background="#FF00FF"
Vous n'avez pas besoin d'utiliser un fichier xml pour créer le XML d'une constante,
il peut vous aider: fichier de constantes Java