今天给大家介绍一下本人在开发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盒子开发心得(一)相关推荐

  1. android 开发tv盒子,一步一步学习Android TV/盒子开发(二)-Go语言中文社区

    TV.机顶盒开发调试不能像手机一样通过USB线连接调试,可通过ADB连接调试 连接电视 adb connect 10.74.84.199 连接后就可以开始开发调试了! 断开连接 // 断开某个设备 a ...

  2. android Tv盒子开发 焦点

    不知不觉入坑做电视两年多了,终于有时间停下来写点什么,希望对大家用用. TV开发最大的特色是焦点和焦点动画. 由于电视机输入方式是按键,因此焦点很重要.焦点相当于选中效过果,只有被选中后,那个view ...

  3. 一步一步学习Android TV/盒子开发(一)

    写在前面的话: 本人做了几年的机顶盒和Android电视上的应用开发,写这些文章只是为了让初次接触大屏开发的同学能够快速上手. TV端因为没有触控操作,只有遥控操作,所以焦点处理.控制以及按键监听是其 ...

  4. android TV盒子开发遥控器按键的监听

    代码如下: public class MainActivity extends Activity {private String TAG="key";@Overrideprotec ...

  5. Android智能硬件开发心得总结(二)

    Android智能硬件开发心得总结(一) 6.关于屏幕显示 每次一个新项目的开发,我所做的第一件事就是确定所选定显示屏的型号规格,然后将规格书发给主板供应商让其先调屏参. 调屏参是很可能会出现无法点亮 ...

  6. [译]MediaSession MediaController – Android TV 应用开发教程九

    版权声明:本文为博主原创翻译文章,转载请注明出处. 推荐: 欢迎关注我创建的Android TV 简书专题,会定期给大家分享一些AndroidTv相关的内容: www.jianshu.com/c/37 ...

  7. android+tv盒子+主界面,x96max+ 盒子 与 CoreELEC系统配置(三)AndroidTV刷机记录

    x96max+ 盒子 与 CoreELEC系统配置(三)AndroidTV刷机记录 2020-03-19 22:05:49 39点赞 211收藏 59评论 本文简要记录一下AndroidTV的刷机过程 ...

  8. Android TV机顶盒开发总结

    写在前面 前几天看了LOL洲际赛.好久没赢的LPL赢了,嗯对,抗韩成功了,心血澎拜到想写篇大作.然而总感觉怪怪的,想想算了吧.当LetMe传送拆塔偷掉对方基地的时候,解说忍不住哭了.是的,LPL太需要 ...

  9. Android TV UI开发常用知识

    导入依赖 Google官方为Android TV的UI开发提供了一系列的规范组件,在leanback的依赖库中,这里介绍一些常用的组件,使用前需要导入leanback库. implementation ...

最新文章

  1. SyntaxError: Non-ASCII character ‘\xe5‘ in file(xxlrt_1.py) on line 7, but no encoding declared;
  2. group by总结(还有having)
  3. 从HTML页面重定向
  4. Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合...
  5. unity循环滚动列表_【unity游戏开发】LoopScrollRect组件
  6. 学习笔记(05):MySQL数据库运维与管理-03-二进制日志配置管理演示
  7. linux下的gdb调试
  8. IE6下使用jquery.bgiframe.js插件解决下拉框覆盖浮动层、Dialog的问题
  9. 华科计算机学院三好学生,哲学学院常若帆荣获校“三好学生标兵”称号
  10. hive表存储格式的转化
  11. C++教程:C++开发语言可以做些什么?
  12. 北科大计算机顺德,北京科技大学顺德研究生院2020考研预调剂信息
  13. IT人喝酒不同岗位不同姿态,最服运维!
  14. 均值模糊调试遇到的问题
  15. YouCompleteMe自动补全的安装配置与使用
  16. 作为技术人员,年会中尽量找熟人喝酒
  17. 管理小故事精髓 100例(转)
  18. studio one 3 机架声道设置_雅马哈Yamaha AG03/AG06声卡直播机架跳线教程
  19. nmds与mds的区别_PCA、PCoA、NMDS、CCA、RDA傻傻分不清楚
  20. RLC串联谐振那些事

热门文章

  1. LVGL WIN32模拟器环境搭建
  2. 安徽大学计算机科学毕业设计,安徽大学计算机学院本科毕业论文(设计)案例.pdf...
  3. Basler pylon的基本配置(有斜线、黑白渐变色图像解决问题)
  4. 一次电商系统搭建过程的分享
  5. SSM毕设项目煤矿应急指挥系统59d56(java+VUE+Mybatis+Maven+Mysql)
  6. linux命令行还屏幕刷新率,Linux系统下更改屏幕分辨率和刷新率方法
  7. RTX,腾讯通使用问题
  8. 11g r2 rac 11.2.0.2升级11.2.0.2.3 [PSU patch 12419353]
  9. 中国的尺和英尺的区别
  10. SteamVR使用Curved UI实现与UI的交互