博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android使用遥控器模拟鼠标拖拽操作
阅读量:6583 次
发布时间:2019-06-24

本文共 749 字,大约阅读时间需要 2 分钟。

在android2.2版本上添加遥控器支持,这里遥控器跟电视机用的遥控器样子差不多,只不过比电视机的遥控器多出了几个定制的功能按钮。

点击遥控器上的切换键,当切换到鼠标模式下的时候在android视图上自绘一个类似鼠标的箭头,点击上下左右的时候可以让鼠标箭头上下左右移动。也可以在鼠标所在的位置触发鼠标左键类似确定键等功能。但如果遇到网页显示不全需要模拟拖拽操作来看那些没有显示完全的东西。这里就需要对模拟鼠标操作做一些处理,让遥控器也能够进行拖拽。

使用遥控器能够拖拽,在浏览网页以及玩游戏上就大有用处啦,比如用遥控器玩愤怒的小鸟等等。。。

主要对 WindowManagerService.java 文件进行修改,然后在进行模块化编译,最后在push到android系统中就可以使用了。

模拟拖拽就类似与,我们用手去操作触摸屏,当我们用手在屏幕上按下某处,然后滑动这时就产生了拖拽功能,我们就模拟此操作,就能完成我们想要的功能。

在遥控器上增加一个按键或者修改原按键为鼠标长按切换按键,当按一下时状态切换为长按,在按一下时状态为手松开或者左键弹起操作。

一个按键被按下会产生两个状态一个是Down一个是UP。在切换到鼠标模式下,然后截获按钮按下和抬起的操作。假如键值20是模拟鼠标长按状态的按键。增加标识符,当长按键被按下时先判断当前状态,如果为长按状态,则触发鼠标抬起操作,如果不为长按状态则触发鼠标长按状态。这里当切换到鼠标模式下,则要时刻记录当前鼠标箭头所在的坐标。当在长按状态下时,在执行上下左右移动时则模拟触发ACTION_MOVE 事件,然后对方才保存的坐标值进行x,y加减这样就能产生拖拽操作了。

说的有点啰嗦,但大致思路是这样。

上面说的拖拽功能已经测试实现,代码就不贴啦。。。 

转载地址:http://vzano.baihongyu.com/

你可能感兴趣的文章
STAR法则
查看>>
Ubuntu 16.04 LTS 安装Mongodb 3.4
查看>>
10-JavaScript之DOM的事件操作
查看>>
[ZJb417]区间众数
查看>>
陶哲轩实分析习题8.5.12
查看>>
陶哲轩实分析 命题7.2.5 证明
查看>>
UIImageView02
查看>>
WebRTC开发者必备 | 《WebRTC1.0: 浏览器间实时通讯》中文版免费下载
查看>>
ASP.NET MVC 4 Ajax上传文件
查看>>
C#Contains方法的错误理解
查看>>
SQL Server JDBC 驱动中sqljdbc.jar和sqljdbc4.jar的区别
查看>>
软件的可移植性
查看>>
webpack打包项目时typescript报错The 'files' list in config file 'tsconfig.json' is empty.的解决方法...
查看>>
关于absolute 和 relative 定位的定义
查看>>
Robolectric结合Android Studio的使用
查看>>
c#控制台中如何实现回车键退出任意键继续
查看>>
历届试题 错误票据
查看>>
评论功能
查看>>
常见ES6新属性
查看>>
cesium primitive方式 ————http://blog.sina.com.cn/s/blog_15e866bbe0102y0ji.html
查看>>