我已创建了一个基本的自定义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>
此开关在大多数情况下看起来和预期一样,但有一些方法可以动画“#”。用户拖动时拇指在轨道上移动的轨道?在已检查和未检查之间淡入淡出,或者最好在更改后退出&#39;拇指。
目前的行为如下所示。
答案 0 :(得分:5)
当我需要类似于原生iOS的切换按钮功能时,有一段时间我也在寻找相同的功能,可以将其拖动到其中一个项目的开/关。那时我搜索得很辛苦,我找到了这个图书馆。
https://github.com/pellucide/Android-Switch-Demo-pre-4.0
所以希望这也是你正在寻找的。 p>
答案 1 :(得分:1)
Switch是一个双状态切换开关小部件,可以在两者之间进行选择 两种选择。用户可以拖动&#34;拇指&#34;来回选择 选中的选项,或者只需点按即可切换为复选框。 text属性控制标签中显示的文本 开关,而关闭和开启文本控制拇指上的文字。
对于此要求,您需要自定义Switch
按钮功能
您可以访问演示
<强> Slide Toggle for Android 强>
<强> Android-Switch-Demo-pre-4.0 强>
您需要了解以下两行。
android:thumb="@drawable/customswitchselector"
android:track="@drawable/custom_track"
它有两个标记: android:thumb and android:track
。当我们滑动或更改状态时,我会绘制实际外观。
答案 2 :(得分:0)
您需要自定义切换按钮
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/darkGray"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.gisinc.androidexamples.myapplication.MyActivity">
<com.gisinc.androidexamples.androidtogglebutton.SettingsToggle
xmlns:widget="http://schemas.android.com/apk/res-auto"
android:id="@+id/settings1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
widget:prefName="useMyLocation"
widget:text="Use My Location" />
</RelativeLayout>
请参阅this