Android:使用文本和自定义视图切换
Posted
技术标签:
【中文标题】Android:使用文本和自定义视图切换【英文标题】:Android: Switch with text and custom view 【发布时间】:2019-08-03 19:46:55 【问题描述】:我需要开发一个如图所示的按钮:
如何自定义 Switch?或者如果不可能,如何实现这个自定义视图?
【问题讨论】:
【参考方案1】:试试这个
<Switch
android:id="@+id/switch1"
android:layout_
android:layout_
android:background="@drawable/toogle_switch"
android:text=""
android:textOn=""
android:textOff="" />
toogle_switch.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/on" android:state_checked="true"></item>
<item android:drawable="@drawable/off" android:state_checked="false"></item>
</selector>
【讨论】:
【参考方案2】: <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_ android:layout_>
<Switch
android:id="@+id/switch1"
android:layout_
android:layout_
android:switchMinWidth="56dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="120dp"
android:text="Switch1:"
android:checked="true"
android:textOff="OFF"
android:textOn="ON"/>
</RelativeLayout>
RelativeLayout layout = (RelativeLayout)findViewById(R.id.r_layout);
Switch sb = new Switch(this);
sb.setTextOff("OFF");
sb.setTextOn("ON");
sb.setChecked(true);
layout.addView(sb);
Switch sw = (Switch) findViewById(R.id.switch1);
sw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
if (isChecked)
// The toggle is enabled
else
// The toggle is disabled
);
【讨论】:
以上是关于Android:使用文本和自定义视图切换的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 中使用 SearchableSpinner 和自定义适配器
如何在列表适配器中正确使用 ViewHolder 和自定义视图