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

 ToggleButton经常使用的XML属性

属性名称

描写叙述

android:disabledAlpha

设置button在禁用时透明度。

 

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("已关闭");  
                }  
        }  
}  

效果图:

 

Demo下载地址:http://download.csdn.net/detail/u010963246/8941969

posted on 2017-06-05 09:31  yutingliuyl  阅读(477)  评论(0编辑  收藏  举报