web-dev-qa-db-fra.com

Android Constantes de couleur du système

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}".

21
zam664

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

25
Joel Martinez

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"
22
Matt Harris

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.

3
FoamyGuy

utilisé comme ceci: Android:background="#FF00FF"

1
Hiren Dabhi

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

0
Franklin Hirata