我搜索了代码,但没有找到任何完整的解决方案.
在我的VerticalGrIDPresenter子类中,我可以覆盖的唯一方法是createShadowOverlayOptions,但我无法得到我想要的结果.
我想出的唯一解决方法是定义以下维度,以便覆盖在支持库中声明的维度:
<dimen name="lb_material_shadow_details_z">3dp</dimen><dimen name="lb_material_shadow_focused_z">4dp</dimen><dimen name="lb_material_shadow_normal_z">3dp</dimen>
但它更像是一个黑客而不是一个合适的解决方案.
这是标准阴影:
这是我当前黑客得到的结果:
你可以看到,它更小但我无法改变颜色.
是否有正确的方法为VerticalGrIDFragment和RowsFragment类设置阴影颜色和尺寸?
我正在使用最新的Leanback版本:
compile 'com.androID.support:leanback-v17:25.2.0'
我的minSdkVersion是17,因为有一个自定义的AndroID电视播放器,但它可以从21开始工作.
解决方法 我之前实际上已经向Leanback团队询问了这个问题,他们说他们推荐的定制组件的方法是覆盖样式和尺寸.这可能有助于缓解您的一些担忧.但是,我们还必须自定义视图上的阴影.我们通过创建自己的视图和我们自己的视图演示者(而不是使用他们的ImageCardVIEw)来做到这一点.有了这个,我们就可以在演示级别设置自己的阴影.
如果您查看ListRowPresenter
的文档,文档会说:
ListRowPresenter applIEs a default shadow to each child vIEw. Call setShadowEnabled(boolean) to disable shadows. A subclass may overrIDe and return false in isUsingDefaultShadow() and replace with its own shadow implementation.
要了解更多关于它们如何处理阴影的信息,请查看ListRowPresenter的源代码,并查看ShadowHelper和ShadowHelperAPI21类,了解它们是如何实现为其列表项添加阴影的.我们实际上只是复制了这两个类,因为它们是包本地的.
您还可以在ListRowPresenter中覆盖ShadowOverlayHelper.Options createShadowOverlayOptions(),它可以让您更改角半径和聚焦和未聚焦z.
总结以上是内存溢出为你收集整理的Android TV:VerticalGridFragment阴影尺寸和颜色全部内容,希望文章能够帮你解决Android TV:VerticalGridFragment阴影尺寸和颜色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)