I want to be able to change the background color to white in my android app in the simplest way possible.
20 Answers
You need to use the android:background property , eg
android:background="@color/white"
Also you need to add a value for white in the strings.xml
<color name="white">#FFFFFF</color>
Edit : 18th Nov 2012
The first two letters of an 8 letter color code provide the alpha value, if you are using the html 6 letter color notation the color is opaque.
Eg :

- 12,212
- 6
- 31
- 47
-
@Jonny the first two letters provide the alpha value. – Ravi Vyas Nov 18 '12 at 12:18
-
Thank you, but isn't it easier just to use the hex value? – the_prole Jun 21 '14 at 09:31
-
it would be very easy, but bad practice :) – Ravi Vyas Jun 23 '14 at 05:28
-
4It is even easier to use `android:background="@android:color/white"` which is predefined and doesn't require you to add anything to strings.xml. – Greg Hewgill Jul 01 '14 at 07:09
-
1Could you add the location `/res/layout/activity_main.xml` for adding the element `android:background` to the answer? – 030 Jul 17 '14 at 18:30
-
Just to clarify a bit. Giving the top-level layout element a margin will always show black in the margin. This answer shows how to set the background of the screen itself http://stackoverflow.com/questions/10156816/android-how-to-set-background-color-of-all-screens – Martin Westin Jan 19 '17 at 13:38
You can also use
android:background="#ffffff"
in your xml layout or /res/layout/activity_main.xml
, or you can change the theme in your AndroidManifest.xml by adding
android:theme="@android:style/Theme.Light"
to your activity tag.
If you want to change the background dynamically, use
YourView.setBackgroundColor(Color.argb(255, 255, 255, 255));
-
This is the right answer because it has themes, I believe. A one-liner is NOT the simplest way, but a way to spread an entire style to everything is. Styles are how you achieve one-line with even complex changes. Also, styles work on preferences, unlike general attributes. (although still with a few oddities) – Stephen J Mar 24 '17 at 14:39
Simplest way
android:background="@android:color/white"
No need to define anything. It uses predefined colors in android.R
.

- 11,929
- 9
- 52
- 82
-
7and programmatically: `context.getResources().getColor(android.R.color.white)` – Paschalis Jul 25 '13 at 22:30
-
1thanks, that was actually what I was looking for. In my case I have to do it in Java. – Armfoot Aug 30 '14 at 14:16
To change the background color in the simplest way possible programmatically (exclusively - no XML changes):
LinearLayout bgElement = (LinearLayout) findViewById(R.id.container);
bgElement.setBackgroundColor(Color.WHITE);
Only requirement is that your "base" element in the activity_whatever.xml has an id which you can reference in Java (container
in this case):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
...
</LinearLayout>
Paschalis and James, who replied here, kind of lead me to this solution, after checking out the various possibilities in How to set the text color of TextView in code?.
Hope it helps someone!
The simplest way is to add android:background="#FFFFFF"
to the main node in the layout.xml or /res/layout/activity_main.xml
:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:textSize="20sp"
android:background="#FFFFFF">
</TextView>
-
This is not a good idea, because it will result in unnecessary GPU overdraw (first, the window background will be drawn and then the TextView's background on top of it). See: http://www.curious-creature.com/docs/android-performance-case-study-1.html – Miloš Černilovský Jun 29 '15 at 06:28
This method worked for me:
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.layout.rootLayout);
relativeLayout.setBackgroundColor(getResources().getColor(R.color.bg_color_2));
Set id in layout xml
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rootLayout"
android:background="@color/background_color"
Add color values/color.xml
<color name="bg_color_2">#ffeef7f0</color>

- 8,406
- 10
- 51
- 76

- 1,323
- 22
- 23
The best way using background with gradient as it does not increase app size of your app images are poison for android app so try to use it less instead of using one color as a background you can use multiple colors in one background.

- 1,433
- 16
- 26
You can try this in xml
sheet:
android:background="@color/background_color"

- 3,747
- 4
- 27
- 53

- 41
- 2
In Layout,to change background use this.
android:background="@color/your_color"
In Program can be use this. For eg: Texview background color
TextView tvName = (TextView) findViewById(R.id.tvName);
tvName.setBackgroundColor(getResources().getColor(R.color.your_color));

- 1,503
- 3
- 22
- 28

- 29
- 3
- go to Activity_Main.xml
- there are design view / and text view .
- choose Text view
write this code up:
android:background="@color/colorAccent"

- 7,507
- 10
- 46
- 58

- 31
- 1
This code can be useful for you:
android:background="#fff"

- 4,042
- 2
- 20
- 41

- 21
- 1
I want to be able to change the background color to white in my android app in the simplest way possible.
The question says Simplest Way, so here it is.
Set parentViewStyle
in all your parent views. Like most parent view of your activity, fragment and dialogs.
<LinearLayout style="@style/parentViewStyle">
... other components inside
</LinearLayout>
Just put this style inside res>values>styles.xml
<style name="parentViewStyle">
<item name="android:layout_height">match_parent</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">@color/white</item> // set your color here.
<item name="android:orientation">vertical</item>
</style>
By this way, you don't have to change background color many times in future.

- 1
- 1

- 57,232
- 27
- 203
- 212
You can use simple color resources, specified usually inside
res/values/colors.xml.
use
<color name="red">#ffff0000</color>
and use this via android:background="@color/red"
. This color can be used anywhere else too, e.g. as a text color. Reference it in XML the same way, or get it in code via
getResources().getColor(R.color.red).
You can also use any drawable resource as a background, use android:background="@drawable/mydrawable"
for this (that means 9patch drawables, normal bitmaps, shape drawables, ..).

- 6,548
- 8
- 42
- 69

- 11
- 1
Some times , the text has the same color that background, try with android:background="#CCCCCC" into listview properties and you will can see that.

- 11
- 1
android:background="#64B5F6"
You can change the value after '#' according to your own specification or need depending on how you want to use them.
Here is a sample code:
<TextView
android:text="Abir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:background="#D4E157" />
Thank you :)

- 397
- 3
- 10
For Kotlin and not only, when you write
@color/
you can choose whatever you want, fast and simply:
android:background="@color/md_blue_900"

- 34,887
- 11
- 106
- 133
Another way, go to layout -> your .xml file -> design view .Then go component tree and select layout you want to change color . In below component tree there is properties section .Select background in the properties section (In picture section 1). Then click section 2 in picture . Then Resources window will be open .From that select color menu .Then choose color you want .enter image description here

- 89
- 2
- 5
If you would like to add background color to the entire activity
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1de9b6"
tools:context="com.example.abc.myapplication.MainActivity">
</RelativeLayout>
If you would like to use background for a view
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Andrios"
android:background="@color/colorAccent" />
Hope this helps!

- 1
- 2
change_color.setBackground(getDrawable(R.color.purple_700));
This approach worked for when I tried changing colors on click.

- 21
- 4