前言
对于 AndroidTV 应用的开发,Google 提供了 Leanback 库的支持。对于某些使用场景,使用 Leanback 能提高开发效率,开发出来的界面也符合 Material Design 规范。
依赖和官方例子
依赖:
compile "com.android.support:leanback-v17:+"
其中
+
指定最新版本的 leanback 库 (不推荐这种写法,这样写会导致每次都会去检查最新版本。并且,有些时候新的版本api接口会变,导致之前代码报错)。
或者
compile 'com.android.support:leanback-v17:25.1.1'
指定 leanback 库版本为
25.1.1
依赖 Leanback 需指定 minSdkVersion >= 17
,并且 Leanback 库在 Sdk >= 21
系统中,有比较好的动画和阴影等效果。
可以在 Github 上找到官方的使用 demo:
**leanback-showcase ** (这个比较全,推荐参照这个)
androidtv-Leanback
可以在 googlesamples 找到对各种 Google 官方 library 使用的 demo。
主要部件
-
BrowseFragment - 一种用于创建左边是目录,右边是具体内容的主页。比如:电影列表,左边是目录,右边是具体目录对应下的各个具体影片内容。
目前,支持两种模式:-
一条目录对应一行内容模式(对应 leanback-showcase 中的 Card Examples)
一条目录对应一行内容模式 - 一条目录对应一个页面模式(对应 leanback-showcase 中的 Custom Fragment)
-
一条目录对应一行内容模式(对应 leanback-showcase 中的 Card Examples)
- DetailsFragment - 显示某条 Item 对应页面详情的 Fragment(对应 leanback-showcase 中的 DetailsFragment),可定制化程度不高。
- PlaybackOverlayFragment - 用于显示播放控件及相关内容的 DetailsFragment 子类。
-
SearchFragment - 用于处理搜索的 Fragment 。SearchFragment 可以接收用户的搜索请求并将其传递给应用提供的 SearchResultProvider,
SearchResultProvider 可以将搜索结果返回给 SearchFragment
,后者会将结果渲染到 RowsFragment 中。
- 其他
总结
对于符合 Leanback 库各种交互流程、页面布局的特定场景,Leanback 能提高开发效率,开发出来的页面符合 Material Design 规范,比较美观。
但是,对于国内的各类定制化需求而言,Leankback 的可定制化程度达不到开发需求。
相关文章
Android TV application hands on tutorial
国外 Leanback 使用教程(共19篇),可能需翻墙
网友评论
可以在这里找找有没有:http://corochann.com/android-tv-application-hands-on-tutorial (可能需翻墙)