Java 如何更改涟漪效果的纯色

Java 如何更改涟漪效果的纯色,java,android,user-interface,rippledrawable,gradientdrawable,Java,Android,User Interface,Rippledrawable,Gradientdrawable,我有一个带有3种自定义状态的切换按钮: -压制 -检查 -重新分配 我正在使用以下xml: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/togglebutton_color_custom_ripple" android:

我有一个带有3种自定义状态的切换按钮: -压制 -检查 -重新分配

我正在使用以下xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/togglebutton_color_custom_ripple" android:state_pressed="true" />
    <item android:drawable="@drawable/togglebutton_color_custom_checked" android:state_checked="true"/>
    <item android:drawable="@drawable/togglebutton_color_custom_unchecked" />
</selector>
它适用于“已检查”和“已发布”状态,因为我在XML中使用了经典形状,但不适用于“已按下”状态,因为我在XML中使用了以下连锁反应:

<?xml version="1.0" encoding="utf-8"?>
<ripple
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/ripple">
    <item>
        <shape android:shape="oval">
            <size
                android:height="@dimen/togglebutton_size"
                android:width="@dimen/togglebutton_size" />
            <solid android:color="@color/blue_vs"/>
            <stroke android:width="@dimen/togglebutton_button_stroke"
                android:color="@color/white" />
        </shape>
    </item>
</ripple>

看起来我必须在我的代码中使用“RippleDrawable”,但我真的不明白怎么做,我只是想更改纯色背景,而不是纹波颜色或笔划


谢谢

你能发布一个带有3种状态的切换屏幕吗?我发布了,这是第一个XML。我将此XML添加到我的按钮的android:background=“@drawable/togglebutton\u state”
<?xml version="1.0" encoding="utf-8"?>
<ripple
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/ripple">
    <item>
        <shape android:shape="oval">
            <size
                android:height="@dimen/togglebutton_size"
                android:width="@dimen/togglebutton_size" />
            <solid android:color="@color/blue_vs"/>
            <stroke android:width="@dimen/togglebutton_button_stroke"
                android:color="@color/white" />
        </shape>
    </item>
</ripple>