leanback BrowseFragment中如何实现两个PageRow之间的转换?
How to implement transition between two PageRow in leanback BrowseFragment?
我正在使用 leanback BrowseFragment 来实现一个简单的 android 电视应用。我有两个由自定义片段支持的 PageRows。当我在浏览导航区域中在两者之间切换时,在新片段的视图出现之前,屏幕的内容侧会短暂空白。我怎样才能在没有延迟的情况下从一个视图淡入另一个视图?
我在文档中看到一些对 "entrance transition" 的引用,我认为这是我需要的,但我找不到任何关于在这些回调中执行的操作的示例。
我试图在我的 PageRow 片段的 MainFragmentAdapter 上实现 setEntranceTransitionState
,但它从未被调用:
class GuideFragment: Fragment(), BrowseFragment.MainFragmentAdapterProvider {
val fragmentAdapter = object: BrowseFragment.MainFragmentAdapter<GuideFragment>(this) {
override fun setEntranceTransitionState(state: Boolean) {
Log.v("TEST", "setEntrance($state)")
fragment.setEntranceTransitionState(state)
}
}
override fun getMainFragmentAdapter() = fragmentAdapter
}
使用 BrowseSupportFragment 时无法执行此操作。
如果您查看 swapToMainFragment()
的实现,您会发现在滚动时内容设置为空片段。当达到 SCROLL_STATE_IDLE
时,使用常规片段事务将子片段替换为新内容。
我正在使用 leanback BrowseFragment 来实现一个简单的 android 电视应用。我有两个由自定义片段支持的 PageRows。当我在浏览导航区域中在两者之间切换时,在新片段的视图出现之前,屏幕的内容侧会短暂空白。我怎样才能在没有延迟的情况下从一个视图淡入另一个视图?
我在文档中看到一些对 "entrance transition" 的引用,我认为这是我需要的,但我找不到任何关于在这些回调中执行的操作的示例。
我试图在我的 PageRow 片段的 MainFragmentAdapter 上实现 setEntranceTransitionState
,但它从未被调用:
class GuideFragment: Fragment(), BrowseFragment.MainFragmentAdapterProvider {
val fragmentAdapter = object: BrowseFragment.MainFragmentAdapter<GuideFragment>(this) {
override fun setEntranceTransitionState(state: Boolean) {
Log.v("TEST", "setEntrance($state)")
fragment.setEntranceTransitionState(state)
}
}
override fun getMainFragmentAdapter() = fragmentAdapter
}
使用 BrowseSupportFragment 时无法执行此操作。
如果您查看 swapToMainFragment()
的实现,您会发现在滚动时内容设置为空片段。当达到 SCROLL_STATE_IDLE
时,使用常规片段事务将子片段替换为新内容。