2011-11-11 78 views
7

Tôi có chế độ xem văn bản sau đây trong Hoạt động của tôi. Tôi muốn thay đổi màu nền của textview động.Android: Tự động thay đổi màu nền của TextView

Vấn đề của tôi là tôi không muốn lấy các màu từ tệp Resouce hoặc các phương thức color.RED khác. Tôi nhận được màu sắc từ webservie trong chế độ websafe (ví dụ #FFF, # 000 vv).

Làm cách nào để chuyển các màu này làm nền cho TextView. Cảm ơn trước cho thời gian của bạn.

<TextView 
       android:id="@+id/colorCode" 
       android:layout_width="40dp" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentTop="true" android:background="#FF0000" android:layout_marginRight="5dp"/> 

Trả lời

26

Dưới đây là đoạn mã có thể giúp bạn nơi txtChannelName là một đối tượng của TextView

txtChannelName.setBackgroundColor(Color.RED); 

hoặc

txtChannelName.setBackgroundColor(Color.parseColor("#ffffff")); 
+1

Cảm ơn, nhưng tôi đã biết về phương pháp này. Tôi đã đề cập trong câu hỏi của tôi quá về màu sắc này từ tập tin Resouce hoặc màu sắc khác.RED phương pháp // Tôi muốn biết liệu tôi có thể vượt qua #FFF như đầu vào cho màu nền của một textview ??. –

+0

cập nhật kiểm tra câu trả lời rằng – ingsaurabh

+0

cảm ơn nó hoạt động :) –

2

Trong hoạt động của bạn, bạn làm điều gì đó như thế:

TextView textView = (TextView) findViewById(R.id.colorCode); 
int myDynamicColor = Color.parseColor("#FFFF00"); // Here you can pass a string taken from the user or from wherever you want. 
textView.setBackgroundColor(myDynamicColor); 

Hy vọng điều này sẽ hữu ích.

+0

Đây là wot tôi đang nói về :) –

4

Bạn có thể thử:

String color = "FF0000"; // For example your color is FF0000 
TextView txt = new TextView(this);   
txt.setBackgroundColor(Integer.parseInt(color, 16)+0xFF000000); 

HOẶC

//This is the most preferrable 
txt.setBackgroundColor(Color.parseColor("#FF0000"));  
0

tập tin XML lưu tại res/values ​​/ colors.xml:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="opaque_red">#f00</color> 
    <color name="translucent_red">#80ff0000</color> 
</resources> 

Sau đó, từ truy cập chương trình của bạn những màu sắc như như sau:

Resources res = getResources(); 
int color = res.getColor(R.color.opaque_red); 
textView.setBackgroundColor(color); 
5

yow có thể thiết lập màu từ android hoặc màu trong định dạng RBG như thế này:

TextView txtView = (TextView) findViewById(R.id.yourId); 
txtView.setBackgroundColor(Color.parseColor("#AA3456")); 

hay:

txtView.setBackgroundColor(Color.BLUE); 
Các vấn đề liên quan