博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初学ToggleButton 点击按钮,更换按钮背景图片;再次点击,恢复之前背景图
阅读量:2086 次
发布时间:2019-04-29

本文共 967 字,大约阅读时间需要 3 分钟。

上方的图标,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);
            }
        });

你可能感兴趣的文章
一文了解强化学习
查看>>
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>
用 LSTM 来做一个分类小问题
查看>>
详解 LSTM
查看>>
按时间轴简述九大卷积神经网络
查看>>
详解循环神经网络(Recurrent Neural Network)
查看>>
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>
PCA 的数学原理和可视化效果
查看>>
机器学习中常用评估指标汇总
查看>>
什么是 ROC AUC
查看>>
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>