Android - how to set background color of all screens?

AndroidAndroid Layout

Android Problem Overview


What is the best practice to maintain styles of fonts and colors. I made a colors.xml file which I have used to change colors on seperate elements like buttons, but I am not sure how Android wants developers to organize their styles.

For example, I would like all screens to have the same background color. How do I do that? Is it something I need to specify for each Activity layout xml? Or elsewhere? How do I accomplish it?

Android Solutions


Solution 1 - Android

A quick and easy way to make sure every activity has the same background color, is to create a theme for your activities to use. That theme would specify the android:windowBackground.

First define the color in values/colors.xml

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

Create a themes.xml file in res/values that references that color:

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

... and then in your AndroidManifest.xml specify this as the theme for your activities to use.

 <activity
        android:name=".MyActivity"
        android:theme="@style/MyTheme" />

Solution 2 - Android

Update your android studio to 1.4 it has inbuilt theme editor. as you can see in below image

enter image description here

Solution 3 - Android

You can also set the background at the application level in AndroidManifest.xml

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

(Note: I cannot this as a comment of the accepted answer as my reputation is too low).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionGeekedOutView Question on Stackoverflow
Solution 1 - AndroidNPikeView Answer on Stackoverflow
Solution 2 - Androidkundan royView Answer on Stackoverflow
Solution 3 - AndroidchrisView Answer on Stackoverflow