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

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

}

});

时间: 2024-10-05 02:38:30

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

点击按钮 倒计时60秒方可再次点击发送的Js代码

本节内容:Javascript 实现 点击按钮 倒计时60秒方可再次点击发送的效果. 比如,一些网站上的手机短信认证的功能,有类似实现点击按钮后,倒计时60秒才能再次点击发送的效果. 本文用Javascript实现点击按钮后,倒计时60秒才能再次点击发送验证码的功能. 例子: 复制代码代码示例: <input type="button" id="btn" value="免费获取验证码" /><script type="

iOS开发备忘录:自定义UINavigationBar背景图片和Back按钮

iOS项目,根据设计图,有时需要自定义UIView的UINavigationBar的背景.可以切出来一张1像素左右的背景图片,来充当UINavigationBar的背景. 可以利用NavigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics方法将图片填充NavigationBar的背景. 具体代码可参考: [self.navigationCont

ListView 点击某一项换背景图片

1. layout_search_list_item.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#D5D5D5" androi

Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解

今天继续给大家分享下View的相关知识,重点有一下两点:   1.View的几种不同状态属性            2.如何根据不同状态去切换我们的背景图片. 开篇介绍:android背景选择器selector用法汇总 对Android开发有经验的同学,对 <selector>节点的使用一定很熟悉,该节点的作用就是定义一组状态资源图片,使其能够 在不同的状态下更换某个View的背景图片.例如,如下的hello_selection.xml文件定义: <?xml version="

GUI(自定义背景图片)

如果组件中没有setIcon(...);这个方法,这是有需要给组件设置背景图片,这时就可以自定义绘制背景图片 /** * */ package com.niit.javagui; import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel;

使得spinner和spinner中item有不同的背景图片-------自定义spinner,设计出你想要的spinner!

遇到问题描述: spinner样式的使用,系统自带的不能说是一般的丑,并且跟你设计的风格完全不合拍,但对于spinner通过改变背景 图片的方式使其看起来更加的美观,更符合我们的审美设计.我遇到的问题是,对于item和spinner都设计为同一个背景图片,如果不同,当选择 item之后,item的值会直接把spinner中图片覆盖掉,使得spinner得不到预期的显示,但spinner和item中有相同的背景图片有不太合适.问题就是 使得spinner和spinner中item有不同的背景图片?

css网页中设置背景图片的方法详解

css网页中设置背景图片的方法详解 在css代码中设置背景图片的方法,包括背景图片.背景重复.背景固定.背景定位等 用css设置网页中的背景图片,主要有如下几个属性: 1,背景颜色 {background-color:数值}2,背景图片 {background-image: url(URL)|none}3,背景重复 {background-repeat:inherit|no-repeat|repeat|repeat-x|repeat-y}4,背景固定 {background-attachment

CSS3 background-image背景图片相关介绍

这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: background-image :设置元素的背景图片. background-repeat :设置如何平铺背景图片. background-attachment :设置背景图片是否固定或随着滚动移动. background-position :设置背景图片的位置. background-size

CSS3:background-size背景图片尺寸属性

background-size可以设置背景图片的大小,数值包括 长度length和百分比percentage. 并且会根据背景原点位置background-origin设置其图片覆盖的范围.那么下面我们一起来了解这个background-size属性吧. background-size语法 w3c对background-size的语法规定如下: 属性名: background-size 属性值: <bg-size>* 其中 bg-size = [ <length> | <pe