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

Android自定义系列——14.MotionEvent

Android 将所有的输入事件都放在了 MotionEvent 中: 版本号 更新内容 Android 1.0 (API 1 ) 支持单点控和轨迹球的事件。...Android 在 2.0 版本的时候开始支持多点控,一旦出现了多点控,很多东西就突然之间变得麻烦起来了,首先要解决的问题就是 多个手指同时按在屏幕上,会产生很多的事件,这些事件如何区分呢?...为了区分这些事件,工程师们用了一个很简单的办法--编号,当手指第一次按下时产生一个唯一的号码,手指抬起或者事件被拦截就回收编号,就这么简单。...int类型共32位(0x00000000),他们用最低8位(0x000000ff)表示事件类型,再往前的8位(0x0000ff00)表示事件编号,以手指按下为例讲解数值是如何合成的: ACTION_DOWN...输入设备类型判断 输入设备类型判断也是安卓4.0 (API 14) 才添加的,主要包括以下几种设备: 设备类型 简介 TOOL_TYPE_ERASER 橡皮擦 TOOL_TYPE_FINGER 手指 TOOL_TYPE_MOUSE

1.5K10

从后端到前端之Vue(六)表单组件 HTML5原生的表单和表单元素Vue组件的基础知识表单元素组件辅助工具开源

HTML5原生的表单和表单元素   要想做好表单组件,必须先知道HTML5里面的表单和表单元素都有哪些属性,以及属性的效果和作用,否则的话可能折腾半天才发现,原来HTML5已经自带了这个功能!   ...HTML5新增特性   新增的特性(好吧也不算新了,都好多年了),主要是对文本框的增强,增加了一些类型以及辅助功能,比如增加了一个备选框()的功能,这个还是比较实用的吧。 ?...因为有些类型要做两种用途,比如file上传文件和上传图片。两种方式要做个区分的,比如上传图片,可以做个图片预览,图片处理等功能,上传文件的话,就没有这些了。所以要做个编号加以区分。...有的时候我们自己需要知道用户的输入操作,依据输入做些操作,比如联动下拉列表框。我们要知道第一个下拉列表框的change,然后设置第二个下拉列表框。这个时候就需要我们自己的事件通知。...不知道有没有更好的方式,现在用的比较麻烦,期待更好的方法。如果发现了肯定会更新的。   还有个返回值类型的问题,是习惯返回字符串的形式,比如1,2,3 。而不是数组。

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

点击块,让小块动起来 - 函数封装

2 绑定事件 2.1 事件是什么 从生活中的例子来理解事件,比如我们是通过按电灯的开关来控制开灯或熄灯,“电灯的开关功能”我们可以理解为事件,当我们触发这个事件(电灯的开关功能)的时候去执行开灯或熄灯的操作...1 blur - 当前元素失去焦点时触发的事件; 2 change - 当前元素失去焦点并且元素的内容发生改变而触发的事件; 3 focus - 当某个元素获得焦点时触发的事件; 4 input - 当用户输入时触发...; 5 reset - 事件会在表单中的重置按钮被点击时发生; 2.3 给标签绑定事件 了解完了JS的事件类型,那我们在网页中该如何使用这些事件类型呢?...// 标签对象.on事件类型 = function() { } btnObj.onclick = function() { alert('你触发了...click事件~'); } 结果:点击id名为btnEle标签,弹出弹窗,显示“你触发了click事件~”的内容; 分析: 1

1.6K120

HTML-input的一些思考和理解

尝试了一下,虽然H5原生的date功能强大,但对placeholder还真没有什么解决方案。...不过,参照本文开篇的思路,我们同样可以先写一个 type="text" ,然后用0级DOM事件 onfocus (在焦时)将其变为date:onfocus="(this.type='date')" 。...所以还有一种方案:在input上覆盖一个div,当点击时去操控 input 的事件和响应! 我们都知道,在input中,当输入过一次时,下一次输入会有提示 —— autocomplete 。...” HTML5约束验证 HTML5对于input增加了很多标签属性,和事件。...这种类型的input,在输入时右侧会有一个“带圆圈的×”,那么肯定会有人觉得不想要 or 不好看了,我们也可以用伪元素来将其去掉: input[type="search"]::-webkit-search-cancel-button

64530

sqlite3的C语言使用(一)

