Android自定义:带图像的滑动切换按钮

Android自定义:带图像的滑动切换按钮,android,android-layout,togglebutton,Android,Android Layout,Togglebutton,我正在尝试在Android中构建一个自定义滑动切换按钮,我希望下面的图片看起来像单选按钮,但功能像切换按钮。有人帮帮我。我该怎么办 图像1 尝试使用 红色按钮背景.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true"&

我正在尝试在Android中构建一个自定义滑动切换按钮,我希望下面的图片看起来像单选按钮,但功能像切换按钮。有人帮帮我。我该怎么办

图像1

尝试使用

红色按钮背景.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
    <shape>
        <gradient
            android:startColor="#ffcc1a03"
            android:endColor="#fffd280c"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item android:state_focused="true" >
    <shape>
        <gradient
            android:endColor="#ffcc1a03"
            android:startColor="#fffd280c"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item android:state_enabled="false" >
    <shape>
        <gradient
            android:endColor="#fa515151"
            android:startColor="#fa989898"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item>        
    <shape>
        <gradient
            android:endColor="#ffcc1a03"
            android:startColor="#fffd280c"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

</selector>

切换\u frame\u blue.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <stroke
        android:width="2dp"
        android:color="@android:color/darker_gray" />

    <gradient
        android:angle="90"
        android:endColor="#FF3A9CE3"
        android:startColor="#FF6CBCF4" />

    <corners android:radius="10px" />

    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />

</shape>

输出

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
    <shape>
        <gradient
            android:startColor="#ffcc1a03"
            android:endColor="#fffd280c"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item android:state_focused="true" >
    <shape>
        <gradient
            android:endColor="#ffcc1a03"
            android:startColor="#fffd280c"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item android:state_enabled="false" >
    <shape>
        <gradient
            android:endColor="#fa515151"
            android:startColor="#fa989898"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item>        
    <shape>
        <gradient
            android:endColor="#ffcc1a03"
            android:startColor="#fffd280c"
            android:angle="270" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

</selector>
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <stroke
        android:width="2dp"
        android:color="@android:color/darker_gray" />

    <gradient
        android:angle="90"
        android:endColor="#FF3A9CE3"
        android:startColor="#FF6CBCF4" />

    <corners android:radius="10px" />

    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />

</shape>