Android控件笔记——多状态按钮ToggleButton

1、什么是ToggleButton:

    ToggleButton有两种状态:选中状态和未选中状态,并且需要为不同的状态设置不同的显示文本。

2、ToggleButton属性:

    android:checked="true"

    android:textOff="关"

    android:textOn="开"

3、使用:

    我们写一个开关按钮,控制灯泡的开关

    首先拖入ToggleButton,并对它进行相关的设置:

<!--activity_main.xml-->
    <ToggleButton
        android:checked="false"
        android:textOn="开"
        android:textOff="关"
        android:id="@+id/toggleButton1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    接着拖入一个imageView,同样对它进行设置:

<!--activity_main.xml-->
    <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。

<!--MainActivity.java-->
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、效果:

Android控件笔记——多状态按钮ToggleButton_第1张图片Android控件笔记——多状态按钮ToggleButton_第2张图片

 

你可能感兴趣的:(Android控件笔记——多状态按钮ToggleButton)