前一天讲了如何在VC中连接sqlite的库,从今天开始就分几个专题详细学习一下sqlite的一些API。...明确一下今天我们写的这个程序的目的(也就是的作业题): 通讯录管理软件。 通讯者信息包括:姓名、性别、手机、Email、地址。 软件功能:添加、查询、删除、全部输出。 ...别问我为什么,也不知道,但要执行sql来查询就要编译。...这是SelectPerson函数剩下的部分: if(sqlite3_step(stmt) == SQLITE_ROW) { printf("编号:%d 姓名:%s 性别:%s 电话:%s Email...9.总结     这个题目写完了,也介绍了一些常用的sqlite3的API,并没有想象中那么复杂。这是运行的截图,代码发了,如果想要可以联系。 ?

3.1K11

SQL Server 2014 Win7 Win10 安装详解 SQL Server 2017 2019 Linux及SQL TSQL ETL实用案例

大家好,又见面了,是你们的朋友全栈君。.... 6 进入设置角色项,选择要安装的SQL Server的类型. 7 选择SQL Server的功能,勾选相关服务后,根据需要更改安装目录. 8 功能规则 9 设置实例ID的名称,这里一般选择默认值...Step2:命令行里输入control 进入控制面板 Step3:找到程序和功能 Step4:点击启用或关闭Windows功能 Step5:勾选”.NET Framework 3.5(包括.NET2.0...延展阅读 1) 查看当前.net framework版本信息,可按如下操作(微标+r后输入cmd再输入如下命令查看) reg query "HKLM\Software\Microsoft\NET Framework...' 各版本与内部版本号对应关系汇总 表见下: 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125923.html原文链接:https://javaforall.cn

1.5K20

618技术大揭秘:Switchquery秒级配置达平台的设计与实现

随着移动互联网的快速发展,为满足各类用户及人群的体验需求,移动端的开发者们开发了丰富多彩的体验与功能。...同时对于快速控制各类功能的切换、灰度,降级等能力的要求也越来越高,例如通过配置快速打开某个灰度功能,通过配置信息的实时达关闭某个引起App崩溃的功能等等。...于是研发了Switchquery配置平台,它是一套具有秒级变更能力,助力业务快速变更,让配置信息在App运行中秒级生效,同时也是提升配置信息达率,统一管理的配置平台。...,整型以及字符串等类型的配置信息的获取接口,统一处理数据的本地缓存以及网络获取等功能,是Switchquery SDK 的核心类。...; 9)开关描述:通过描述知道开关配置的用途。

20820

JavaScript 逆向爬虫中的浏览器调试常见技巧

用于查看或修改当前网页 HTML 节点的属性、CSS 属性、监听事件等等,HTML 和 CSS 都可以即时修改和即时显示。...change:HTML 元素改变时会触发的事件。 click:用户点击 HTML 元素时会触发的事件。 mouseover:用户在一个 HTML 元素上移动鼠标会触发的事件。...mouseout:用户从一个 HTML 元素上移开鼠标会触发的事件。 keydown:用户按下键盘按键会触发的事件。 load:浏览器完成页面加载时会触发的事件。...由于我们知道这个断点是用来处理翻页按钮的点击事件的,所以可以在网页里面点击按钮试一下,比如点击第 2 页的按钮,这时候就会发现断点被触发了,如图所示。...观察调用栈 在调试的过程中,我们可能会跳到一个新的位置,比如点击上述 Step Over Next Function Call 几下,可能会跳到一个叫作 ct 的方法中,这时候我们也不知道发生了什么,如图所示

2.1K50

Switchquery:移动端秒级配置达平台

由此的Runner探索之旅开始了 随着移动互联网的快速发展,为满足各类用户及人群的体验需求,移动端的开发者们开发了丰富多彩的体验与功能。...同时对于快速控制各类功能的切换、灰度,降级等能力的要求也越来越高,例如通过配置快速打开某个灰度功能,通过配置信息的实时达关闭某个引起App崩溃的功能等等。...以下是Switchquery配置平台的时序图: 图1 达流程 1) 用户在Switchquery CMS 后台配置相关信息,目前平台上支持配置布尔类型、整型、字符串等类型的配置信息,可以配置App版本生效区间...4) 实时达方案在App原生端来实现此功能,同时对于App内嵌的小程序、H5、RN都提供了桥接组件,尤其webview也可以读取此配置信息来实现配置信息的实时获取。...配置创建 创建好业务模块后,在该业务模块下新建或者编辑配置,编辑界面如下图: 图4 配置创建 1) 开关编号:为当前开关配置分配的唯一标识编号; 2) 平台版本:目前支持android,apple,ipad

20210

教师监考系统开发记录

