How to set background color for android layout pragmatically using java and through xml


Every Android Activity class file has an associated layout.xml file to design the view. Every layout file has a parent View i.e. RelativeLayout, LinearLayout, TableLayout, TableRow, GridLayout e.t.c. that holds the subviews like Buttons, TextView, EditText, ImageView e.t.c together.

Let's see how we can set background color's to these Layouts with various options that we have,

How to set Background Color to Android Layout XML file!

  1. Using xml attributes

    android:background="" is the attribute used to set background for any Layout file.

    You can directly specify the value as HEX color code as we do for CSS files in HTML.

    Example 1 : android:background="#FFFFCC"

    You can also add transparency to the color by adding 2 more hex numbers after the # (hash) symbol.

    Example 2 : android:background="#FFFFFFCC"

    Example 3 : android:background="#00FFFFCC"

    FF => Completely Opaque and 00 => Completely transparent.

    You can also assign a color from color.xml resource file using @color/color

    Example 4 : android:background="@color/lime_yellow"

    File : res/values/color.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="lime_yellow">#FFFFEE</color>
         <color name="gray">#CCCCCC</color>
    </resources>
  2. Programmatically using Java code.

    There are situations when you may want to change the background color of a layout using java code in your Activity.java file, then you can do it by using setBackgroundColor() method on your layout.

    To your Parent View Layout add an attribute @id/id_name and map it to a variable in your java file.

    Example 1: currentLayout.setBackgroundColor(Color.RED);

    public class ColorActivityExample extends ActionBarActivity {
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_color_activity_example);
    		
                    //Set an id to the layout
    		RelativeLayout currentLayout = 
                            (RelativeLayout) findViewById(R.id.main_layout);
    		
    
    		currentLayout.setBackgroundColor(Color.RED);
    		
          
    	}
    

    Options for color available in Color class :

    BLACK
    BLUE
    CYAN
    DKGRAY
    GRAY
    GREEN
    LTGRAY
    MAGENTA
    RED
    TRANSPARENT
    WHITE
    YELLOW

    You can set rgb color code using method : Color.rgb(int red,int green,int blue);

    Example 2 : currentLayout.setBackgroundColor(Color.rgb(200, 200, 200));

    We can add Alpha to color as we do use XML attribute in java using the function : argb(int alpha, int red, int green, int blue);

    Example 3 : currentLayout.setBackgroundColor(Color.argb(10,200, 200, 200));

    If you wish to set the color code as HEX value you can do it using method Color.parseColor(String color);

    Example 4 : currentLayout.setBackgroundColor(Color.parseColor("#FFFFFF"));

Android Background Color Examples
Android Background Color Examples



Recent Posts:




Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and Software Developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include Learnings, Video Tutorials, Code Snippets, How Tos, Blogs, Articles, etc.