android tv 焦点居中自定义listview控件的实现
来源:互联网 发布:淘宝客服招聘可信吗 编辑:程序博客网 时间:2024/05/14 16:55
因为项目需要,花了一天做了一个自定义listview,和google官方效果图上的控件类似,效果图:
即焦点始终在屏幕中央,焦点选中的item被放大,且颜色被改变,遥控器可以指挥listview上下滚动并且选择,要做到这个首先要想清楚思路:
核心思想
1、中间的“焦点”不是真实的焦点,是画出来的。
2、移动listview使用的方法是listview.smoothScrollBy,但当选择到前几个item或后几个item时,会有留白的情况,如图,为了解决这个问题,我有想过整体移动listview,最后由于越搞越麻烦而放弃,在这里使用了控制adapter,使其产生空白选项,这样不用移动listview也能解决此问题。
3、对于移动状态进行监听,发现移动产生后改变item中字体的效果。
对于以上的核心思想,做几点解释:
1、我们使用listview.setSelection()方法使焦点移动到想要的item上,但是频繁调用这个方法会让焦点出现闪烁的情况,尤其是在自定义了焦点的样式后,这种情况比较明显。为了保证在移动时控件的美观,我们使用绘制矩阵的方式,将焦点画出来。
下面上代码,该有注释的地方都有:(周一上代码,现在手上没有)
0 0
- android tv 焦点居中自定义listview控件的实现
- 自定义RecycleView实现TV应用上的item焦点获取以及设置当前选中的item居中
- 自定义RecycleView实现TV应用上的item焦点获取以及设置当前选中的item居中
- Android TV ListView列表焦点保留?ListView如何获取焦点?
- Android TV listView焦点平滑移动
- Android TV开发:设置全局焦点框及listview中item的焦点获取
- Android TV 控件获取焦点特效
- 一种TV(Android系统)通用焦点框的实现
- Android TV 焦点移动飞框的实现
- Android TV RecyclerView焦点移动飞框的实现
- Android 焦点滑动的 自定义 ListView
- android tv焦点特效实现浅析
- android tv焦点特效实现浅析
- android tv焦点特效实现浅析
- android tv焦点特效实现浅析
- android tv焦点特效实现浅析
- Android TV开发 焦点返回ListView时, 返回到离开时的位置
- Android Listview控件中的其他控件的焦点问题
- Toolbar的使用
- 关于主题 Gnome 也可以这样
- JavaScript基础语法--变量和数据类型练习
- js解决getElementByClassName
- java语言解析json以后加入到listlist集合中,用代码应该怎么实现?可以举个例子吗
- android tv 焦点居中自定义listview控件的实现
- Fedora 20 GNOME 字体与界面美化
- iOS开发封装篇-利用绘图封装一个可以涂鸦的view
- React(4. 2)--数据流(实践篇)
- centos6.5修改时区
- js无缝滚动
- 【NOIP2016提高A组模拟9.24】就是乘法
- bzoj 1195: [HNOI2006]最短母串 (状压dp)
- 我的Gnome Shell桌面折腾日志