Android 具有不同选定状态颜色的按钮波纹

Android 具有不同选定状态颜色的按钮波纹,android,button,android-drawable,Android,Button,Android Drawable,我有一个按钮,它通常是灰色的,按下后,它的颜色会变为蓝色。现在我想添加一个效果,它的颜色是蓝色,从我按下按钮的位置开始,涟漪和填充整个按钮,并保持纯色(蓝色)。我知道我可以给按钮添加涟漪效果并遮罩它,但它不适用于选定的州。我得到的最接近于下面的代码,如果他们按下按钮,它将产生涟漪,仅此而已。谢谢 <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk

我有一个按钮,它通常是灰色的,按下后,它的颜色会变为蓝色。现在我想添加一个效果,它的颜色是蓝色,从我按下按钮的位置开始,涟漪和填充整个按钮,并保持纯色(蓝色)。我知道我可以给按钮添加涟漪效果并遮罩它,但它不适用于选定的州。我得到的最接近于下面的代码,如果他们按下按钮,它将产生涟漪,仅此而已。谢谢

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="@color/light_blue"
tools:targetApi="lollipop">
<item>
    <selector>
        <item android:state_pressed="true">
            <shape android:shape="rectangle">
                <corners android:radius="5dp" />
                <solid android:color="@color/light_blue" />
            </shape>
        </item>
        <item android:state_selected="true">
            <shape android:shape="rectangle">
                <corners android:radius="5dp" />
                <solid android:color="@color/light_blue" />
            </shape>
        </item>
        <item>
            <shape android:shape="rectangle">
                <corners android:radius="5dp" />
                <solid android:color="@color/sdk_dark_grey2" />
            </shape>
        </item>
    </selector>
</item>


是否已将onClickListener设置为按钮?

如果按钮上有onClickListener,我该怎么办?我很清楚如何使用它,但目的是什么?你能说得更具体些吗?谢谢