删除监考信息 需要输入考试编号和教师编号。逻辑同上。 更改考试信息 输入更改的考试信息的考试编号。会进行考试是否存在的检查。...在执行更改后查找的过程中,若考试信息的考试编号更改,会使用更改后的考试编号进行查找。 更改监考信息 输入更改的监考信息的考试编号和教师编号。逻辑同上。...表格table的动态生成: 每次在后端获取到JSON类型的数据库查询结果后,相应的表格都需要动态刷新(本质是清空原表单、动态生成新表单)。借助JS功能实现。详细请见源码。...或见此处JavaScript(JS)网页–动态生成表格_js调用服务器接口,html实现网页表格 设定input输入输入,提交表单form后,html不刷新: 默认情况下,当在input输入输入后,...shell的配置文件(此处是用的是bash shell,若使用的zsh shell,则是更改~/.zsh_profile) 打开后将scl enable devtoolset-7 bash添加到最后一行

18910

急速 debug 实战一(浏览器-基础篇)

最近在写代码的时候越发觉得不是代码有多难,而是当代码出了问题该如何调试,如何追溯本源,这才是最难的。 响应这个要求,决定写一个关于调试实战系列。本来不打算写这个基础篇章,为了整个的完整性。...问题 1.打开: http://yifenghua.win/example/debugger/demo1.html 2.在 Number1 文本框中输入 5。...各类断点使用概览 断点类型 情况 代码行 在确切的代码区域中。 条件代码行 在确切的代码区域中,且仅当其他一些条件成立时。 DOM 在更改或移除特定 DOM 节点或其子级的代码中。...事件侦听器 在触发 click 等事件后运行的代码中。 异常 在引发已捕获或未捕获异常的代码行中。 函数 任何时候调用特定函数时。 代码行断点 在知道需要调查的确切代码区域时,可以使用代码行断点。...DOM 更改断点的类型 Subtree modifications: 在移除或添加当前所选节点的子级,或更改子级内容时触发这类断点。

3.3K10

前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件

Step 1: 原生HTML表格 该应用程序的前端基于 ReactJS 构建,并由使用 JSX 语法、JavaScript 和 HTML 代码组合创建的组件构成。...Step 4: 实现导入导出Excel 到目前为止,我们已经了解了如何用 SpreadJS 电子表格替换静态销售表。我们还学习了如何通过 React 的钩子和回调在应用程序组件上传播数据更新。...我们设法用很少的代码提供了这些功能。你的应用程序看起来已经很棒了,并且你相信它将给你未来的客户留下深刻印象。但在此之前,让我们锦上添花。 你已经知道你的企业用户在日常生活中经常使用 Excel。...你如何实现这些功能?...此功能的访问点是另一个按钮,我们需要将其添加到 SalesTable 组件的 JSX 代码的末尾。请注意,这里我们使用不同的按钮类型:“文件”类型输入元素,它产生一个选择文件的按钮。

5.9K20

10-移动端开发教程-移动端事件

否则的话就是一个click事件。 由于双击缩放功能存在,click事件触发就会有大约200~300ms的延迟。...如何用户的手指从屏设备的边缘移出了屏设备,也会触发 touchend 事件。 touchend 事件的 target 也是与 touchstart 的 target 一致,即使已经移出了元素。...都是基于原生的touchstart、touchmove、touchend事件,封装成不同的手势类型自定义事件。...5.1 tap类事件 事件目前还不知道它和touch的区别,一般用于代替click事件,有tap longTap singleTap doubleTap四种之分。...移动端点击穿透问题 如果某个返回按钮的位置,恰好在要返回的这个页面的带有href属性的a标签的范围内,在点击返回按钮后,页面快速切换到有a标签的页面,300ms后触发了click事件,从而触发了a标签的意外跳转

6.7K80

10-移动端开发教程-移动端事件

移动端特有的touch事件 由于移动端设备大都具备触摸功能,所以移动端浏览器都引入了触摸(touch)事件。...2.4 touchend事件 ​ 当用户的手指抬起的时候,会触发 touchend 事件如何用户的手指从屏设备的边缘移出了屏设备,也会触发 touchend 事件。...都是基于原生的touchstart、touchmove、touchend事件,封装成不同的手势类型自定义事件。...5.1 tap类事件 事件目前还不知道它和touch的区别,一般用于代替click事件,有tap longTap singleTap doubleTap四种之分。...移动端点击穿透问题 如果某个返回按钮的位置,恰好在要返回的这个页面的带有href属性的a标签的范围内,在点击返回按钮后,页面快速切换到有a标签的页面,300ms后触发了click事件,从而触发了a标签的意外跳转

6.4K70

viewGroup与view对事件的处理

