web-dev-qa-db-fra.com

Android - Comment définir la couleur de fond de tous les écrans?

Quelle est la meilleure pratique pour conserver les styles de polices et de couleurs. J'ai créé un fichier colors.xml que j'ai utilisé pour changer les couleurs d'éléments séparés, tels que des boutons, mais je ne sais pas comment Android veut que les développeurs organisent leurs styles.

Par exemple, j'aimerais que tous les écrans aient la même couleur d'arrière-plan. Comment je fais ça? Est-ce quelque chose que je dois spécifier pour chaque mise en page d'activité XML? Ou ailleurs? Comment puis-je l'accomplir?

67
GeekedOut

Un moyen simple et rapide de vous assurer que chaque activité a la même couleur d’arrière-plan est de créer un thème que vos activités pourront utiliser. Ce thème spécifierait Android: windowBackground.

Définissez d’abord la couleur dans values ​​/ colors.xml

<resources>
    <color name="background">#FF0000 </color>
</resources>

Créez un fichier themes.xml dans res/values ​​qui référence cette couleur:

<resources>
 <style name="MyTheme" parent="@Android:style/Theme.Light"> 
  <item name="Android:windowBackground">@color/background</item>
 </style>
</resources>

... puis dans votre AndroidManifest.xml, spécifiez-le comme thème de vos activités.

 <activity
        Android:name=".MyActivity"
        Android:theme="@style/MyTheme" />
173
NPike

Mettez à jour votre Android studio vers la version 1.4, il possède un éditeur de thème intégré. Comme vous pouvez le voir dans l'image ci-dessous

enter image description here

20
kundan roy

Vous pouvez également définir l'arrière-plan au niveau de l'application dans AndroidManifest.xml

<application
   ...
   Android:theme="@style/MyTheme">

(Remarque: je ne peux pas en parler en tant que commentaire de la réponse acceptée car ma réputation est trop basse).

8
chris