使用LeanBack支持库自定义Android TV界面

时间:2016-03-29 06:49:19

标签: android customization android-tv leanback

Android TV项目的leanback支持库似乎是标准化电视体验的一种很好的努力。但是,我发现它有点过于严格,并且限制了定制,而不是像配色方案等那样的小定制。

我的问题:在不重写leanback框架的关键部分的情况下,自定义屏幕(例如DetailsFragment)的最佳,最有效的方法是什么?

背景资料

默认详细信息屏幕如下所示:

我希望能够做的一些事情:

  1. 在DetailsOverViewRow下方放置一个或两个其他视图 (图像,标题/说明,操作按钮)显示额外信息 我们的应用程序设计独特(例如表情符号反应面板) 和电影信用面板 - 主要是缩略图和名称文字 电影创作者的观点)
  2. 正确裁剪卡片缩略图图像以完全适合其图像视图。图像当前被剪裁,与浏览器屏幕卡视图不同,它可以很好地适应卡片视图。图书馆的xml layout file定义了一个相当小的container size(固定的 高度为274dp),这可能就是图像没有的原因 正确裁剪
  3. 我尝试过的事情

    扩展DetailsOverViewRowPresenter以扩充定义其他视图的自定义XML文件。不幸的是,这个类隐藏了它的关键初始化方法createRowViewHolder->private initDetailsOverview(ViewHolder vh),所以我不得不复制这些隐藏但关键的方法,这对我来说无法实现子类化。有没有比重新创建这样的代码更好的方法? 注意:此方法可能类似于此相关question中发布的方法,但OP没有进一步详细说明。

1 个答案:

答案 0 :(得分:1)

我最终没有实现细节屏幕。但看起来更新的leanback库现在支持某种程度的自定义。 github上的google-samples leanback project是一个不错的起点。例如:VideoDetailsFragmentDetailsFragment的子类。

此外,本medium post中讨论的其他自定义可能性值得注意