検索

ホームページ  >  に質問  >  本文

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

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

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

天蓬老师天蓬老师2803日前735

全員に返信(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 であり、イベントが切り捨てられないことを示します (切り捨てとは、イベントが引き続き < に渡されることを意味します)。 🎜> の ViewGourpメソッド)onTouchEvent

    その後、

    でやりたいことを行うことができます。この onInterceptTouchEvent のどこをクリックしても、このメソッドが最初に呼び出されます。 LinearLayout

    参照:

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

    返事
    0
  • キャンセル返事