在Android TV中如何实现类似Youtube TV应用的固定大小的标题栏?

7
在我的电视应用中,我需要实现类似Youtube应用的浏览片段中的固定标题。下面是我想要的屏幕截图。

enter image description here

我完全使用Lean Back实现,我的片段扩展了BrowseFragment,我能够向我的标题项添加图标和文本。

就像下面的链接所解释的那样:

https://corochann.com/browsefragment-header-customization-android-tv-application-hands-on-tutorial-17-697.html

当焦点移动到右侧时,我的标题栏会完全折叠。在我的情况下,我想将标题栏折叠成小型,并且只显示标题栏中的图标。

你目前尝试了什么?你做了多少研究?问题出在哪里?那只是简单的XML,不是吗? - letsintegreat
不,我完全使用了lean back。我的片段是通过BrowseFragment扩展的,我能够添加图标和文本,但当我的焦点移到右侧行时,标题片段会折叠。但在我的情况下,它会稍微折叠,并显示像YouTube一样的图标。 - Harish
我认为目录浏览器是Youtube Web UI组件的一部分。Android TV Leanback中的Catalog Browser或Browse lane(BrowseFragment)没有这样的半隐藏目录浏览器,只有在导航到右侧行后才显示图标...它的BrowseFragment.setHeadersState()只有三种状态...可能需要查看源代码并通过添加“新”状态来扩展BrowserFragment并管理其转换。 https://developer.android.com/training/tv/playback/browse#hide-heads - ecle
2
你好。你有找到解决方案吗?我有类似的需求。 - ninjachippie
我没有找到它。 - Harish
您可以通过覆盖BrowseFragmentstartHeadersTransition方法来更改标题行为。在转换时,startHeadersTransitionInternalcreateHeadersTransition负责更改标题。 - mahdi
1个回答

5

这种功能在Leanback中不受支持。我也到处寻找解决方案,但没有找到有用的内容。所以最终我写了一个Fragment来模拟侧边栏导航的行为,并通过交换KeyPad事件的接口与RowsSupportFragment一起使用。

展开状态下 -> 显示菜单图标和菜单名称。

折叠状态下 -> 显示菜单图标。

Navigation Collapsed state

查看此存储库


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接