1、什么是ToggleButton:
ToggleButton有两种状态:选中状态和未选中状态,并且需要为不同的状态设置不同的显示文本。
2、ToggleButton属性:
android:checked="true"
android:textOff="关"
android:textOn="开"
3、使用:
我们写一个开关按钮,控制灯泡的开关
首先拖入ToggleButton,并对它进行相关的设置:
android:checked="false"
android:textOn="开"
android:textOff="关"
android:id="@+id/toggleButton1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
接着拖入一个imageView,同样对它进行设置:
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toggleButton1"
android:background="@drawable/off" />
接着在MainActivity.java中创建一个监听器监听ToggleButton的状态,并且根据它的状态更改ImageView。
public class MainActivity extends Activity implements
OnCheckedChangeListener{
//声明控件
private ToggleButton tb;
private ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
tb=(ToggleButton) findViewById(R.id.toggleButton1);
img=(ImageView) findViewById(R.id.imageView1);
//给当前的tb设置监听器
tb.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
// TODO Auto-generated method stub
//当tb被点击的时候,触发当前方法.第一个参数判断是哪个tb被点击,
//第二个参数得到tb当前状态
//当点击tb的时候,更换img的背景
img.setBackgroundResource(arg1?R.drawable.on:R.drawable.off);
}
}
4、效果: