2013-01-18 25 views
0

我有一個RelativeLayout與一個薄紅框背景和一個(主要是透明的)ImageView作爲一個孩子。它們的大小是相等的:android make查看透明的輸入

​​

在屏幕上,它看起來如下:

enter image description here

當用戶按下此化合物的對象,我想相框的顏色變爲綠色:

enter image description here

我設置RelativeLayout'的背景色爲StateListDrawable,將紅色切換爲綠色。它工作正常,直到我將一個孩子ImageView(代表藍色字母「A」)添加到RelativeLayout。這ImageView攔截輸入觸摸並保存塊輸入。我試圖撥打

imageView.setEnabled(false); 
imageView.setFocusable(false); 
relativeLayout.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS); 

但沒有什麼幫助。

如何讓ImageView「透明」輸入事件?

+0

最簡單的方法:將OnClickListener設置爲您的視圖並在onCLick()中切換顏色更改。 – Thommy

+0

@Nick http://stackoverflow.com/questions/4415528/how-to-pass-the-onclick-event-to-its-parent-on-android可能對您有所幫助。順便問一句很好的問題。 – Audrius

回答

2

將OnTouchListener設置爲在任何情況下都返回false的ImageView。這種方式觸摸事件不會被消耗並傳遞給下一個監聽器。