android - 自定义安卓切换轨道 'animation'

标签 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"/>

@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>

这个开关在大多数情况下看起来和工作都符合预期,但是当拇指在用户拖动时在轨道上移动时,是否有某种方法可以“动画化”轨道?在选中和未选中之间淡入淡出,或者最好在拇指“后面”进行更改。

当前行为如下所示。

Current behaviour

最佳答案

有一段时间,当我需要一个类似于 native iOS 的切换按钮功能时,我也在寻找相同的功能,可以将其拖到我的一个项目的开/关状态。当时我苦苦寻找,找到了这个图书馆。

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

希望这也是您正在寻找的。

关于android - 自定义安卓切换轨道 'animation',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34765660/

相关文章:

android - SQLiteOpenHelper 同步

android - 如何保存 logcat 消息

android - 在屏幕底部设置布局,其余部分填充父级

android - 设置为切换按钮背景的图像被拉伸(stretch)android

java - Google Cloud Speech to Text 错误 : java. lang.NoSuchMethodError: No virtual method build()Lcom/google/protobuf/GeneratedMessageLite;

java - 在代码中进行更改后,模拟器未显示更新的输出

android - 下面的屏幕截图我必须使用哪种布局

android - 是否有专门针对 Android TV 的限定符

android - 当在 xml 布局中声明 2 个 ImageView 时,内存中有 2 个可绘制副本?

java - 可绘制的波纹效果颜色错误