一个LinearLayout里面有一个ImageView和一个TextView,想在点击这个Layout的时候执行一个事件,于是给LinearLayout设置了onClickListener,但发现只有在点击ImageView之外部分、LinearLayout之内的部分时,才会响应点击操作,是不是ImageView把LinearLayout盖住的部分就不响应父控件LinearLayout的点击事件了呢。
如何才能让点击ImageView的时候也响应这个LinearLayout的点击事件呢,只能再给ImageView绑定相同的监听器吗?
在
LinearLayout
中添加android:descendantFocusability=”blocksDescendants”
As you asked, just call linearlayout.performclick() in the onclick method of imagview.
Inherit
LinearLayout
, such asMyLinearLayout
, and then overrideonInterceptTouchEvent
. The return value is stillfalse
, indicating that the event is not will be truncated (truncation means that the event will still be passed to theonTouchEvent
method ofViewGourp
)LinearLayout
,比如MyLinearLayout
,然后覆写onInterceptTouchEvent
,返回值依然用false
,表示事件不会被截断(截断就是说事件依然会传给ViewGourp
的onTouchEvent
方法)然后你就可以在
Then you can do what you want to do inonInterceptTouchEvent
干你想干的事情,不管你点这个LinearLayout
onInterceptTouchEvent
. No matter where you click in thisLinearLayout
, this method will be called first.Reference: