set background color: Android

前端 未结 4 546
旧时难觅i
旧时难觅i 2020-12-29 02:22

How Do I set the background color of my android app. When I try:

LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parse         


        
相关标签:
4条回答
  • 2020-12-29 02:38

    Try this:

    li.setBackgroundColor(android.R.color.red); //or which ever color do you want
    

    EDIT: Posting logcat file would also help.

    0 讨论(0)
  • 2020-12-29 02:42
    Color.parseColor("#rrggbb")
    

    instead of #rrggbb you should be using hex values 0 to F for rr, gg and bb:

    e.g. Color.parseColor("#000000") or Color.parseColor("#FFFFFF")

    Source

    From documentation:

    public static int parseColor (String colorString):

    Parse the color string, and return the corresponding color-int. If the string cannot be parsed, throws an IllegalArgumentException exception. Supported formats are: #RRGGBB #AARRGGBB 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow', 'lightgray', 'darkgray', 'grey', 'lightgrey', 'darkgrey', 'aqua', 'fuschia', 'lime', 'maroon', 'navy', 'olive', 'purple', 'silver', 'teal'

    So I believe that if you are using #rrggbb you are getting IllegalArgumentException in your logcat

    Source

    Alternative:

    Color mColor = new Color();
    mColor.red(redvalue);
    mColor.green(greenvalue);
    mColor.blue(bluevalue);
    li.setBackgroundColor(mColor);
    

    Source

    0 讨论(0)
  • 2020-12-29 02:49

    By the way, a good tip on quickly selecting color on the newer versions of AS is simply to type #fff and then using the color picker on the side of the code to choose the one you want. Quick and easier than remembering all the color hexadecimals. For example:

    android:background="#fff"
    
    0 讨论(0)
  • 2020-12-29 02:54

    This question is a old one but it can help for others too.

    Try this :

        li.setBackgroundColor(getResources().getColor(R.color.blue));
    
        or
    
        li.setBackgroundColor(getResources().getColor(android.R.color.red));
    
        or
    
        li.setBackgroundColor(Color.rgb(226, 11, 11));
    
    
        or
        li.setBackgroundColor(Color.RED)
    
    0 讨论(0)
提交回复
热议问题