2011-01-07 279 views
3

我需要更改TextView的背景顏色。點擊更改TextView的背景顏色

使用ColorStateList我可以改變字體顏色,而背景顏色不接受ColorStateList

lblEtiqueta.setTextColor (new ColorStateList (
new int [] [] { 
new int [] {android.R.attr.state_pressed} 
new int [] {android.R.attr.state_focused} 
new int [0] 
}, new int [] { 
Color.rgb (255, 128, 192), 
Color.rgb (100, 200, 192), 
Color.White, 
} 
)); 

如何使背景顏色?

TextView控件是在運行時動態創建的。

在此先感謝。

回答

2

您將需要爲TextView設置backgroundDrawable。我只是做了我的狀態列出了XML,它會是這樣的:

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <color android:color="#00ff00" /> 
    </item> 
    <!-- And so on --> 
</selector> 

據我所知,從文檔,如果你想做的事在Java代碼中的狀態列表中,您將需要使用StateListDrawable

+0

嗨,作品完美,非常感謝你csaunders – seba123neo

+0

Arg。我沒有意識到我的答案的其餘部分被切碎了。我已經添加了必要的更改,如果你想在java代碼中做到這一點。 – csaunders