首页
学习
活动
专区
圈层
工具
发布

HarmonyOS实战—滑动事件的坐标和返回值

滑动事件获取手指位置 滑动事件的三个动作: [在这里插入图片描述] 获取手指的位置就涉及到坐标的概念,通过获取到 x、y、z就可以缺任意一个点的位置 [在这里插入图片描述] 手机中的坐标: [在这里插入图片描述...[在这里插入图片描述] 结合滑动事件的三个动作和坐标来分析滑动 [在这里插入图片描述] [在这里插入图片描述] [在这里插入图片描述] 2....滑动事件bug处理 当我们滑动的时候,滑的不直,滑的有点斜 斜着滑,可以对Y变化的范围(斜的幅度)做一个规定,假设变化为100,如果你滑的时候变化了超过了100,那就认为这是一个无效的滑动,如果没有超过...100时,就会认为这是个无效的滑动,就不会显示这个滑动的动作 但运行斜的幅度不超过100,就会显示正确的滑动效果 [在这里插入图片描述] 6. onTouchEvent方法的返回值 如果为true,表示所有的动作都会触发当前方法并执行对应的代码...验证onTouchEvent方法的返回值对滑动事件三个动作的影响 上述代码不变,onTouchEvent方法改动如下: public boolean onTouchEvent(Component component

1.2K20

事件坐标与 transform:scale 引发的问题

问题 当前需要开发弹窗拖拽移动功能,在通过mousemove计算坐标点位时,出现计算后点位始终与鼠标坐标存在一定比例差异,并且距离初始未知越远差距越大。...移动计算公式 这里需要被移动块与初始点击点做相对偏移移动, 所以可知移动前后鼠标所在点与被移动块的相对距离不变 x1, y1 移动块初始坐标 px1, py1 鼠标按下初始坐标 x2, y2 移动后移动块坐标...px2, px2 鼠标移动后坐标 px1 - x1 = px2 - x2 py1 - y1 = py2 - y2 求移动后的块坐标 x2 = x1 + px2 - px1 y2 = y1 + py2...比例差不同,所以问题与屏幕适配有关 发现当前环境中使用的 transform:scale 做屏幕适配 解决 这里出现的问题是,通过mousemove获取的 e.pageX, e.pageY 是相对于页面的尺寸...,不受全局样式 transform:scale 的影响, 而实际dom定位是经过比例缩放的,所以始终存在一个比例差问题,且鼠标移动距离越远,差距越大。

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

    HarmonyOS实战—滑动事件的三个动作

    滑动事件的三个动作 接口名:TouchEventListener 滑动事件里面分为三个动作:按下不松,移动,抬起。 PRIMARY_POINT_DOWN:按下不松。 POINT_MOVE:移动。...方法返回值: true 表示继续执行后面的动作。 false 表示不会继续执行后面的动作。 涉及到如下三个动作,根据用户按下位置和松下位置,就可以辨别用户是上、下、左、或右滑动。...实现案例:按下、移动或松开都要修改文本的内容 因为要在整个屏幕上滑动,所以要给最外面的布局DirectionalLayout设置滑动事件,加个id 按下、移动或抬起都要修改文本的内容 新建项目:ListenerApplication4...代码实现 ability_main 采用默认生成的Text文本内容,在此基础上给DirectionalLayout布局和Text组件分别加上id <?...ResourceTable.Id_dl); text1 = (Text) findComponentById(ResourceTable.Id_text1); //2.给整个布局添加滑动事件

    87320

    View的事件分发及滑动冲突的解决

    ,如果移动的距离超过一定的阈值,就会触发ACTION_MOVE 一次触摸事件,ACTION_DOWN和ACTION_UP是必须存在的,ACTION_MOVE视情况而定。...false 表示当前视图不处理对应的事件,事件将会向上传递给父视图的onTouchEvent进行处理 在Android中拥有事件传递的类有三种 activity view 和viewGroup activity...\ 五、滑动冲突 5.1、滑动冲突产生的原因 当我们内外两层View都可以滑动时候,就会产生滑动冲突。...ACTION_UP也需要返回false,如果返回true,并且滑动事件交给子View处理,那么子View将接收不到ACTION_UP事件,子View的onClick事件也无法触发。...标志位控制,一旦父容器拦截ACTION_DOWN那么所有的事件都不会传递给子View b、滑动策略的逻辑放在子View的dispatchTouchEvent方法的ACTION_MOVE中,如果父容器需要获取点击事件则调用

    93440

    最大的和 (滑动窗口)

    最大的和 (滑动窗口) 原题链接 描述 给定一个长度为 n 的正整数数列 a1,a2,…,an。 初始时,数列中的每个元素要么处于可选状态,要么处于不可选状态。...3 10 5 4 7 0 1 1 0 输出样例2: 19 分析 该题目可将最大和分为两部分,即为可用状态的和sum以及选定区间内不可用状态的最大的和s 以选定区间的长度作为窗口,每次向右滑动,加上右边界状态为...],b[N]; //a用于存放数,b用于存放状态 int main(){ int n,k; cin>>n>>k; ll sum=0,v=0,s=0; //sum为状态是1的数的和...,v为窗口内改变状态后最大的和,s计算当前窗口的和 for(int i=0;i<n;i++) scanf("%d",&a[i]); //初始化a for(int i=0;i滑动减去左边界状态为0的数 v=max(v,s); //维护窗口最大和 } printf("%lld",sum+v); return 0; }

    25920

    数车的机床坐标系和工件坐标系

    ,是通过右手笛卡尔直角坐标系来确定的,即伸出右手的拇指、食指和中指,并互为90°,拇指代表X坐标轴,食指代表Y坐标轴,中指代表Z坐标轴。   ...数控车床使用X坐标轴、Z坐标轴组成的直角坐标系进行定位和插补运动:Z坐标轴规定为主轴轴线方向,且以刀具远离工件的方向为正方向;X坐标轴在刀具或工件的定位平面内,,一般在水平面内,并与Z轴垂直,且以刀具远离工件的方向为正方向...;在确定Z和X坐标轴后,再按照右手笛卡尔直角坐标系确定Y坐标轴及其正方向。...卧式数控车床的坐标系如图1所示。 图1   卧式数控车床的坐标系是以机床原点为坐标原点建立起来的X、Z轴直角坐标系。机床原点是机床上的固有点,机床一经设计和制造出来,机床原点就已经被确定下来。...二、工件坐标系   工件坐标系是编程时使用的坐标系,所以又称为编程坐标系。工件坐标系是人为设定的,既要符合尺寸标注的习惯,又要便于坐标计算和编程。

    2.4K10

    Maven相关的概念 - Maven仓库和坐标

    Maven相关的概念 - Maven仓库和坐标 1.目标 能够理解Maven仓库的作用 2.路径 Maven的仓库 Maven的坐标 3.讲解 3.1Maven的仓库 仓库名称 作用 本地仓库 相当于缓存...3.2 Maven的坐标 Maven的一个核心的作用就是管理项目的依赖,引入我们所需的各种jar包等。...为了能自动化的解析任何一个Java构件,Maven必须将这些Jar包或者其他资源进行唯一标识,这是管理项目的依赖的基础,也就是我们要说的坐标。...包括我们自己开发的项目,也是要通过坐标进行唯一标识的,这样才能才其它项目中进行依赖引用。...3.2.5 可以百度 或者 国外 maven 坐标搜索 网站 来 搜索 jar包 的 坐标信息 访问 maven坐标搜索网站的地址: https://mvnrepository.com/ image-

    43210

    SelectedIndexChanged事件, SelectedValueChanged事件和SelectionChangeCommitted事件的区别及应用

    SelectedIndexChanged事件, SelectedValueChanged事件和SelectionChangeCommitted事件的区别及应用 l SelectionChangeCommitted...事件 在设定datasource和displaymember和valuemember时,以及手动改变combobox索引和值时都不触发该事件, 只是在界面选择combobox不同值时触发 2...SelectedIndexChanged事件 索引改变时触发 3 SelectedValueChanged事件 值改变时触发 设置DataSource, DisplayMember..., ValueMember不同顺序触发SelectedIndexChanged事件和SelectedValueChanged事件的次数 顺序一: this.comboBox1.DisplayMember...= "userName";(都触发) SelectedValueChanged触发四次(总是先触发)SelectedIndexChanged,触发三次 (设置DisplayMember属性时不触发两种事件

    1.2K51

    liteavsdk的推流事件和播放事件的事件码

    推流和播放的事件码我们通常通过这个来判断当前的流的状态 推流事件列表 code TXLiveSDKEventDef常量 含义说明 1001 PUSH_EVT_CONNECT_SUCC 已经连接推流服务器...-1306 PUSH_ERR_UNSUPPORTED_SAMPLERATE 不支持的音频采样率 -1307 PUSH_ERR_NET_DISCONNECT 网络断连,且经多次重连抢救无效,可以放弃治疗...服务器连接失败 3003 PUSH_WARNING_SHAKE_FAIL RTMP服务器握手失败 3004 PUSH_WARNING_SERVER_DISCONNECT RTMP服务器主动断开,请检查推流地址的合法性或防盗链有效期...100001 INNER_EVT_SET_BITRATE_4_SCREEN_CAPTURE 动态设置录屏编码码率 100002 INNER_EVT_BGM_PLAY_FINISH BGM播放完毕 播放事件列表...PLAY_EVT_GET_PLAYINFO_SUCC 获取点播文件信息成功 2011 PLAY_EVT_CHANGE_ROTATION MP4视频旋转角度 2012 PLAY_EVT_GET_MESSAGE 消息事件

    2.5K40

    input元素的oninput事件和onchange事件

    input元素的oninput事件和onchange事件 框架用多了,感觉原生的有点弱化了,不说了,是时候巩固一波了 ^ _ ^ 1、input元素上绑定事件的三种方式: 第一种:直接在元素标签上添加oninput...) { // 处理事件代码 } 第二种:获取input元素,然后在元素对象上添加oninput属性,属性值为函数,函数内部为处理事件函数的调用 的oninput事件和onchange事件的区别 oninput事件是在输入框中输入时就会触发 onchange事件是在输入框输入完内容后,输入框失焦后触发 onchange事件兼容性好...,主流浏览器都支持 oninput事件IE9以下不支持,其余主流浏览器都支持,针对IE9以下的可以使用onpropertychange事件来替代 参考文献: [1] oninput 事件 [2] input...输入框的input事件和change事件 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135594.html原文链接:https://javaforall.cn

    3.8K10

    Go语言函数的参数和返回值

    支持多返回值。 支持命名返回值。 支持匿名函数和闭包。 左花括号不能另起一行。 ? ? 函数属于第一类对象,具备相同签名(参数及返回值列表)的视作同一类型。 ?...第一类对象(first-class object)指可在运行期创建,可用作函数参数或返回值,可存入变量的实体。最常见的用法就是匿名函数。 从阅读和代码维护的角度来说,使用命名类型更加方便。 ?...在函数调用前,会为形参和返回值分配内存空间,并将实参拷贝到形参内存。 ? 输出 ? 从输出结果可以看出,尽管实参和形参都指向同一目标,但传递指针时依然被复制。...多返回值可用作其他函数调用实参,或当作结果直接返回。 ? 命名返回值 对返回值命名和简短变量定义一样,优缺点共存。 ?...从这个简单的示例可看出,命名返回值让函数声明更加清晰,同时也会改善帮助文档和代码编辑器提示。 命名返回值和参数一样,可当作函数局部变量使用,最后由 return 隐式返回。 ? ?

    2.8K30

    事件流、事件捕获和事件冒泡的介绍

    事件流、事件捕获和事件冒泡的介绍 最近有用到对应的场景,下班了特地来整理下响应的概念,巩固下知识。 我们在点击页面时,事件发生时会在各元素节点按照一定的顺序进行传播,这种传播过程就称作事件流。...事件流分为三个阶段: 1、事件捕获阶段 事件从window发出,不断向子元素寻找对应的目标节点 2、事件目标阶段 事件找到了对应的目标节点,即此时再往下已经没有对应的节点 3、事件冒泡阶段 事件从节点位置网上回溯到文档的根节点...我们在使用给dom添加事件时一般使用addEventListener方法,该方法传入三个参数 1、对应的事件名称如:click 2、函数:触发对应的交互响应后执行的函数 3、userCapture:指定事件是在捕获还是冒泡阶段执行..."); }, true); // 对应的打印结果 body 事件捕获 test.html:37 container 事件捕获 test.html...有个例子就讲的挺有形象,就好比一个塑料扔到水里,先往下沉(捕获阶段),沉到最底部(目标阶段)再慢慢浮起来(冒泡阶段)。

    1.4K00

    MySQL按坐标排序和查找指定范围的坐标

    做的项目多了,总会遇到一些需要涉及需要用到地图坐标的。 既然有坐标,那肯定又得涉及位置距离。 例如我们平时使用美团,想搜索附近的美食店,这功能很方便是不是?...6371是地球的半径,单位:公里。如果想以英里搜索,将6371换成3959即可。...39.915599是搜索点中心纬度(例如想搜索北京天安门附近的标记点,则这里就是北京天安门的纬度) 116.402687是搜索点中心经度(例如想搜索北京天安门附近的标记点,则这里就是北京天安门的经度)...distance字段是标记点与搜索点中心的距离,单位:公里(如果地球半径是英里,则这里也是英里) 25是范围,表示搜索出搜索中心点25公里以内的标记点 SELECT `id` , `name`...两个点坐标一样,距离应该是0的。

    2.5K20

    Go:命名返回值和直接返回值的使用与潜在隐患

    命名返回值与直接返回值 以下是两个示例,展示了命名返回值和直接返回值的差异: 使用命名返回值: func sum(a, b int) (result int) { result = a + b...混合使用命名返回值和直接返回值的隐患 如果在使用命名返回值的同时又直接返回了值,可能会产生混淆和不一致的结果。...判断和建议 一致性:在使用命名返回值时,应确保函数体内的返回逻辑一致。如果选择了命名返回值,则整个函数应该沿用这一约定。 可读性:混合使用可能会降低代码的可读性,增加维护的复杂性。...确保代码清晰和一致有助于长期维护。 测试:如果不确定代码的行为,可以编写测试来验证函数的行为是否符合预期。...总结 命名返回值是Go语言中的一个有用特性,但混合使用命名返回值和直接返回值可能会带来混淆和隐患。建议在编写函数时保持一致的风格和逻辑,以增强代码的可读性和可维护性。

    63230
    领券