一个LinearLayout里面有一个ImageView和一个TextView,想在点击这个Layout的时候执行一个事件,于是给LinearLayout设置了onClickListener,但发现只有在点击ImageView之外部分、LinearLayout之内的部分时,才会响应点击操作,是不是ImageView把LinearLayout盖住的部分就不响应父控件LinearLayout的点击事件了呢。
如何才能让点击ImageView的时候也响应这个LinearLayout的点击事件呢,只能再给ImageView绑定相同的监听器吗?
추가LinearLayout
에android:descendantFocusability=”blocksDescendants”
요청하신 대로 imagview의 onclick 메소드에서 Linearlayout.performclick()을 호출하면 됩니다.
은
그러면LinearLayout
과 같은MyLinearLayout
을 상속한 다음onInterceptTouchEvent
을 재정의합니다. 반환 값은 여전히 false
이며, 이는 이벤트가 잘리지 않음을 나타냅니다(잘림은 이벤트가 계속 의ViewGourp
Method)onTouchEvent
에서 원하는 작업을 수행할 수 있습니다.
참조:onInterceptTouchEvent
를 어디에서 클릭해도 이 메소드가 먼저 호출됩니다.LinearLayout
https://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent)