android framework开发-Input中触摸圆点与触摸轨迹源码分析

Android 11 触摸小圆点显示流程 当SHOW_TOUCHES 这个key的值有改变时,调用updateShowTouchesFromSettings方法,在updateShowTouchesFromSettings方法中,是调用nativeSetShowTouches这个native方法,直接来看下这个方法。小圆点的图片资源已经被加载,并将其保存在相应的变量中了,接下来就需要将其显示出来了。在开发者选项中,打开 “显示点按操作反馈” 开关,当我们在触摸屏幕时,会显示一个小圆点,来分析下小圆点的显示流程。 阅读详情

其实我们在debug调试触摸相关时候经常会到开发者选项中开启小圆点,来方便定位我们的触摸手机屏幕的一个情况,下图就是小圆点的,那么我们就来分析这个小圆点到底是怎么展示出来的,随着我们android开发时间变长,只是调用API或者学个新的很快又会框架过时的框架比如以前推MVC,后面又推MVP,。。。。。等,远没有深入底层了解系统有技术沉淀,为啥?因为android操作系统本身代码的更新很慢,不会发生翻天覆地变化,基本Framework开发系统开发工程师在市场也很有需求,而不是普通app开发,架构和流行技术今天,明天到处更新。
在这里插入图片描述

我们看到它其实都感觉小圆点好方便,让我清楚看到自己触摸了屏幕没有,或者又是测试报bug时候有没有误触等,就可以通过这个小圆点非常明显的展示。
我们分析流程都是从设置中的开关开始分析,设置中开关一般会导致对应Setting值的变化,然后SystemServer有对这些setting值进行一个监听判断。

触摸圆点在InputReader阶段进行绘制,以下是具体的一个绘制流程的相关方法调用过程:
在这里插入图片描述

在小圆点分析完成后,我们分析手机上也可以在开发选项中开启触摸轨迹,这里我们也来分析一下触摸轨迹的绘制流程
在这里插入图片描述

轨迹是GlobalMonitor接收后绘制窗口,属于一种应用接收全局事件再绘制行为,具体的代码分析流程图如下:

在这里插入图片描述

Android opengles 实现触碰屏幕,根据运动轨迹画直线的功能 Android opengles 实现触碰屏幕,根据运动轨迹画直线的功能目录引言第一步,先自己学会绘制一条固定坐标的直线第二步,动态的绘制一条直线第三步,坐标转换第四步,绘制多条直线代码 目录 引言 由于项目功能需要,要做一个能自定义画直线的功能,网上找了许多文章或项目demo,没找到画直线的,反而是更进一步的实现类似“绘画板”功能的代码和教程较多;但是,这样的功能下,假如使用者想画一个规则的图形——比如直线,那么必须手不能抖笔直的画出来才行,应用到我这个项目里的话实在太反人类了,很不合适,于是就只好自己做 阅读详情

相关推荐

Android TP 触摸异常分析

Android TP 触摸异常分析

u011360996的博客 2939

Android源码阅读技巧--查找开发者选项中显示触摸操作源码

在开发者模式下,在开发者选项中,可以勾选“显示触摸操作”,然后只要点击屏幕就会在点击的位置有圈圈显示。如何找到绘制圈圈的代码部分,有什么技巧来阅读代码量这么大的android系统源码呢?以下请跟着小老弟我来一起分析吧。 1. android设置功能的代码是在packages/apps/Settings/里面的,所以在Settings中搜寻关键的字符串, 在源码目录下终端输入 grep -rn "显示触摸操作" ./packages/apps/Settings/ 搜到...

marcushbs的博客 884

Android触摸轨迹绘制与特效实战

在Android开发中,自定义View是一种常见的需求,通过继承View类并重写其方法来实现特定的UI展示。onDraw方法是View类中非常重要的一个方法,用于将视图绘制到屏幕上。onDraw方法会传入一个Canvas对象作为参数,这个Canvas对象就是用来绘制图形的画布。要创建一个自定义的View,首先需要创建一个新的类并继承自View类或者其子类。以下是一个简单的示例代码,演示如何创建一个自定义View类:// 构造函数,可能需要调用父类的构造函数传入Context。

weixin_32047493的博客 397

android touch事件坐标原点,图解Android:Touch事件传递机制

前言Android事件管理机制是一名专业Android研发工程师必须要了解的核心知识之一,深入了解一下该机制无论对我们日常开发还是找工作,乃至于对我们的架构思想都有很大的帮助。Android中我们用到的最多的事件是InputEvent,主要是两类:MotionEvent和KeyEvent。由于事件传递模型基本一致,我将以更常用到的MotionEvent为目标来讲解。根据实际开发的需要,本文仅讲解t...

weixin_39640883的博客 418

Android中屏幕触摸轨迹的绘制、保存与播放

选择一张图片作为画布,绘制触摸轨迹,可对图片进行保存或播放触摸轨迹。

基于matlab的车牌识别(含子程序)

基于matlab的车牌识别系统一、对车辆图像进行预处理1.载入车牌图像:function [d]=main(jpg) [filename, pathname] = uigetfile({'*.jpg', 'JPEG 文件(*.jpg)'}); if(filename == 0), return, end global FILENAME %定义全局变量 FILENAME = [pathname f...

TuTu998的博客 4万+

一张图秒懂Android事件分发机制

先上干货: 1.小白看过来(概念讲解) 1.1 事件分发的对象是谁? 答:点击事件(Touch事件) 定义 当用户触摸屏幕时(View 或 ViewGroup派生的控件),将产生点击事件(Touch事件) Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象 事件类型(4种) 事件类型 具体动作 MotionEvent.ACTION_D...

MR CUI的专栏 360

微信内置浏览器抓包全攻略:从ADB配置到Chrome调试(附常见问题解决)

本文提供了一套完整的微信内置浏览器抓包与调试解决方案。从ADB工具的深度配置与稳定性连接开始,详细讲解了如何开启X5内核调试开关,并利用Chrome DevTools建立远程连接。文章重点剖析了Network面板进行网络请求抓取、性能分析和问题定位的实战技巧,并附带了设备连接失败、无网络请求等常见问题的排查指南,帮助开发者高效解决微信H5页面调试难题。

gitlab7runner的博客 543

千里马Android Framework-input系统专题blog目录集合

千里马Android Framework-input系统专题blog目录集合 这里将会列出视频课程中所有的可能用的相关资料集合blog链接

learnframework的博客 2189

电路设计学习一:DAC/ADC原理

文章目录参考文献DAC基本原理DAC分类倒T型电阻网络权电流转换器DAC的性能指标分辨率转换速度ADC基本原理ADC分类ADC的性能指标ADC的位数分辨率基准源转换速率量化误差 参考文献 DAC数模转换/ADC模数转换 单片机 AD/DA数模转换 模数转换(A/D)与数模转换(D/A) DAC基本原理 DAC将输入的数字量按权的大小,通过电阻网络转化为模拟量,再通过加法电路,转换为与数字量成比例的模拟量。 实际上就是二进制转换为十进制的过程。 基本组成包括锁存器、电子开关、基准源、权电阻网络和求和电路。 锁

coin的博客 3万+

二维码扫描与页面跳转的完整流程解析

本文详细解析了二维码扫描与页面跳转的完整流程,从核心原理到前后端实现,涵盖了二维码生成、扫码事件处理、后端验证机制及跳转逻辑等关键环节。特别介绍了如何使用qrcode.js生成二维码、WebSocket处理扫码状态以及JWT令牌验证设计,帮助开发者构建安全高效的扫码跳转系统。

cicd6pipeline的博客 1089

Android手势源码浅析-----手势绘制(GestureOverlayView)

前言:Android关于手势的操作提供两种形式:一种是针对用户手指在屏幕上划出的动作而进行移动的检测,这些手势的检测提供android提供的监听器来实现;另一种是用户手指在屏幕上滑动而形成一定的不规则的几何图形(即为多个持续触摸事件在屏幕形成特定的形状);本文主要是针对第二种手势的绘制原理进行浅析,我们姑且称它为输入法手势;     1. 输入法手势        在Android源码中,

stevenhu_223的专栏 2万+

2026年华为od机试真题题库

OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)OD统一考试(E卷)

面试高手的博客 19万+

Android游戏开发之触摸轨迹曲线的实现处理(二十四)

Android游戏开发之触摸轨迹曲线的实现处理 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.youkuaiyun.com/xys289187120/article/details/6696734 在上一章的学习中我们已经知道如何处理游戏中的触摸事件,这一章将向同学们介绍绘制游戏触摸轨迹的曲线图,在onTouch...

