2011-06-21 192 views
2

我正在嘗試着色項目的(選中時)背景。我正在使用Android模擬器。我在res/drawable中有一組XML文件。state_activated和ListView項目背景顏色

background.xml:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@drawable/pressed" /> 
    <item android:drawable="@drawable/normal" /> 
</selector> 

normal.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="#000000" /> 
</shape> 

pressed.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="#33ffff" /> 
</shape> 

而且我list_item.xml,與...我的項目: <TextView ... android:background="@drawable/background" android:padding="6dp" />

那麼,在模擬器state_pressed="true"工程,但我希望所選項目保持着色。所以,而不是state_pressed我試過state_activated ...但是嘿...不起作用。我的物品仍然黑...

需要一些幫助:)!

謝謝

回答

0

請參考以下鏈接:

http://developer.android.com/resources/tutorials/views/hello-formstuff.html

嘗試使用state_focused爲你的情況。

謝謝!

+0

什麼都沒有發生我已經嘗試過使用state_focused。點擊一個項目後背景仍然是黑色的。 – nomis

+0

你想選擇背景顏色或點擊..上述將工作正常選擇。 – Deva

+0

我想在點擊/觸摸時更改背景顏色。一旦我的物品被點擊/觸摸/我想要切換該物品的背景顏色。 – nomis

2

我相信state_activated是你正在尋找的。

在你listselector.xml:

<item android:state_activated="true" android:drawable="@drawable/whatever" /> 
<item android:state_activated="false" android:drawable="@android:color/transaprent" /> 

然後在你的代碼,實現一個onItemClickListener和您的視圖設置爲激活:

view.setActivated(true); 

希望這有助於。

Tom

+2

預蜂窩它不會工作 – Mikey

相關問題