在 Android TV 中如何实现 Header 的固定大小,如 Youtube TV App
Posted
技术标签:
【中文标题】在 Android TV 中如何实现 Header 的固定大小,如 Youtube TV App【英文标题】:In Android TV how to Implement fixed size of Header like Youtube TV App 【发布时间】:2019-06-15 22:47:14 【问题描述】:在我的 TV App 中,我需要像 Youtube App 一样在 BrowseFragment 中实现固定的 Header。下面我附上了我想要的截图。
我纯粹是通过 Lean Back 实现的,我的片段通过浏览片段进行了扩展,并且我能够将图标和文本添加到我的标题项。
就像他们解释的下面的链接:
https://corochann.com/browsefragment-header-customization-android-tv-application-hands-on-tutorial-17-697.html
当焦点移到右侧时,我的标题完全折叠。就我而言,我想将标题折叠成很小的,并且只需要在标题中显示图标。
【问题讨论】:
到目前为止你尝试过什么?到目前为止,你做了多少研究?问题出在哪里?很简单XML
,不是吗?
不,我正在使用纯靠背,我的片段使用 BrowseFragment 扩展,我可以添加图标和文本,但是当我的焦点转到右侧行时。标题片段正在折叠。但在我的情况下,它几乎不会折叠,因为它显示像 youtube 这样的图标
我认为目录浏览器是 Youtube Web UI 组件的一部分。 Android TV Leanback 中的目录浏览器或浏览通道(BrowseFragment
)没有这样的中途隐藏目录浏览器,仅在导航到右侧的行后显示图标......它的BrowseFragment.setHeadersState()
只是处于三种状态...可能您需要查看源代码并通过添加“新”状态来扩展 BrowserFragment 并管理其转换。 developer.android.com/training/tv/playback/browse#hide-heads
你好。你有没有找到解决这个问题的方法?我有类似的要求。
不,我没找到。
【参考方案1】:
Leanback 不支持此类功能。我也到处寻找解决方案,但没有发现任何有用的东西。所以我最终编写了一个片段,它的行为类似于侧边栏导航,并通过一个用于交换键盘事件的接口与 RowsSupportFragment 一起使用。
处于展开状态时 -> 显示菜单图标和菜单名称。
当处于折叠状态时 -> 显示菜单图标。
看看这个Repository
【讨论】:
以上是关于在 Android TV 中如何实现 Header 的固定大小,如 Youtube TV App的主要内容,如果未能解决你的问题,请参考以下文章
Android TV 在 RecyclerViews 之间移动焦点
Android TV:如何使用 Leanbak 自定义 android TV 的左侧导航面板?