我正在将Leanback库用于Android TV应用程序,我使用的是使用ImageCardView进行导航的典型BrowseFragment。 ImageCardViews在点击时会显示涟漪效果:半透明的白色圆圈从中间开始,并逐渐增大以填充视图。
我正在尝试更改涟漪颜色以匹配我应用的主要颜色。我的应用程序使用继承自Theme.Leanback的自定义主题,我认为(基于例如https://stackoverflow.com/a/31922339/925478)我可以通过覆盖主题中的colorControlHighlight
属性来更改波纹颜色:
<style name="MyLeanback" parent="Theme.Leanback">
<item name="colorControlHighlight">@color/red</item>
</style>
但是,这似乎没有任何效果。当我点击并按住ImageCardView时,我仍然看到半透明的白色圆圈。
如何更改波纹的颜色?
答案 0 :(得分:1)
解决方案非常简单:
<style name="MyLeanback" parent="Theme.Leanback">
<item name="android:colorControlHighlight">@color/red</item>
</style>
请注意android:
前缀,这是在不使用AppCompat
时覆盖主题所必需的。
我被编辑劝阻,不包括那个前缀;它抱怨它需要API21(我的应用程序的目标是较低版本,因为它是移动和电视平台的单个.APK)。