如何在android tv中使用像netflix这样的浏览片段制作侧边菜单?
Posted
技术标签:
【中文标题】如何在android tv中使用像netflix这样的浏览片段制作侧边菜单?【英文标题】:How to make side menu using browse fragment like netflix in android tv? 【发布时间】:2020-05-01 21:13:20 【问题描述】:Attached screenshot of netflix app with left side menu 我可以开发一个带有自定义图标和标题的侧边菜单。我想,当焦点出现在标题片段上时,它应该在行片段之上展开,而不是折叠行片段,就像 Netflix 和 hotstar 所做的一样。我怎样才能实现它?
【问题讨论】:
能分享一下侧边菜单的截图吗? 嗨,dasser,我编辑了我的问题并添加了截图供您参考。 嗨,你找到解决办法了吗? 有人找到解决办法吗? 【参考方案1】:不幸的是,BrowseSupportFragment
中使用的HeaderSupportFragment
的可配置性不足以实现这种设计。 Leanback
非常适合快速轻松地构建媒体浏览器应用程序,但是当涉及“复杂”设计时,使用自定义组件更容易。
这里的主要区别也是BrowseSupportFragment
的左侧菜单显示屏幕中显示的每一行标题名称(这就是它被称为HeaderSupportFragment
的原因)。在这里您要显示不同的条目,例如搜索、主页、设置等。
要制作这种视图,我建议您创建自己的自定义视图并使用基本的Fragment
。我按照本教程操作,该教程对处理菜单打开/关闭动画很有用(我将它与 ConstraintLayout
混合以简化动画,我让菜单与屏幕的其余部分重叠,而不是移动所有内容。)
见教程:https://medium.com/building-for-android-tv/building-for-android-tv-episode-3-381e041dfec7
【讨论】:
您能否提供一个线索,说明您是如何构建动画以覆盖屏幕的其余部分而不是移动所有内容?谢谢 @blueware 使用Activity/Fragment
包装RowSupportFragment
@Sofiane Hassaini 媒体链接现在无效。如果您有任何示例项目,请分享 GitHub 链接。
@blueware 使用ConstraintLayout
,如果你给左视图(所以菜单)在它的开始处提供一个约束,但在它的结尾没有任何约束,并且只在你想要的时候更新菜单的宽度打开它,它将与屏幕的其余部分重叠,而不是移动右侧的视图。我强烈建议在尝试实现菜单、行等之前使用简单的 2 个视图对其进行测试。
@MdImranChoudhury 很遗憾,我没有任何开源项目可以分享 :( 我可以花时间写一篇关于这个主题的快速教程,如果你有兴趣,可以与你分享以上是关于如何在android tv中使用像netflix这样的浏览片段制作侧边菜单?的主要内容,如果未能解决你的问题,请参考以下文章
在 Android TV 中如何实现 Header 的固定大小,如 Youtube TV App
如何在 Android TV 应用上禁用 Playback ControlGlue?