我们又是如何知道ACTION_POINTER_DOWN这个事件类型是属于触摸点a还是触摸点b? 在MotionEvent对象内部,维护有一个数组。...现在我们知道每一个MotionEvent内部都维护有所有控点的信息,那么我们怎么知道这个事件是对应哪个控点呢?这就需要看到MotionEvent的一个方法:getAction 。...这个方法返回一个整型变量,他的低1-8位表示该事件类型,高9-16位表示控点索引。我们只需要将这16位进行分离,就可以知道控点的类型和所对应的控点。...同时还要注意的是,MOVE事件和CANCEL事件是没有包含控点索引的,只有DOWN类型和UP类型事件才包含控点索引。这里是因为非DOWN/UP事件,不涉及到控点的增加与删除。...、事件类型更改等等,放在后面讲,接下来看看ViewGroup是如何分发事件的。

91310

Android Studio 知识储备 之 ✨-基础知识学习历程

[在这里插入图片描述](https://img-blog.csdnimg.cn/20210207150856836.png) 要被android studio的ui布局气死了 二、基于事件的监听机制...文字表述: 事件监听机制中由事件源,事件事件监听器三类对象组成 处理流程如下: Step 1:为某个事件源(组件)设置一个监听器,用于监听用户操作 Step 2:用户的操作,触发了事件源的监听器 Step...3:生成了对应的事件对象 Step 4:将这个事件源对象作为参数传给事件监听器 step 5:事件监听器对事件对象进行判断,执行对应的事件处理器(对应事件的处理方法) 归纳: 事件监听机制是一种委派式的事件处理机制...相关方法与属性: onTouch(View v, MotionEvent event):这里面的参数依次是触发触摸事件的组件,事件event 封装了触发事件的详细信息,同样包括事件类型、触发时间等信息...3.多点碰 原理类的东西: 所谓的多点碰就是多个手指在屏幕上进行操作,用的最多的估计是放大缩功能吧,比如很多的图片浏览器都支持缩放!

62330

接口测试平台代码实现93:用例库name更改

在之前的多接口用例开发中,发现了一个遗漏的功能。 就是用例的名字,没法进行更改。新建的用例也只会变成空名字,没法更改很难受,这个问题困扰很多同学一段日子了。...今天我们来快速实现这个功能。 而且也可以借此来熟悉下 如何去动旧功能,动旧功能时候要注意什么。...我们具体要动的地方原来代码如下: 也就是这里: 每当我们要更改一个旧功能的时候,最害怕的是什么?就是这个地方很可能牵扯到其他功能,作为测试的时候,我们不知道测试范围。...效果如下: 然后我们用户可以在这里输入新的用例名,那么如何保存呢?我们可以做个按钮保存也可以简单一点设计:当输入完,光标移开,鼠标点击其他地方的时候,自动保存。...当我修改完,光标移开后,触发了保存名称功能,的确是保存成功了。 但是因为我们没有刷新页面,所以关闭了左侧窗体后,大用例列表上的名字也并没有变化。

35930

Rxjs 响应式编程-第六章 使用Cycle.js的响应式Web应用程序

select(element).event(type)的行为与fromEvent类似:它采用DOM元素的选择器和要监听的事件类型,并返回发出事件的Observable。...提取输入框的值。 仅采用长度超过两个字符的文本。 将最终值附加到Wikipedia的API URL。 太棒了! 到目前为止,我们有生成UI的功能和从该UI检索用户输入功能。...MVI是被动的,意味着每个组件都会观察其依赖关系并对依赖项的更改做出反应。 这与MVC不同,MVC中的组件知道其依赖项并直接修改它们。...MVI中的三个组件由Observables表示,每个组件的输出是另一个组件的输入。 该模型表示当前的应用程序状态。 它从intent中获取已处理的用户输入,并输出有关视图消耗的数据更改事件。...总结 现在您知道如何开发使用现代技术的Web应用程序而不放弃响应性理念。 本章提供了如何使用Observables和RxJS作为其他框架或应用程序的内部引擎的想法。

3.2K30

使用 Chrome DevTools 调试 JavaScript

在 Number 1 输入 5。 在 Number 2 输入 1。 点击 Add Number 1 and Number 2。 看看输入和按钮下方的标签。 显示 5 + 1 = 51。 哎呦。...当你选中 click,你为所有 click 事件设置了一个基于事件的断点。 当任意节点被点击,并且该节点有一个 click 事件, DevTools 将自动暂停在该节点的 click 事件。...您可以使用其他类型的断点来暂停代码逐步靠近错误的位置,而不是逐步遍历每行代码。 步骤 4: 设置另外的断点 行断点是最常见的断点类型。 当你想暂停某一行代码,可以使用行代码断点。...其二,您可能不知道哪个变量与错误有关,所以您可能需要打印许多变量。 DevTools 的一个 console.log() 替代是 Watch 表达式。 使用监视表达式来监视变量随时间的变化。...按 Command + S(Mac)或 Control + S(Windows,Linux)保存更改。 代码的背景更改为红色,表示脚本已在DevTools 中更改

2.3K70
领券