【发布时间】:2016-07-16 14:18:29
【问题描述】:
Android TV 项目的leanback 支持库似乎是标准化电视体验的一项好工作。但是,我觉得它有点过于死板,并且限制了除了颜色方案等次要的定制之外。
我的问题:在不重写leanback 框架的关键部分的情况下,自定义诸如DetailsFragment 之类的屏幕最好、最有效的方法是什么?
背景信息
一些我想做的事情:
- 在 DetailsOverViewRow 下方放置一个或两个附加视图 (图片、标题/描述、操作按钮)显示额外信息 我们应用程序设计的独特之处(例如表情符号反应面板 和电影学分面板 - 主要是缩略图和名称文本 电影创作者的观点)
- 正确裁剪卡片缩略图以完全适合其图像视图。图像当前被剪裁,不像在浏览器屏幕卡片视图中它很好地适合卡片视图。库的xml layout file 定义了一个相当小的container size(固定 274dp 的高度),这可能就是为什么图像不是 正确裁剪
我的尝试
扩展 DetailsOverViewRowPresenter 以便能够扩展定义附加视图的自定义 XML 文件。不幸的是,这个类隐藏了它的关键初始化方法createRowViewHolder->private initDetailsOverview(ViewHolder vh),所以我不得不复制这些隐藏但关键的方法,这对我来说破坏了子类化的意义。有没有比重新创建这样的代码更好的方法?
注意:这种方法可能类似于此相关question 中发布的方法,但 OP 没有进一步详细说明。
【问题讨论】:
-
对于数字 1,我复制了来自 android leanback 库(AbstractDetailsDescriptionPresenter 类)提供的 Presenter,编辑了包括 xml 在内的一些部分,我使用我的类而不是来自leanback 的官方。但我正在使用 FullWidthDetailsOverviewRowPresenter。我猜它仍然相似
-
如果你解决了这个问题,能否分享一下你的解决方案?
-
@khateeb 请在下面查看我的回答
标签: android customization android-tv leanback