mmdev 257

DeepSeek Harness 工程实践与高级特性:从测试到安全的完整指南

AI Agent 能执行命令、读写文件、自主决策,能力越强风险越大——删文件、泄密钥、死循环、竞态条件随时可能发生。本文是 DeepSeek Harness 系列第三篇,深入剖析其工程实践与高级特性:从单元测试到真实 API 冒烟测试的分层策略,拒绝 Mock 依赖、坚持"验证世界而非自我报告";从正交结果、规范化契约到 Dispose 静止的防御式编程铁律;以及跨平台多层进程沙箱、文件系统版本守卫、fail-closed 审批机制、模型编写的工作流引擎与上下文压缩等高级能力。

program哲学 207

万字长文带你由浅入深夯实ARM汇编基础——汇编指令及寻址方式最全梳理(附示例)!

见到汇编就害怕?读完这篇,扫除汇编拦路虎!!(示例丰富,可做手册,随手查阅!)

车载系统攻城狮 1万+

android 触点轨迹绘制(代码)

onTouchEvent函数: 单点触控处理流程 event是通过event.getAction()获得的,一般最少需要考虑下面这三种情况 MotionEvent.ACTION_DOWN: 手指 初次接触到屏幕 时触发。 MotionEvent.ACTION_MOVE: 手指 在屏幕上滑动 时触发,会多次触发。 MotionEvent.ACTION_UP: 手指 离开屏幕 时触发。 多点触控 ev...

空之境界 2934

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android 画直线轨迹,Android 画出触摸轨迹

package com.android.gameview5;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graph...

weixin_33641391的博客 539

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android游戏开发中绘制游戏触摸轨迹的曲线图

https://www.fgba.net/sitemap.xml

wubaohu1314的博客 896

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android input专题--触摸事件中Split相关课程笔记

Android input专题–触摸事件中Split相关课程笔记 应用层面Activity的Window最常见控制可以通过设置windowEnableSplitTouch 在values/styles.xml中的theme中设置, 可将theme设置给Application或者Activity,但是这个属性控制的是Window的属性。 <resources> <!-- Base application theme. --> <style name="AppT

liaosongmao1的专栏 528

【转】Android-Input 触摸设备

https://source.android.com/devices/input/touch-devices 触摸设备 Android 支持各种触摸屏和触摸板,包括基于触控笔的数字化板。 触摸屏是与显示屏相关联的触摸设备,使用户能够在屏幕上直接操纵内容。 触摸板是不与显示屏相关联的触摸设备(如数字化板)。触摸板通常用于指控或绝对间接定位或基于手势的界面控制。 触摸设备可能具有功能与鼠...

weixin_30371469的博客 1395

Android input touchpanel驱动流程

TP的硬件接口 硬件原理图可以结合查看Android Qcom Display学习博客中的部分,硬件接口主要是 中断引脚:TS_INT_N GPIO80 复位引脚:TS_RESET_N GPIO71 总线通信:TOUCH_SCL TS_I2C_SCL/SDA GPIO7 GPIO6 供电相关:LCD_IOVDD_1P8 VREG_L9A_1P8 1.65V to 3.3V TP使能引脚:TOUCH_3V3_EN_GPIO90 GPIO45 部分dtsi &qupv3_se2_i2c {

Android驱动开发 2986

Android FrameWork Input触控事件处理流程 笔记

input 是最常见的事件之一,用户的点击、滑动、长按等操作,都属于 input 事件驱动。标识 Input 事件区域,这里可以看到一个 Input_Down 事件 + 若干个 Input_Move 事件 + 一个 Input_Up 事件的处理阶段都被算到了这里。队列(“aq”)中记录的是应用需要处理的Input事件,这里可以看到input事件已经传递到了应用进程。队列里面记录的是已经派发给 App(“wq”),但是 App还在处理没有返回处理成功的事件。

zhangqiluGrubby的博客 2746
上一篇: android Input专题- Q/R/S 10/11/12 InputReader源码分析1
下一篇: android framework InputManager模拟触摸事件inject详解实战开发-视频课程笔记
千里马学框架
博客等级 码龄6年 1万+粉丝 650原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值