2012-05-19 28 views
0

我有以下UI呈現時,我ListView是空的: enter image description here如何啓用「按下」旁觀的LinearLayout

現在,我想的是,當用戶按下該「新建提醒」佈局中,很將改變爲「突出顯示」狀態(ICS中的藍色焦點背景和GB中的黃色)

佈局是clickableonClick方法被調用,但是當他按下他時沒有用戶指示手指放下。

我試圖設置focusabletrue,但它沒有辦法。

我能做些什麼來給任何視圖默認的「按下」效果?

謝謝!

+0

如果有人想獲得完整的解決方案,看看這個庫:HTTPS :// githu b.com/shamanland/AndroidLayoutSelector有自定義的可點擊/可檢測'''LinearLayout'''就像一個'''ToggleButton''' –

回答

1

我不知道我是否正確理解你。如果要爲此佈局創建按下狀態,則必須準備狀態可繪製xml(more info)。在那裏你可以設置你的佈局在按下狀態時應該是什麼樣子。

+0

我會認爲會有一種內置的方式,像「可按下」,但它的工作非此即彼如此謝謝! –

+0

另外,請參閱[本答案](http://stackoverflow.com/a/4534092/1044642)來自SO的另一個問題。 – matsr

0

我不確定,但你的問題似乎有點含糊。從我的理解,你可能會建議在這篇文章中Force a ListView item to stay "pressed" after being clicked?

+0

Definetly不。這不是ListView的一部分。這是一個單獨的佈局,我想有一個「按下」的背景 –

+0

哦,對不起,很高興你找到了答案! –

4

隨着你的佈局,你可以設置像下面的drawable背景。

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" android:drawable="@android:drawable/star_big_on" /> 
    <item android:state_pressed="true" android:drawable="@android:drawable/star_big_on" /> 
    <item android:drawable="@android:drawable/star_big_off" /> 
</selector> 
+0

感謝您的詳細信息,但@Seraphis回答了更多的「教學」答案,所以我接受了他的答案。 –

2

抽獎,能像下面

<?xml version="1.0" encoding="UTF-8"?> 

<item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/left_radio_selected"/> 
<item android:state_enabled="false" android:drawable="@drawable/left_radio_inactive"/> 
<item android:state_enabled="true" android:state_selected="true" android:drawable="@drawable/left_radio_selected"/> 
<item android:drawable="@drawable/left_radio_active"/> 

並設置linerlayout.setSelected(true);