Android 电视:从 ListRowPresenter 中的项目移除阴影
Android TV: Remove shadow from Item in ListRowPresenter
当水平列表未处于焦点时,我试图从列表项中删除阴影。我正在从 RowSupportFragment
扩展我的片段,然后像这样创建 ListRowPresenter
val listRowPresenter = ListRowPresenter(FocusHighlight.ZOOM_FACTOR_XSMALL)
listRowPresenter.shadowEnabled = false
ArrayObjectAdapter listRowAdapter = ArrayObjectAdapter(listRowPresenter)
并在数据来自服务器后添加两个 ArrayObjectAdapter
。
listRowAdapter?.add(ListRow(null, objectAdapter1))
listRowAdapter?.add(ListRow(null, objectAdapter2))
行 listRowPresenter.shadowEnabled = false
应该从列表行中删除阴影,但它没有提供所需的行为。任何人都可以指出一些 类 或任何有用的例子吗?
我找到了解决方案,我将其发布以供将来参考。如果你想从未选中行的项目中删除阴影,你需要将它们添加到你 ListRowPresenter
.
listRowPresenter.shadowEnabled = false
listRowPresenter.selectEffectEnabled = false
它会移除项目的阴影。要进行更多自定义,您可以覆盖在 ListRowPresenter
.
中初始化的 ShadowOverlayHelper
class
当水平列表未处于焦点时,我试图从列表项中删除阴影。我正在从 RowSupportFragment
扩展我的片段,然后像这样创建 ListRowPresenter
val listRowPresenter = ListRowPresenter(FocusHighlight.ZOOM_FACTOR_XSMALL)
listRowPresenter.shadowEnabled = false
ArrayObjectAdapter listRowAdapter = ArrayObjectAdapter(listRowPresenter)
并在数据来自服务器后添加两个 ArrayObjectAdapter
。
listRowAdapter?.add(ListRow(null, objectAdapter1))
listRowAdapter?.add(ListRow(null, objectAdapter2))
行 listRowPresenter.shadowEnabled = false
应该从列表行中删除阴影,但它没有提供所需的行为。任何人都可以指出一些 类 或任何有用的例子吗?
我找到了解决方案,我将其发布以供将来参考。如果你想从未选中行的项目中删除阴影,你需要将它们添加到你 ListRowPresenter
.
listRowPresenter.shadowEnabled = false
listRowPresenter.selectEffectEnabled = false
它会移除项目的阴影。要进行更多自定义,您可以覆盖在 ListRowPresenter
.
ShadowOverlayHelper
class