Android TV 项目的leanback 支持库似乎是标准化电视体验的一项很好的努力。但是,我觉得它有点过于死板,并且限制了除了颜色方案等次要的定制之外。
我的问题:在不重写leanback 框架的关键部分的情况下,自定义诸如DetailsFragment 之类的屏幕的最佳、最有效的方法是什么?
背景资料
我希望能够做的一些事情:
- 在 DetailsOverViewRow(图像、标题/描述、操作按钮)下方放置一个或两个附加视图,以显示我们应用程序设计独有的额外信息(例如,表情符号反应面板和电影制作人员面板 - 主要是电影的缩略图和名称文本视图创作者)
- 正确裁剪卡片缩略图以完全适合其图像视图。图像当前被剪裁,不像在浏览器屏幕卡片视图中它很好地适合卡片视图。该库的xml 布局文件定义了一个相当小的容器大小(固定高度为 274dp),这可能是图像未正确裁剪的原因
我试过的
扩展DetailsOverViewRowPresenter
以能够扩展定义附加视图的自定义 XML 文件。不幸的是,这个类隐藏了它的关键初始化方法,createRowViewHolder->private initDetailsOverview(ViewHolder vh)
所以我不得不复制这些隐藏的关键方法,这对我来说破坏了子类化的意义。有没有比重新创建这样的代码更好的方法?注意:这种方法可能类似于在这个相关问题中发布的方法,但 OP 没有进一步详细说明。