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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/wainiwann/archive/2011/12/08/2280731.html

android使用遥控器模拟鼠标拖拽操作相关推荐

  1. Axure 10 案例:模拟鼠标拖拽画框线的效果

    介绍 鼠标拖拽画框线是我们常用的操作.可以通过Axure来完美的模拟鼠标拖拽画框线的效果,当接触到了其他控件的时候,可以通过交互来表示接触状态. 今天,就让我们来学习如何制作它. 预览效果 预览原型 ...

  2. Unity-Live2d(鼠标拖拽触发动作变化)

    Unity-Live2D 概述:这是我学习Unity中Live2d的相关操作的一个笔记,欢迎各位同好和大牛的指点.(参考siki学院出的视频学的) 注:由于这个鼠标拖拽操作内容相较之前来说有点多,所以 ...

  3. 自动化测试之鼠标悬浮操作、双击、鼠标拖拽

    鼠标操作.封装在ActionChains中 -move_to_element -double_click 双击 -context_click right_click 右键 -drag_and_drop ...

  4. [模拟拖拽] 模拟将一个文件拖拽到一个软件窗口上,实现拖拽操作(微信语音播放器)...

    "金蛇语音播放器" 是我随便写的一个假名.要实现的功能是: 我在网上下载了一个播放器,在自己公司的软件中使用,用来播放微信的语音. 因为版权问题,我不想让别人知道我用的是金蛇播放器 ...

  5. php 模拟鼠标点击,Python全局模拟鼠标点击操作(以至善网无聊评价点击作为案例)...

    Python全局模拟鼠标点击操作(以至善网无聊评价点击作为案例) 环境 python3 依赖 PyAutoGUI 简介 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动 ...

  6. Python全局模拟鼠标点击操作(以至善网无聊评价点击作为案例)

    Python全局模拟鼠标点击操作(以至善网无聊评价点击作为案例) 环境 python3 依赖 PyAutoGUI 简介 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动 ...

  7. WPF 的拖拽操作(DragDrop)

    在WPF中似乎没有对拖拽操作进行改变,和以前的方式一样.如果曾近在 Windows 窗体应用程序中使用过鼠标拖放,就会发现在 WPF 中的编程接口实际上没有发生变化.重要的区别是用于拖放操作的方法和事 ...

  8. java鼠标左键按下后拖动实现多选_鼠标拖拽多选功能

    鼠标拖拽多选功能 *{ box-sizing:border-box; } ul{ width:500px; height:auto; margin:0; padding:20px; font-size ...

  9. html点击控制盒子左右移动,JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例...

    JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例 发布时间:2020-10-04 12:47:25 来源:脚本之家 阅读:121 作者:s_psycho 本文实例讲述了JS实现鼠标拖拽盒子移动及右键 ...

  10. UE4 二维地图的缩放与拖拽操作

    这里写自定义目录标题 UE4 二维地图的缩放与拖拽操作 拖拽和缩放 基础搭建 添加小图标 地图缩放 地图拖拽 实现部分 效果展示 小图标的重合显示 效果展示 UE4 二维地图的缩放与拖拽操作 纯蓝图实 ...

最新文章

  1. 配置yum源并与公网同步更新
  2. SMA携手LG推出住宅光伏储能逆变器
  3. 声场模型如何区分近场和远场
  4. Oracle查找包共用,oracle – 用于查找包的多级依赖关系的脚本
  5. SAP CRM WebClient UI控制器方法DETACH_STATIC_OVW_VIEWS的作用
  6. mysql 连接 内存溢出_mysql - MySQL中止连接未知错误 - 堆栈内存溢出
  7. sfs2x 连接 mongodb
  8. 在php 添加时间,在PHP中添加时间
  9. SpringBoot (6)---RestTemplate方法详解(2)
  10. 浏览器兼容性小记-DOM篇(二)
  11. java通字乱码_Java解决通信过程的中文乱码的问题
  12. 学习操作系统的关键一步!
  13. 如何提高自己代码的可读性?
  14. Python常见实体提取库Duckling,多语言,实体如日期、金额、距离
  15. 达观数据中标大华智能搜索平台,助力企业打造知识共享系统
  16. 关键词优化外包陷阱,你中招了吗?
  17. 中国银联mPOS通用技术安全分析和规范解读
  18. 金蝶EAS绿色客户端配置
  19. 计算机基础知识比赛主持稿,计算机基础技能大赛.doc
  20. 安装计算机一级出现appcrash,appcrash,详细教您运行程序出现appcrash错误该如何解决...

热门文章

  1. iOS 地图移动中心点获取
  2. python描述符 descriptor
  3. PHP + ORACLE 远程连接数据库环境配置
  4. mysql数据库管理工具navicat for mysql怎么用
  5. Javascript-history.go()和history.back()的用法和区别
  6. Php与Mysql关系揭秘
  7. Swift翻译之-关于Swift
  8. [Material Design] 打造简单朴实的CheckBox
  9. RN listView使用
  10. BZOJ1934[SHOI2007] Vote 善意的投票