更改?selectableItemBackgroundBorderless波纹颜色

Ash*_*jan 7 android material-design

我正在尝试使用它?selectableItemBackgroundBorderless来创建无边框波纹LinearLayout,它工作正常,但不清晰可见.

如何更改默认颜色?selectableItemBackgroundBorderless以使涟漪效果可见?

我已经尝试将ThemeOverlay.AppCompat.Dark主题应用于父布局,但它没有帮助.

ian*_*ake 12

正如Theming with AppCompat博客文章所述:

colorControlHighlight 控制波纹着色

因此,创建一个ThemeOverlay.AppCompat将该值设置为所选颜色的值将允许您更改该视图及其子项的波纹颜色.


and*_*per 5

另一种选择是制作自己的选择器。我知道这不是一个很好的解决方案,但无论如何它可能是一个解决方案:

res/drawable/circular_item_background_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true">
        <shape android:shape="oval">
            <solid android:color="@color/your_color"/>
        </shape>
    </item>

    <item android:drawable="@android:color/transparent"/>

</selector>
Run Code Online (Sandbox Code Playgroud)

res/drawable-v21/circular_item_background_selector.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="@color/your_color">

    <item android:drawable="@android:color/transparent"/>

    <item android:id="@android:id/mask">
        <shape android:shape="oval">
            <solid android:color="@color/your_color"/>
        </shape>
    </item>

</ripple>
Run Code Online (Sandbox Code Playgroud)