初学ToggleButton 点击按钮,更换按钮背景图片;再次点击,恢复之前背景图

本文介绍如何使用 ToggleButton 在 Android 应用中实现开关效果,包括设置默认选中图片、未选中图片及监听选中状态变化的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


上方的图标,R.drawable.register_checked  是选中图片

下方的图标,   R.drawable.register_unchecked 是未选中图片


默认是上方的选中效果。点击按钮,取消选中;再次点击按钮,再次选中。


其实这是两张图片。关键在于图片必须跟着按钮改变。


一开始想用Button实现,纠结了很久,只有按上去和松开的效果,并没有点击后变背景图片的效果。


后来百度了很久,找到可以 用ToggleButton实现我想要的效果,在这里与大家分享。


XML:

android:textOn=""
android:textOff=""

这里若不设置文本内容为空,它会有默认的文字显示在背景图之上

<ToggleButton
            android:id="@+id/btn_register_sms_confirm"
            android:layout_width="30dip"
            android:layout_height="24dip"
            android:textOn=""
            android:textOff=""
            android:background="@drawable/register_checked"/>      <!--这里是默认选中图片-->


JAVA:

引包的时候注意,别引错了。

import android.widget.CompoundButton.OnCheckedChangeListener;

这里是选中状态监听事件,不是点击事件

findViewById(R.id.btn_register_sms_confirm).setOnCheckedChangeListener(new OnCheckedChangeListener() {
            
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                btnSmsConfirm.setChecked(isChecked);
                btnSmsConfirm.setBackgroundResource(isChecked?R.drawable.register_checked:R.drawable.register_unchecked);
            }
        });



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值