一、toggleButtom 点击切换事件
首先,在前端放置一个按钮和图片:
<ToggleButton
android:id="@+id/toggleButton"
android:textOn="@string/open" *需要设置开启时文字
android:textOff="@string/close" *设置关闭时文字
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ToggleButton" />
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@mipmap/ic_launcher_round" />
然后在后端设置:
public class MainActivity extends AppCompatActivity {
ToggleButton bulb; * 定义
ImageView img; * 定义
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bulb = findViewById(R.id.toggleButton); * 绑定
img = findViewById(R.id.imageView); * 绑定
bulb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){ * 当处于选中状态时
img.setImageResource(R.drawable.liang);
Toast.makeText(MainActivity.this,"选中",Toast.LENGTH_SHORT).show();
}else{
img.setImageResource(R.drawable.an);
Toast.makeText(MainActivity.this,"关闭",Toast.LENGTH_SHORT).show();
}
}
});
二、swich
使用方法和 toggleButton 非常像。显示方式不一样。
也是先在 xml 文件里先定义按钮:
<Switch
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch" />
然后在 java 里设置:
Switch swi;
swi = findViewById(R.id.switch1);
swi.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
img.setImageResource(R.drawable.liang);
}else{
img.setImageResource(R.drawable.an);
}
}
});