2013-08-03 44 views
21

Làm cách nào để đặt màu nền của ứng dụng Android của tôi. Khi tôi thử:đặt màu nền: Android

LinearLayout li=(LinearLayout)findViewById(R.id.myLayout); 
li.setBackgroundColor(Color.parseColor("#rrggbb")); 

Ứng dụng của tôi luôn bị treo. Ai đó có thể giúp tôi không. Cảm ơn

+0

lý do khiến sự cố xảy ra? logcat nói gì? Tôi tin rằng đó là do một cái gì đó khác, ví dụ như, bạn có thiết lập một bố trí để hoạt động của bạn bằng cách sử dụng 'setContentView' phương pháp? –

+1

Bạn có thực sự sử dụng 'Color.parseColor (" # rrggbb ")'? Bạn nên sử dụng hex ở đó –

Trả lời

38
Color.parseColor("#rrggbb") 

thay vì #rrggbb bạn nên sử dụng các giá trị hex từ 0 đến F cho rr, gg và bb:

ví dụ Color.parseColor("#000000") hoặc Color.parseColor("#FFFFFF")

Source

Từ tài liệu:

public static int parseColor (String colorString):

Phân tích các chuỗi màu sắc, và trả lại màu int tương ứng. Nếu không thể phân tích cú pháp chuỗi , hãy ném ngoại lệ IllegalArgumentException. Định dạng được hỗ trợ là: #RRGGBB #AARRGGBB 'đỏ', 'xanh', 'xanh', 'đen', 'trắng', 'xám', 'lục lam', 'đỏ tươi', 'vàng', 'lightgray', 'darkgray', 'gray', 'lightgrey', 'darkgrey', 'aqua', 'fuschia', 'vôi', 'maroon', 'hải quân', 'ôliu', 'màu tím', 'bạc', 'teal'

Vì vậy, tôi tin rằng nếu bạn đang sử dụng #rrggbb bạn đang nhận được IllegalArgumentException trong logcat của bạn

Source

Alternative:

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

Source

6

Hãy thử điều này:

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

EDIT: viết bài tập logcat cũng sẽ giúp đỡ.

+0

mainLayout.setBackgroundColor (getResources(). GetColor (android.R.color.black)); – fullMoon

13

Câu hỏi này là một cũ một nhưng nó có thể giúp cho những người khác quá.

Hãy thử điều này:

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

Bằng cách này, một mẹo tốt trên một cách nhanh chóng lựa chọn màu sắc trên các phiên bản mới hơn của AS chỉ đơn giản là gõ #fff và sau đó sử dụng bảng chọn màu ở phía bên của mã để chọn cái bạn muốn. Nhanh chóng và dễ dàng hơn việc ghi nhớ tất cả các hệ thập lục phân màu. Ví dụ:

android:background="#fff" 
Các vấn đề liên quan