首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

白板应用的业务事件分发模式

在画板上延伸业务的事件,可以通过画板本身,利用路由事件分发,此时能解决依赖事件业务对具体业务对象的依赖 背景 先来聊聊白板应用的背景 基础的白板可以认为是有一个画板 Board 而在画板上面有很多纸张页面...而通过切换纸张 Slide 可以做到切换页面 多的我也不讲了,因为了解这个行业的小伙伴自然了解哈 那这里要聊的事件分发是什么呢?...就是附加在画板上的各个交互,例如我有一个笔的功能,这个笔的功能是一个个独立的,这个知道画板以及页面的存在。...这个需要对外抛出事件,例如抛出开始写字以及完成写字的事件 那么我在其他的业务可以如何监听到这些事件呢?...,路由事件会在视觉树上面一层层分发,在画板或画板的容器可以让业务去拿到这个路由事件 ?

67730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    View 事件分发

    = null) { //这里调用了TouchDelegate中的onTouchEvent方法,该方法是dispatchEvent返回为true时,才返回true,此时 onTouchEvent就返回true...onTouchEvent会在ACTION_UP手势方法中调用performClick()方法,performClick()中调用了onClick方法,触发onClick监听 当dispatchEvent事件分发时...,只有前一个action返回为true时,后一个action才会触发 View事件分发面试问题 事件分发中的 onTouch 和 onTouchEvent 有什么区别,该如何使用 这两个方法都是在 View...对于这一控件,如果我们想要监听它的 touch 事件,就必须通过在该控件中重写 onTouchEvent 方法来实现,相关代码块如下: if (onFilterTouchEventForSecurity...onClick事件执行,onTouch在事件分发方法dispatchTouchEvent中调用,而onClick在事件处理方法onTouchEvent中被调用,onTouchEvent要后于dispatchTouchEvent

    62910

    事件分发机制

    Motion Events  传感器事件:重力、加速度。     3.  Remote Control Events  远程遥控事件。...以前比较流行的中间凸起的标签栏,你有具体考虑过中间那个按钮的点击事件吗?超出标签栏那部分的点击事件你要不做处理,它能执行的到吗?    ...先说说Touch Events大致的执行过程;     点击手机屏幕 ----> UIKit 会生成一个 UIEvent事件,把UIEvent分发给当前活跃着的APP ----> 活跃着的APP被告知有事件发生后...,UIApplication 单例就从事件队列中取出最新的事件,依靠 hit-Testing 找出并且返回你点击的View,让View执行事件。...上面就是hitTest的一些概念和简单的使用,其实它能做的事还是挺多的,我把自己学习的笔记链接全都整理出来给; iOS事件分发机制(一) hit-Testing 技术哥 iOS事件分发机制(二)The

    1K80

    【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 三 )

    Android 事件分发 系列文章目录 【Android 事件分发事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 【Android...事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup ) 【Android 事件分发...】事件分发源码分析 ( ViewGroup 事件传递机制 一 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 ) 【Android 事件分发事件分发源码分析...( ViewGroup 事件传递机制 三 ) ---- 文章目录 Android 事件分发 系列文章目录 前言 一、获取子组件 二、当前遍历的子组件的事件分发 三、ViewGroup 事件分发相关源码...前言 接上一篇博客 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 ) , 继续分析 ViewGroup 的事件分发机制后续代码 ; 一、获取子组件 ----

    1K20

    【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 五 )

    Android 事件分发 系列文章目录 【Android 事件分发事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 【Android...】事件分发源码分析 ( ViewGroup 事件传递机制 一 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 ) 【Android 事件分发事件分发源码分析...( ViewGroup 事件传递机制 三 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 四 | View 事件传递机制 ) 【Android 事件分发事件分发源码分析...dispatchTransformedTouchEvent 方法中触发调用 if (child == null) 分支的 // handled = super.dispatchTouchEvent(event) 方法 , 调用父事件分发方法...dispatchTransformedTouchEvent 方法中触发调用 if (child == null) 分支的 // handled = super.dispatchTouchEvent(event) 方法 , 调用父事件分发方法

    1.5K30

    Compose 事件分发(下) 分发触摸点

    在上一篇 《Compose 事件分发(上) 寻找触摸点》中已经介绍,在触摸 compose 组件时,会从根节点开始遍历,获取命中的 PointerInputFilter,然后对其进行事件分发,今天,我们来重点讲解一下事件分发过程...事件 遍历子节点,本质就是遍历 pointInput,分发 final 事件 来看下 dispatchMainEventPass 的处理: override fun dispatchMainEventPass...LocalDensity.current val viewConfiguration = LocalViewConfiguration.current // 1、pointerInputFilter 的实现是...demo 中的 detectTapGestures block() } } } 这里我们需要关注两个点: pointerInputFilter 的实现是...2、AndroidView 组件事件分发分析 通过上面的分析知道,Compose 组件是通过 SuspendingPointerInputFilter 实现事件的处理,那 AndroidView 组件是怎么分发的呢

    2.1K30

    【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 一 )

    Android 事件分发 系列文章目录 【Android 事件分发事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 【Android...事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup ) 【Android 事件分发...】事件分发源码分析 ( ViewGroup 事件传递机制 一 ) ---- 文章目录 Android 事件分发 系列文章目录 前言 一、无障碍调用 二、判定是否首次按下 三、判定是否拦截 四、判定是否取消操作...五、ViewGroup 事件分发相关源码 前言 在上一篇博客 【Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow...---- ViewGroup 事件分发相关源码 : 下面的代码中 , 逐行注释分析了 ViewGroup 的 dispatchTouchEvent 事件分发操作 ; @UiThread public

    44420

    【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 )

    Android 事件分发 系列文章目录 【Android 事件分发事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 【Android...事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup ) 【Android 事件分发...】事件分发源码分析 ( ViewGroup 事件传递机制 一 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 ) ---- 文章目录 Android 事件分发...系列文章目录 前言 一、获取触摸索引值 二、按照 Z 轴深度排序组件 三、ViewGroup 事件分发相关源码 前言 接上一篇博客 【Android 事件分发事件分发源码分析 ( ViewGroup...---- ViewGroup 事件分发相关源码 : 下面的代码中 , 逐行注释分析了 ViewGroup 的 dispatchTouchEvent 事件分发操作 ; @UiThread public

    47840

    【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 六 )

    事件分发源码分析 ( ViewGroup 事件传递机制 一 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 ) 【Android 事件分发事件分发源码分析...( ViewGroup 事件传递机制 三 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 四 | View 事件传递机制 ) 【Android 事件分发事件分发源码分析...dispatchTransformedTouchEvent 方法中触发调用 if (child == null) 分支的 // handled = super.dispatchTouchEvent(event) 方法 , 调用父事件分发方法...dispatchTransformedTouchEvent 方法中触发调用 if (child == null) 分支的 // handled = super.dispatchTouchEvent(event) 方法 , 调用父事件分发方法...dispatchTransformedTouchEvent 方法中触发调用 if (child == null) 分支的 // handled = super.dispatchTouchEvent(event) 方法 , 调用父事件分发方法

    1.2K20

    【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 七 )

    事件分发源码分析 ( ViewGroup 事件传递机制 一 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 ) 【Android 事件分发事件分发源码分析...( ViewGroup 事件传递机制 三 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 四 | View 事件传递机制 ) 【Android 事件分发事件分发源码分析...( ViewGroup 事件传递机制 五 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 六 ) 【Android 事件分发事件分发源码分析 ( ViewGroup...dispatchTransformedTouchEvent 方法中触发调用 if (child == null) 分支的 // handled = super.dispatchTouchEvent(event) 方法 , 调用父事件分发方法...dispatchTransformedTouchEvent 方法中触发调用 if (child == null) 分支的 // handled = super.dispatchTouchEvent(event) 方法 , 调用父事件分发方法

    1.2K20

    【Android 事件分发】ItemTouchHelper 事件分发源码分析 ( 绑定 RecyclerView )

    Android 事件分发 系列文章目录 【Android 事件分发事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) 【Android...事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup ) 【Android 事件分发...】事件分发源码分析 ( ViewGroup 事件传递机制 一 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 二 ) 【Android 事件分发事件分发源码分析...( ViewGroup 事件传递机制 三 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 四 | View 事件传递机制 ) 【Android 事件分发事件分发源码分析...( ViewGroup 事件传递机制 五 ) 【Android 事件分发事件分发源码分析 ( ViewGroup 事件传递机制 六 ) 【Android 事件分发事件分发源码分析 ( ViewGroup

    39020

    Android事件分发机制

    image.png 原文链接:https://juejin.im/post/5eb3e0d6f265da7c002028cd 这次说下Android中的事件分发机制 从开始点击屏幕开始,就会产生从...每一层view或者viewgroup都会首先调用它的dispatchTouchEvent方法,然后判断是否就在当前一层消费掉事件 view的事件分发 首先上一段伪代码,是在书上看到的,也是我觉得总结的最好的...事件分发的应用(requestDisallowInterceptTouchEvent) 那既然学会了事件分发机制,我们实际工作中会怎么应用呢?其实最常见的就是解决滑动冲突的问题。...一般有两种解决办法: 一种是外部拦截:从父view端处理,根据情况决定事件是否分发到子view 一种是内部拦截:从子view端处理,根据情况决定是否阻止父view进行拦截,其中的关键就是requestDisallowInterceptTouchEvent...至此,事件分发机制也就说的差不多了。 文末 您的点赞收藏就是对我最大的鼓励! 欢迎关注我,分享Android干货,交流Android技术。

    89620

    Android 事件分发机制

    事件分发机制在android中非常常见,比如:手势滑动,自定义View,多点触控都有它的身影。...1.4 onTouch 是触摸事件,当一个触摸事件分发到一个view的时候。...2.我们刚才是正常的事件分发流程图,没有给View即TextView设置click事件,那我们现在给TextView设置点击事件看看,事件是怎么分发的? ?...image.png 可以看到如果给View设置了click事件,那么事件会最终分发给view,被view消费,这就是我们平时最常用的事件分发流程 3.其他的你们都可以在个个阶段的事件分发中,返回不同的值去测试验证...的点击事件响应怎么办,按照上面的andorid事件分发流程图,方法多了,我们可以在不同的阶段进行控制,不让事件向下分发,但我们试试onTouch()这个方法,此方法默认返回false,我们现在让它返回true

    1.7K21
    领券