検索

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

android - viewgroup可以用手指任意滑动,里面的 view 需要监听onLongClick和 onClick事件,如何不冲突?

目前正在做类似课程表的应用,需要手指触碰外部的 viewgroup, viewgroup 可以随意移动,里面的子 view 只要监听 onClick 和onLongClick 事件,请问有什么办法能够确保两者不冲突?

现在的情况是如果手指一开始放到 子 view 上面移动外部的 viewgroup 不能移动,onInterceptTouchEvent中只能从 down 开始捕获,然而这个不好判断,只能根据用户先触碰子 view 然后是否有滑动来判断捕获,可是那时事件已经在子 view 中消费了,viewgroup 也捕捉不到了,想问下有什么其他的方法来解决这个问题?

伊谢尔伦伊谢尔伦2772日前512

全員に返信(1)返信します

  • 天蓬老师

    天蓬老师2017-04-17 17:31:11

    子ビューは Down イベントを受信すると、そのイベントを消費せず、この Down イベントのターゲット、つまり現在の子ビューを記録するように親ビューに通知します。 Move、Cancel、Upイベントはすべて引き継がれます。親Viewを処理します。
    Upイベントが発生した場合、親Viewはタッチポイントの変位を決定し、それが一定の値未満であるとみなします。動きは発生していません。これは、このイベントが Click イベントであることを意味します。親ビューの位置を復元してから、ターゲットを手動で呼び出します。タイマーを追加した場合、クリック イベント
    ロングクリックは OK です

    返事
    0
  • キャンセル返事