小编Max*_*Max的帖子

Android:自定义开关:如何在不使用图像的情况下使拇指超过50%的轨道

我正在尝试创建一个自定义开关按钮,其拇指约占其轨道的75%(宽度).我不想使用图像,只是可绘制的形状,样式等.到目前为止,我已经完成了以下工作:

activity_main.xml中

<Switch
        android:id="@+id/onOffSwitch"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:track="@drawable/switch_custom_track"
        android:thumb="@drawable/switch_custom_thumb"
        android:showText="true"
        android:textOff="Off"
        android:textOn="On"/>
Run Code Online (Sandbox Code Playgroud)

switch_custom_track.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/switch_custom_track_on" />
    <item android:state_checked="false" android:drawable="@drawable/switch_custom_track_off" />
</selector>
Run Code Online (Sandbox Code Playgroud)

switch_custom_track_on.xml

<shape
    android:shape="rectangle"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="20dp" />
    <solid android:color="#00b800" />
    <size android:width="90dp" android:height="40dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

switch_custom_track_off.xml

<shape
    android:shape="rectangle"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="20dp" />
    <solid android:color="#fd491d" />
    <size android:width="90dp" android:height="40dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

switch_custom_thumb.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/switch_custom_thumb_on" />
    <item android:state_checked="false" android:drawable="@drawable/switch_custom_thumb_off" />
</selector>
Run Code Online (Sandbox Code Playgroud)

switch_custom_thumb_on.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <corners android:radius="20dp" />
    <solid android:color="#ffffff" />
    <size android:width="70dp" …
Run Code Online (Sandbox Code Playgroud)

xml android android-switch

11
推荐指数
0
解决办法
4236
查看次数

标签 统计

android ×1

android-switch ×1

xml ×1