在针对会议平板或大型显示设备(Android系统)中,大部分情况下需要通过鼠标、键盘或者遥控器来控制显示界面,以弥补因设备尺寸等因素导致的无法完全触摸整个设备屏幕的缺陷。因此,以上情况下的解决方案之一就是进行遥控器适配。

在基于原生Android的遥控器适配下,最为重要的是针对焦点的控制。可以划分为“焦点态”、“选中态”和“无焦点态”。

焦点态:指当前遥控器的“光标”默认选中某个控件,或者指悬浮于某个控件上,但未选中。

选中态:指当前遥控器通过点击“确定”来完成相关控件下的特定指令,然后赋予选中效果。选中态一定是经过焦点态后再进行选中,当然由特殊按钮直接完成的操作不需要焦点态为前提

无焦点态:指无特别指示信息的,和原来一样的展示。

在焦点态的使用中,可以使用selector完成相关控件的background进行设定:

其中使用state_focused来完成当前控件是否有焦点的判定。

在xml布局中,焦点的指定和判别也十分重要,这里引用descendantFocusability用法

当然,谈到遥控器就一定会有View.OnKeyListener监听,可以通过针对相关控件或布局进行key监听,从而完成不同KeyEvent或KeyCode(上、下、左、右、确定、返回)的相关操作响应。这里附上Android Keycode详解

@Override

public boolean onKey(View v, int keyCode, KeyEvent event) {

return false;

}

android遥控器管理,Android 遥控器适配相关推荐

  1. 麦克风android权限管理,android权限处理详解

    写在前面 对于android 6.0来说,增加了权限的管理,能够更好的保护用户的隐私,当用户需要某权限时,才动态的去申请.用户也可以在应用权限管理里面关闭和打开.为了方便以后使用,这里对权限使用相关做 ...

  2. 原生android 权限管理,Android 权限管理(原生、EasyPermissions、RxPermissions)

    前言:动态权限管理是Android6.0(Build.VERSION_CODES.M = Api23)推出的,提醒用户当前APP所需要的权限,防止滥用.这些权限一般分为三种:(1)普通权限:直接man ...

  3. android新闻管理,Android资讯新闻类App(头条、网易等),频道管理集成之数据库存储...

    Android资讯新闻类App(头条.网易等),频道管理集成之数据库存储 发布时间:2019-01-16 19:55, 浏览次数:305 , 标签: Android App * 经常看新闻类的大家都知 ...

  4. android cookie管理,Android中Cookie获取、保存以及同步

    1.先看一下Chrome中的Cookie信息 访问首页信息时: 1.第一次调用的Header信息 2.再次请求时Header信息 第一次请求时,服务器会在Response Header中带过来一个Se ...

  5. android 分支管理,Android Studio git使用,包括协同开发,分支管理。

    首先要有几个概念. master是主分支,永远是当前发布出去的版本. 而开发则是在分支上进行的,比如新建一个Dev分支. 那么大家都在Dev分支上开发,发布的时候由小组长合并到master分支上. 并 ...

  6. android aar管理,android 库依赖管理之一aar依赖

    依赖分为公共mavn库依赖,私有maven库依赖,本地仓库依赖,aar依赖,module直接依赖. 方案1: repositories { flatDir { dirs 'libs' } } depe ...

  7. android 图库管理,Android调用系统图库

    上面一篇讲到Android调用系统相机时遇到的兼容性问题,没想到选择系统图库的时候竟然也遇到了系统兼容性问题,在这里记录下解决方案吧. 首先是调用系统默认图库代码: Intent intent = n ...

  8. android日记管理,Android日志管理Logger框架的简单介绍

    Android开发中,我们常常用到日志打印.利用系统的Log打印可以满足大部分需求,如果想使用起来更方便一般会在系统Log的基础上再进行封装.比如可以全局定义Tag,亦或是定义一个变量,控制Debug ...

  9. android 闹钟管理,android闹钟实现原理

    闹钟的原理可用下面我自己画的一幅图来概括:(不对的地方,尽管吐槽 ) 我们来看看新建闹钟到闹钟响铃的步骤: 1.新建一个闹钟: // 获得AlarmManager实例 final AlarmManag ...

最新文章

  1. 【Java从0到架构师(2),Java面试问题
  2. 敏捷开发的根本矛盾是什么?从业十余年的工程师在思考
  3. [八]RabbitMQ-客户端源码之ChannelN
  4. C++远征之封装篇——类和封装、实例化和对象成员访问
  5. 微信公众号通过链接实现关注(盗用广告主流量主)
  6. vsftpd安装与配置
  7. 时间片轮转调度算法的模拟时间片轮转调度算法(RR算法)(队尾C++实现)
  8. TeamViewer三种许可证的区别是什么?
  9. Excel K4宏病毒专杀
  10. 网络文件传输工具,秒杀各种网络文件传送工具的镭速云
  11. java牛客网输入输出
  12. radare2 和 EVM
  13. 如何零基础学习法语,陈家桥法语零基础入门学习
  14. k8s多节点master部署
  15. 第一次写,好不容易,最基本的C++题目
  16. 抠图扣发丝ps修图扣证件照p图扣毛发
  17. 计算机基础结构化程序设计,《计算机程序设计基础》教学课件:8_2~8_3_结构化程序设计...
  18. Git——SSH免密登录
  19. Python文本分析(NLTK,jieba,snownlp)
  20. 电子商务企业如何把握大数据?

热门文章

  1. 服务器管理员账号sa,一次利用MSSQL的SA账户提权获取服务器权限
  2. java中短信验证登录_java实现短信验证码功能
  3. java -cp 的使用
  4. 【UGUI】横向与纵向布局组件
  5. 阿里“中供系”前世今生:马云麾下最神秘的子弟兵(一)
  6. svg图放大、缩小、拖拽
  7. SpringBoot实现二维码生成
  8. 导入Excel时数据类型处理工具类
  9. Meltdown: Reading Kernel Memory from User Space论文翻译
  10. 前端获取QQ音乐(mp3+m4a)