使用 RowsSupportFragment 自定义 Android 和 FireTv UI
Posted
技术标签:
【中文标题】使用 RowsSupportFragment 自定义 Android 和 FireTv UI【英文标题】:Android and FireTv UI customization using RowsSupportFragment 【发布时间】:2020-09-11 12:28:51 【问题描述】:我是 android TV 开发的新手,想了解一些事情。我看到使用 Leanback 我们可以实现这一点。关键组件是 BrowseSupportFragment、RowsSupportFragment 等。
我想要的是。 目前,在 BrowseSupportFragment 中,我正在使用 PageRow,这样我就可以为每一行拥有一个自定义片段(扩展 RowsSupportFragment)。我想要的是这个,自定义 Fragment 是一个常规的 Fragment(扩展 Fragment),并且其中有一些 FrameLayouts,对于那个 FrameLayouts,我可以调用不同的 Fragment(RowsSupportFragment)。因此,总结一下,我想要每个 frameLayout 的 BrowseSupportFragment --> Fragment --> RowsSupportFragment 之类的东西,这样我就可以根据需要自定义 UI。
有人可以帮我解决这个问题吗?
【问题讨论】:
【参考方案1】:我无法绕过这种情况。所以我最终得到了正常的片段和一些关键点,以防其他人需要相同的片段。
android:background="?android:attr/selectableItemBackground"
这个给父布局获取当前视图选中效果。
方向应该由 onKeyListener 处理这些事件。
一个。 keyCode == KeyEvent.KEYCODE_DPAD_UP
b. keyCode == KeyEvent.KEYCODE_DPAD_DOWN
c。 keyCode == KeyEvent.KEYCODE_DPAD_LEFT
d。 keyCode == KeyEvent.KEYCODE_DPAD_RIGHT
e。 keyCode == KeyEvent.KEYCODE_DPAD_ENTER
(当你按下键盘上的回车键时) 确保检查 event.getAction() == KeyEvent.ACTION_DOWN 否则你会遇到跳过中间视图的问题。
如果有人得到关于问题的正确实现,请更新到那时这是我的解决方案。
【讨论】:
以上是关于使用 RowsSupportFragment 自定义 Android 和 FireTv UI的主要内容,如果未能解决你的问题,请参考以下文章