背景
前面都是单独的焦点控制,或者一些注意api分享,这一次我们就拿项目中的案例做分享。一些很简单的需求但是做起来问题就很多。用最原始的方式来解决问题。这样以后遇到类似的也能处理。
需求
获取全部分类,切换分类的时候,需要加载分类对应的列表。点击后播放视频。当然我们这里用的我的博客系统的分类和文章列表。播放功能就不做了。这个不碍事。
视频效果地址:https://b23.tv/lcOQCX4
先看看我们的效果图。


左边显示分类名字,中间有个收藏按钮,下面试列表,最右边是分类列表。

在手机端,接口获取右边列表,然后切换分类的时候,更新左边列表,这个功能,就拿数据而言对大家来说应该是简单的。这个不会有什么大问题。
使用到的组件: 分类列表:RecyclerView
网格列表:leanback的VerticalGridView
(leanback是Google官方的tv开发框架) 没有做任何的焦点干预。
焦点不受控制
注意!!! 注意!!! 注意!!!
以上功能实现没有做任何焦点控制,都是由系统默认方式处理

问题1:
当我们从第一个分类Android向左聚焦,跑到收藏上面,如果我们想要流程是: 分类 -> 列表的第一个 -> 第一排往上,才是收藏 应该怎么实现。

问题2:
我们进入列表中,到了第一排再按上的时候,无法跳出去,也就是无法到收藏按钮。

问题3:
列表下滑的时候,如果最后一排有空隙,上一排的最后一个无法到达最后一排的位置上。

还有很多小细节没作图了,但是后面的开发中,肯定会完善的。
看似简单的需求,其实代码啪啪啪写完后体验上问题还是很多的。
下一篇就来解决遇到的问题。
项目地址 https://gitee.com/dong_rong/android-tv-sample
对应类:Demo05Activity,在mina act切换,既可以浏览文章对应的案例。