我使用leanback BrowseFragment来实现一个简单的Android电视应用。我有两个由自定义片段支持的PageRows。当我在浏览导航区域中切换两者时,屏幕的内容侧会在新片段的视图出现之前短暂变为空白。如何在没有延迟的情况下从一个视图淡入另一个视图?
我看到了一些关于"入口转换"在我认为是我需要的文档中,但是我无法找到在这些回调中做什么的任何示例。
我尝试在我的PageRow Fragment的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
}
答案 0 :(得分:0)
使用BrowseSupportFragment时无法执行此操作。
如果查看swapToMainFragment()
的实现,您会看到滚动内容时设置为空片段。到达SCROLL_STATE_IDLE
时,将使用常规片段事务将子片段替换为新内容。