Android TV桌面推荐功能开发

Android TV桌面推荐功能开发,第1张

相信大家都有用过一些电视盒子,比如小米盒子等。如果有用到一些海外版的盒子,会发现里面很多的盒子都使用Google的桌面,如下所示:

这套框架叫做Leanback,是google开发的

顺便吐槽一下,海外版的很多Android TV应用,都是基于Leanback框架做的,UI上千篇一律,看起来很闷

图中获焦的Item所在的行,就是Launcher的推荐位。 Google 提供了功能,允许各家App在这上面展示自己的推荐内容,不限于影片,因此,对于一个app来说,能占据这个位置,无疑对于App的推广是非常有利的。下面就来介绍一下怎么把我们的App的内容显示在这里面。

1.1 填充播放数据

可以将一些要跳转的页面,参数信息,设置到Intent的对象中,比如栈的信息等等

1.2 建立Builder设定展示的元素

系统收到notification,才会展示在Launcher上,所以就需要一个Notification对象

Notification.Builder builder =new Notification.Builder(context)

这个builder里,需要设置一些参数,举例如下:

根据自己的需要,选择需要设置的内容,比如图标、标题、Intent等等,最后调用build方法生成notification对象

很简单,核心是调用notify,调用之前需要实例化服务。

一、Android N 及以下 (Recommenadtion Rows)

二、Android O (Recommenadtion Channels)

使用ArrayObjectAdapter.addAll()添加数组

添加单条数据使用ArrayObjectAdapter.add()

本人使用String[]的数据

添加方式为:

取数据:

item的布局中如果是< Layout>嵌套< View>的形式,layout设置focusable和clickable="true",如不做其他处理,则不会焦点放大。

解决方案步骤:

即使使用focusOutFront、focusOutEnd、focusOutSideStart、focusOutSideEnd没有效果

解决方案:在onBindViewHolder针对view设置setOnKeyListener

// 这是左键跳转方案,其他方向变更KeyEvent.KEYCODE_DPAD_LEFT 和View.FOCUS_LEFT即可

在Activity中

添加

github项目: https://github.com/CarryHekangkai/LeanbackDemo


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7911623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存