ToggleButton(开关button)是Android系统中比較简单的一个组件,是一个具有选中和未选择状态双状态的button。而且须要为不同的状态设置不同的显示文本。


 ToggleButton经常使用的XML属性


属性名称



描写叙述



android:disabledAlpha



设置button在禁用时透明度。

 ​Android控件ToggleButton的使用方法_f5



android:textOff



未选中时button的文本



android:textOn



选中时button的文本







main.xml:


<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent" android:background="#FFF5F5F5"
android:layout_height="fill_parent">
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
<TextView android:textSize="14.0sp" android:id="@+id/tvSound" android:textColor="@android:color/black"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="已开启" />
<ToggleButton
android:id="@+id/tglSound" android:background="@drawable/selector_butn_toggle"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:checked="true" android:textOn="" android:textOff=""
android:text="" />
</LinearLayout>
</LinearLayout>


  

MainActivity.java:


package com.apkbus.toggle;  

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;
import android.widget.ToggleButton;

public class MainActivity extends Activity implements OnCheckedChangeListener{
private ToggleButton mToggleButton;
private TextView tvSound;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏
setContentView(R.layout.main);
initView();//初始化控件方法
}

private void initView() {
mToggleButton = (ToggleButton) findViewById(R.id.tglSound); //获取到控件
mToggleButton.setOnCheckedChangeListener(this);//加入监听事件
tvSound = (TextView) findViewById(R.id.tvSound);
}

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
tvSound.setText("已开启");
}else{
tvSound.setText("已关闭");
}
}
}