在 BrowseFragment 中禁用行缩放/展开
Posted
技术标签:
【中文标题】在 BrowseFragment 中禁用行缩放/展开【英文标题】:Disable row scaling / expand in BrowseFragment 【发布时间】:2017-01-23 07:25:40 【问题描述】:我还没有找到任何文档如何在将焦点从标题切换到 BrowseFragment 中的片段时禁用行缩放。
Leanback 版本 24.2.0
BrowseFragment 有一个函数enableMainFragmentScaling
可以部分解决问题。图像现在具有完整尺寸,但标题仍未像在 PlayStore 应用程序、Youtube 应用程序中那样扩展。聚焦一行时的展开(无动画)。
到目前为止我做了什么:
enableMainFragmentScaling(false);
在 BrowseFragment 中
setExpand(false);
在嵌套的 RowsFragments 中。但这并没有改变任何东西。
该代码与演示leanback 项目非常相似。但是他们在那里启用了行缩放。 Demo on Github
【问题讨论】:
【参考方案1】:我可以通过在RowsFragment
中调用setExpand(true)
作为onCreateView()
的第一行来实现这种效果。
如果你想永远锁定这个效果,你可以在你的RowsFragment
中覆盖setExpand(...)
,然后调用super.setExpand(true)
。我相信你仍然需要onCreateView()
的初始呼叫。
【讨论】:
如果您覆盖并始终返回 true... 我可以确认您不需要在 onCreateView 中调用此方法。 这似乎不适用于BrowseSupportFragment
【参考方案2】:
在您的BrowseSupportFragment.MainFragmentAdapterProvider
实现中,尝试在返回片段适配器之前禁用缩放。
override fun getMainFragmentAdapter(): BrowseSupportFragment.MainFragmentAdapter<*>
val mainFragmentAdapter = MainFragmentAdapter(this)
mainFragmentAdapter.isScalingEnabled = false
return mainFragmentAdapter
【讨论】:
【参考方案3】:你应该打电话给
enableRowScaling(false);
在您的 MainFragment.java 类的 onActivityCreated()
方法上
【讨论】:
这已被弃用。使用@Kyle Venn 方法。以上是关于在 BrowseFragment 中禁用行缩放/展开的主要内容,如果未能解决你的问题,请参考以下文章
Android TV 在 BrowseFragment 中重新加载数据
如何始终在 Leanback BrowseFragment 中显示标题侧栏?