android TV盒子开发心得(一)
来源:互联网 发布:工业设计常用建模软件 编辑:程序博客网 时间:2024/04/30 15:55
今天给大家介绍一下本人在开发android TV APP的时候所遇到的一些问题及心得体会,希望能帮助各位解决问题
首先,简单介绍一下TV开发和手机开发的不同之处:
1.我们在开发TV的时候,经常会遇到焦点的处理问题,如何去移动焦点?如何让焦点定位在自己设定的控件上?
移动焦点:在这里我们需要使用onKeyDown()的方法,进行一个焦点的上下移动的处理,onKeyDown的使用方法网上有详细介绍
焦点定位:img.requestFocus(); 在xml中我们还需要设置一个android:focusable="true"的属性,当然你还有需要去设置一下获取焦点的背景色
2.在手机上我们一般会使用viewPager+fragment的控件来作为整个APP的布局方式,但是,在TV开发中是不提倡使用ViewPager的,因为在TV中界面的移动是依靠焦点的变化,举一个简单 的例子,我们有两个Fragment界面,在两个Fragmnet界面分别使用recyclerView加载了一定的网络数据,当我们的焦点在recyclerView 上的item上时,将焦点移动至recyclerView最右侧时,继续按右键,那么这个时候fragmen就会进行切换,这样的话是不符合TV开发的需求的
3.在TV开发中,使用的setOnFocusChangeListener()方法,是用来监听焦点的改变的,一般我们用来监听控制Fragment的移动
4.在开发中有时可能会遇到焦点找不到的情况,,比如说我们使用RecyclerView来加载数据,这时需要在xml中,添加android:descendantFocusability="afterDescendants"这一行代码,至于这行代码的意思网上有介绍,大致上就是说父控件和子控件之间的焦点获取的关系,
5,同样使用Recycelrview加载数据,当焦点向下移动时recyclerView就会向下滑动,这个时候,就会发生焦点不在当前页面上的情况,当然这种情况也要看自己的布局任如何写的,要是想检测在RecycelrView中当前获取焦点的是哪一个item的话,只需要在onBind...()中加上setOnFocusChangeListener()方法就OK了
以上是一点关于本人TV 开发中遇到的问题和解决办法,希望能够帮到大家,另外,android TV的开发其实是有他专门的开发框架的,感兴趣的可以自己研究,以上的方法对于有过手机开发的人来说,更容易上手一些,也简单一些,下次再更新其它的内容
- android TV盒子开发心得(一)
- android TV盒子开发心得(二)
- android Tv盒子开发 焦点
- 一步一步学习Android TV/盒子开发(一)
- Android 开发TV与盒子常用命令
- Android TV 盒子开发焦点控制
- 关于android TV开发的若干心得
- Android TV开发总结(一)
- android TV盒子开发------控制editext弹出输入法
- Android电视TV盒子开发——常用ADB命令
- 一步一步学习Android TV/盒子开发(二)
- 一步一步学习Android TV/盒子开发(三)
- Android电视TV盒子开发——常用ADB命令
- Android TV 开发笔记一:环境搭建
- 智能电视,盒子,TV开发总结
- 乐视tv真机开发调试,乐视盒子开发者模式,乐视android 开发调试模式
- Android TV 智能电视/盒子 APP 开发焦点控制 两种方法实例
- android TV 开发 (一) 准备开发电视应用
- Android Transition 和 Activity & Fragment Transition详解(二)--Android Transition框架介绍
- JAVa Web从入门到上机学习
- setfacl权限
- leetcode 36 Valid Sudoku C++
- setserial 命令使用
- android TV盒子开发心得(一)
- iframe页面滚动条置顶
- Centos5.8下搭建svn
- hdu 2059 龟兔赛跑 水题
- 欢迎使用CSDN-markdown编辑器
- ipsec vpn iso-vyos
- 中间件漏洞检测框架(F-MiddlewareScan)屌丝归档笔记
- Java(JVM)内存模型,垃圾回收
- mongodb权限设置之添加管理员、普通用户的方法