Android TV中ImageCardView的涟漪颜色

时间:2017-02-17 01:51:54

标签: android material-design android-tv leanback

我正在将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时,我仍然看到半透明的白色圆圈。

如何更改波纹的颜色?

1 个答案:

答案 0 :(得分:1)

解决方案非常简单:

<style name="MyLeanback" parent="Theme.Leanback">
    <item name="android:colorControlHighlight">@color/red</item>
</style>

请注意android:前缀,这是在不使用AppCompat时覆盖主题所必需的。

我被编辑劝阻,不包括那个前缀;它抱怨它需要API21(我的应用程序的目标是较低版本,因为它是移动和电视平台的单个.APK)。