我正在开发一款Android TV应用,但是我并不满意
VerticalGridFragment
渲染的标准阴影效果,我希望它更小一点并且更浅一些。
我查看了代码但是没有找到任何完整的可行解决方案。在我的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>
但这只是一个hack而不是一个正确的解决方案。
这是标准的阴影:
这是我当前使用的hack得到的结果:
可以看出来,它更小了,但我无法改变颜色。
是否有一种正确的方法来设置VerticalGridFragment
和RowsFragment
类的阴影颜色和尺寸?
我正在使用最新的Leanback版本:
compile 'com.android.support:leanback-v17:25.2.0'
我的minSdkVersion
是17,因为使用了自定义的Android TV播放器,但是从21开始工作也没有问题。
ShadowOverlayHelper.Options
,其中指定dynamicShadowUnfocusedZ
为0,然后只显示聚焦阴影。 - Kyle Venn