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



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

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


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


    事实上这是两张图片。关键在于图片必须跟着button改变。


    一開始想用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);
                }
            });



  • 相关阅读:
    C#Windows 服务制作安装删除. 用户注销后,程序继续运行
    续实例解析SOCKET编程模型之异步通信篇(上) 代码
    Multiview和View控件 使用事例
    C# Socket 笔记
    检测密码强度的javascript
    最基本的Socket编程 C#版 [转]
    SQL Server CHARINDEX和PATINDEX详解
    C# 文件操作
    网站首页js幻灯片代码
    如何让div它们在一行显示
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6907390.html
Copyright © 2020-2023  润新知