Tv开发中Actionbar焦点问题

原创 2017年01月04日 02:22:01

最近一直在做系统的二次打包,主要就是把编译好的系统包重新加入一些apk、配置文件、可执行文件、脚本等,然后重新打包。在这个过程中遇到了很多问题,这里就先记录一个。
上周因为修复了一些bug,于是提交了一版测试。测试反馈的bug中有一个很神奇——系统的图库应用没办法用遥控器操作了,但是鼠标还是可以操控。我们这里用的图库就是Android系统中的Galley2应用。
一开始我百思不得其解,因为我上一版测试图库应用是可以用遥控器操作的,这个突然不能用遥控器了,让我感觉很疑惑,因为修复的那几个bug根本不可能影响到这个焦点。既然提了bug那还是得去排查,这里我陷入了一个误区,因为我直接就去查看Galley2源码了,其实最快的办法应该是首先对比两版测试到底有哪些差异,如果排除了这些差异的影响,最后才是查看分析源码。
我分析了半天,最后发现其实控件还是可以获取焦点的,只是需要强制获取一次焦点,不过这样还是有一个问题,ActionBar上面的控件完全没有办法获取焦点,无论怎么强制赋予焦点都没有任何作用。于是我开始各种搜索关于ActionBar焦点的问题,可惜最后没有一个有效的办法。
我甚至还怀疑过是应用主题设置的问题,因为系统是6.0的,但是这个Gallery还是用的Holo的主题,可惜改来改去还是不行。
最后没有办法了,我回到了一开始我提到的那个办法,排除两版系统的差异。我首先选择的是查看第二版测试中新增的东西,这里改变最大的就是增加了GMS。于是打开GMS目录,发现里面有一个etc的文件夹,看到这个文件夹我仿佛看到了希望的曙光。因为Android系统的很多配置文件都在/system/etc/目录下面,接着我打开etc目录,发现里面有一个permmissions文件夹,最里面是一个features.xml文件。
打开features.xml文件我发现了一个很熟悉的标签:feature。然后百度了一下/system/etc添加feature标签的意思就是表示系统支持哪些特性,比如相机、蓝牙、NFC之类的。仔细检查features.xml文件里面的每一个标签,我又发现了一个很奇怪的属性:touchscreen(你说我一个好好的机顶盒怎么跑来支持触屏了呢?我根本没有屏幕的好么?),果断将该属性注释掉,替换系统中的features.xml文件,重启之后,图库应用又能正常使用啦。
当然最后,你要问我为什么触屏设备不支持遥控器操作ActionBar,这个我真不太明白。我这篇文章主要收获就是:
第一再遇到这种因为版本差异出现的bug,我们应该先排查是哪个差异带来的bug,而不是一开始就去找某个应用的源码
第二关于/system/etc文件夹内容的,这个里面有很多配置文件,我们在改动或者新增文件的时候,一定要明白这些改动会带来什么样的影响

版权声明:本文为博主原创文章,未经博主允许不得转载。

android 焦点获取问题(手机端和TV端)

android 焦点获得

RecyclerView 在tv端 焦点问题

recyclerView 在TV端使用中,焦点会乱跳的bug

Android中RecyclerView在TV中处理控件焦点移动,EditText值的修改,CheckBox复用等问题解决

前言  这篇博客是 :Android中RecyclerView的item中控件的点击事件添加删除一行、上移下移一行的代码实现 的后续篇。主要是讲RecyclerView在TV中控件焦点移动的处理以及...

安卓Tv开发(一)移动智能电视之焦点控制(触控事件)

前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验风格上有很大的区别,本系列博...

安卓Tv开发(二)移动智能电视之焦点控制(按键事件)

Instrumentation提供了丰富的以send开头的函数接口来实现模拟键盘和鼠标。本系列将实现遥控器焦点控制,模拟鼠标点击,视频在线直播,和手机当遥控器等功能,带给你不一样的开发体验。...

智能TV开发笔记(三)简单的焦点控制--继续篇

最初接手电视时,有个朋友发我一个demo,是关于焦点的。今天,我就想来仔细阅读一下这个demo.          从第一个MainActivity开始          布局代码:activit...

Android TV开发 焦点框

Android TV开发 焦点框 对于TV或者投影设备来说说,各种事件的处理,主要依赖于遥控器,通过焦点框来显示焦点出现的位置 一般可以通过响应事件来切换控件的背景(例:drawable/select...

android tv开发基础知识焦点处理

android tv开发基础知识焦点处理

android tv 开发的列表条目在获得焦点时的背景效果

项目要做一个列表,给出的条目获得焦点时的图片是这样的,看这个图片,边框发光的效果范围超大,如果按正常的做法,要使条目中文字显示正常,就要把每个item的高度设为很高,这样显然不适合要求,让设计师将焦点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tv开发中Actionbar焦点问题
举报原因:
原因补充:

(最多只允许输入30个字)