찾다

 >  Q&A  >  본문

Android中LinearLayout的点击事件如何包含内部的控件?

一个LinearLayout里面有一个ImageView和一个TextView,想在点击这个Layout的时候执行一个事件,于是给LinearLayout设置了onClickListener,但发现只有在点击ImageView之外部分、LinearLayout之内的部分时,才会响应点击操作,是不是ImageView把LinearLayout盖住的部分就不响应父控件LinearLayout的点击事件了呢。

如何才能让点击ImageView的时候也响应这个LinearLayout的点击事件呢,只能再给ImageView绑定相同的监听器吗?

天蓬老师天蓬老师2803일 전739

모든 응답(3)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-17 17:22:20

    LinearLayoutandroid:descendantFocusability=”blocksDescendants”

    추가

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-17 17:22:20

    요청하신 대로 imagview의 onclick 메소드에서 Linearlayout.performclick()을 호출하면 됩니다.

    회신하다
    0
  • 阿神

    阿神2017-04-17 17:22:20

    LinearLayout과 같은 MyLinearLayout을 상속한 다음 onInterceptTouchEvent을 재정의합니다. 반환 값은 여전히 ​​false이며, 이는 이벤트가 잘리지 않음을 나타냅니다(잘림은 이벤트가 계속 <에 전달된다는 의미). 🎜>의 ViewGourpMethod)onTouchEvent

    그러면

    에서 원하는 작업을 수행할 수 있습니다. onInterceptTouchEvent를 어디에서 클릭해도 이 메소드가 먼저 호출됩니다. LinearLayout

    참조:

    https://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent)

    회신하다
    0
  • 취소회신하다