本文实例讲述了Android使用ToggleButton实现开关效果的方法。分享给大家供大家参考,具体如下:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
<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="wrap_content"
android:background="@drawable/off"
/
</LinearLayout
MainActivity.java
package com.example.hello;
import android.support.v7.app.ActionBarActivity;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ImageView;
import android.widget.ToggleButton;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity 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 buttonView, boolean isChecked) {
/*
* 当tb被点击的时候,执行当前方法
* buttonView 代表被点击的控件本身
* isChecked 代表被点击的控件的状态
*
* 当点击tb的时候,更换img的背景
*/
img.setBackgroundResource(isChecked?R.drawable.on:R.drawable.off);
}
}
希望本文所述对大家Android程序设计有所帮助。