自定义Android切换轨道'动画'

Bli*_*aig 8 android android-layout android-drawable android-switch

我已经创建了一个基本的自定义Switch,如下所述.

<Switch
        android:id="@+id/availSwitch"
        android:layout_width="wrap_content"
        android:switchMinWidth="110dp"
        android:layout_height="wrap_content"
        android:track="@drawable/switch_track"
        android:thumb="@drawable/thumb"/>
Run Code Online (Sandbox Code Playgroud)

@drawable/thumb是一个简单的PNG,工作正常.

@drawable/switch_track定义如下.@drawable/trackon并且@drawable/trackoff是PNG的.

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/trackoff" />
    <item android:state_checked="true"  android:drawable="@drawable/trackon" />
    <item                               android:drawable="@drawable/trackoff" />

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

这个开关在大多数情况下看起来和工作原理一样,但是有一些方法可以在用户拖动时拇指移过轨道来"动画"轨道吗?在已检查和未检查之间淡入淡出,或者最好在拇指后面"改变".

当前行为如下所示.

目前的行为

Muk*_*ana 5

曾经有一段时间我也在寻找同样的东西,当我需要一个类似于原生iOS的切换按钮功能时,可以将其拖动到我的一个项目的开/关.那时我搜索得很辛苦,我找到了这个图书馆.

https://github.com/pellucide/Android-Switch-Demo-pre-4.0

所以希望这也是你正在寻找的.