zoukankan      html  css  js  c++  java
  • android onInterceptTouchEvent和onTouchEvent的执行关系

    DragHorizontalScrollView
    一.子布局没有自定义布局(只包含android原生布局)
    onInterceptTouchEvent不拦截 子布局可以点击
    -------onInterceptTouchEvent不拦截 part1---------onTouchEvent不接收
    I/>>lilei>>DragHorizontalScrollView(23283): ****return false onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(23283): ***#### onTouchEvent return false action:ACTION_DOWN
    -------onInterceptTouchEvent不拦截 part2--------onTouchEvent接收
    I/>>lilei>>DragHorizontalScrollView(26256): ****return false onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(26256): ***#### onTouchEvent return true action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(26256): ***#### onTouchEvent return true action:ACTION_MOVE
    I/>>lilei>>DragHorizontalScrollView(26256): ***#### onTouchEvent return true action:ACTION_UP

    onInterceptTouchEvent拦截 子布局不可以点击
    ------onInterceptTouchEvent拦截 part1-------onTouchEvent不接收
    I/>>lilei>>DragHorizontalScrollView( 1968): ****return true onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView( 1968): ***#### onTouchEvent return false action:ACTION_DOWN
    ------onInterceptTouchEvent拦截 part2-------onTouchEvent接收
    I/>>lilei>>DragHorizontalScrollView(31259): ****return true onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(31259): ***#### onTouchEvent return true action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(31259): ***#### onTouchEvent return true action:ACTION_MOVE
    I/>>lilei>>DragHorizontalScrollView(31259): ***#### onTouchEvent return true action:ACTION_UP

    二.子布局有自定义布局
    onInterceptTouchEvent不拦截 子布局可以点击
    -------onInterceptTouchEvent不拦截 part1---------onTouchEvent不接收
    I/>>lilei>>DragHorizontalScrollView(14163): ****return false onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(14163): ****return false onInterceptTouchEvent 222 action:ACTION_MOVE
    I/>>lilei>>DragHorizontalScrollView(14163): ****return false onInterceptTouchEvent 222 action:ACTION_UP
    -------onInterceptTouchEvent不拦截 part2---------onTouchEvent接收
    I/>>lilei>>DragHorizontalScrollView(14163): ****return false onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(14163): ****return false onInterceptTouchEvent 222 action:ACTION_MOVE
    I/>>lilei>>DragHorizontalScrollView(14163): ****return false onInterceptTouchEvent 222 action:ACTION_UP

    onInterceptTouchEvent拦截 子布局不可以点击
    ------onInterceptTouchEvent拦截 part1-------onTouchEvent不接收
    I/>>lilei>>DragHorizontalScrollView(30046): ****return true onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(30046): ***### onTouchEvent return false action:ACTION_DOWN isMove:true
    ------onInterceptTouchEvent拦截 part2-------onTouchEvent接收
    I/>>lilei>>DragHorizontalScrollView(31067): ****return true onInterceptTouchEvent 222 action:ACTION_DOWN
    I/>>lilei>>DragHorizontalScrollView(31067): ***### onTouchEvent return true action:ACTION_DOWN isMove:true
    I/>>lilei>>DragHorizontalScrollView(31067): ***### onTouchEvent return true action:ACTION_UP isMove:false

    综上所述,
    onInterceptTouchEvent不拦截(return fasle) 子布局可以点击
    onInterceptTouchEvent拦截(return true) 子布局不可以点击
    若父布局不包含自定义字布局:则不论父布局onInterceptTouchEvent 是否拦截,父布局都可以获取到onTouchEvent事件
    若父布局包含自定义字布局:若父布局onInterceptTouchEvent拦截,父布局可以获取到onTouchEvent事件;否则父布局获取不到onTouchEvent事件
    假设一个布局可以获取onTouchEvent事件:若onTouchEvent接收(return true),则onTouchEvent可以获取到所有事件(DOWN,MOVE,UP);
    若onTouchEvent不接收(return false),则只能获取到第一次的DOWN事件,后续的事件(MOVE,UP)会由onInterceptTouchEvent接收.

  • 相关阅读:
    PAT Advanced 1138 Postorder Traversal (25) [树的遍历,前序中序转后序]
    PAT Advanced 1127 ZigZagging on a Tree (30) [中序后序建树,层序遍历]
    PAT Advanced 1020 Tree Traversals (25) [⼆叉树的遍历,后序中序转层序]
    PAT Basic 1075 链表元素分类(25) [链表]
    PAT A1133 Splitting A Linked List (25) [链表]
    PAT Advanced 1097 Deduplication on a Linked List (25) [链表]
    PAT Basic 反转链表 (25) [链表]
    PAT Advanced 1074 Reversing Linked List (25) [链表]
    PAT Advanced 1052 Linked List Sorting (25) [链表]
    PAT Advanced 1032 Sharing(25) [链表]
  • 原文地址:https://www.cnblogs.com/adamli/p/4941924.html
Copyright © 2011-2022 走看看