Android TV:从 ListRowPresenter 中的项目中删除阴影
Posted
技术标签:
【中文标题】Android TV:从 ListRowPresenter 中的项目中删除阴影【英文标题】:Android TV: Remove shadow from Item in ListRowPresenter 【发布时间】:2018-12-30 13:58:45 【问题描述】:当水平列表不在焦点时,我试图从列表项中删除阴影。我正在从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
行应该从列表行中删除阴影,但它没有提供所需的行为。任何人都可以指出一些课程或任何可能有帮助的例子吗?
【问题讨论】:
【参考方案1】:我找到了解决方案,我将其发布以供将来参考。如果您想从未选中行的项目中移除阴影,您需要将这些添加到您ListRowPresenter
。
listRowPresenter.shadowEnabled = false
listRowPresenter.selectEffectEnabled = false
它会从项目中移除阴影。要进行更多自定义,您可以覆盖在 ListRowPresenter
内部初始化的 ShadowOverlayHelper
类。
【讨论】:
以上是关于Android TV:从 ListRowPresenter 中的项目中删除阴影的主要内容,如果未能解决你的问题,请参考以下文章
从 Android TV 中的 BrowseFragment 中删除上边距