我有一個問題:我有一個ListView與MULTI_CHOICE監聽器打開ContextualActionBar。對於此列表中的每個項目,我已經在根佈局上設置了一個後臺。這是XML:Android的CAB列表視圖state_selected和state_pressed
<item android:drawable="@color/light_blue_alpha"
android:state_activated="true"/>
<item android:drawable="@color/light_blue"
android:state_pressed="true"/>
<item android:drawable="@drawable/card_background"/>
在這種情況下,默認背景是卡片佈局(基本上是白色)。當按下該項目時,背景爲全淺藍色。當激活(通過CAB選擇)時,背景爲0.5阿爾法的淺藍色。
這就是發生了什麼事情: 我開始CAB。如果我在CAB期間選擇了新項目,則該項目將其背景更改爲light_blue
(按下時)。當我鬆開手指時,它會更改爲默認背景card_background
。幾毫秒後,它被激活,然後更改爲light_blue_alpha
所以基本上我得到了這種閃爍的藍白藍。我想要實現的是「刪除」白色背景交易。例如,我看到Gmail應用正是我想要做的事情。
這怎麼能實現呢?謝謝!!
編輯: 我試着將所有移動到根listSelector。這是選擇器:
<item android:state_pressed="true" android:drawable="@color/light_blue"/>
<item android:state_activated="true" android:drawable="@color/light_blue_alpha"/>
<item android:drawable="@android:color/transparent"/>
我還將drawOnTop設置爲true,並且按下的背景被正確應用。但是state_activated不行!當我啓動CAB時,該項目返回到其默認背景。爲什麼不採取state_activated背景?
你可以附加'正在發生什麼'和'你想達到什麼':) – Gattsu 2014-10-01 12:51:44
是的。但我完全可以做到這一點。問題是,當我鬆開物品上的手指時,物品會回到其默認背景,並在幾毫秒被激活後進入激活的背景。我想要禁用或隱藏手指釋放效果。我希望項目從按下的背景去激活的背景DIRECTLY – edoardotognoni 2014-10-01 12:59:37