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