博客
关于我
【Android】Button之实现松开按钮和按下按钮背景图片或颜色不同
阅读量:371 次
发布时间:2019-03-05

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

       

        StateListDrawable是Drawable资源的一种,可以根据不同的状态,设置不同的图片,关键节点selector,我们只需要将Button的background属性设置为该drawable资源即可实现按下按钮与松开按钮时背景图片不同。

1、drawable 引用的Drawable位图
2、state_focused 是否获得焦点
3、state_pressed 控件是否被按下
4、state_enabled 控件是否使能
5、state_selected 控件是否被选择(针对有滚轮的情况)
6、state_checked 控件是否被勾选
7、state_checkable 控件能否被勾选

       

一、背景图片不同

       

实现步骤:

1、在资源res里导入按钮按下时要显示的图片和松开时要显示的图片

在这里插入图片描述

        可以使用软件自带的图片:
在这里插入图片描述
        也可以导入自己计算机内的图片:
在这里插入图片描述

        我在下载的SVG格式的图片:

在这里插入图片描述

       

2、导入完成后,在工程目录下,点击“res”——“drawable”——“New”——“Drawable Resource File”,

在这里插入图片描述

       

3、弹出如下窗口,在File name处输入你想给它取的名字。

在这里插入图片描述

       

4、在 你取的名字.xml文件内写代码,设置按下去显示的图片和松开显示的图片。

在这里插入图片描述       代码示例:

       

5、在activity_main.xml文件内写android:background="@drawable/btn_selector",使用之前写好的选择器selector。

       

效果:

按下按钮: 松开按钮:

       

       

       

二、背景颜色不同

       

实现步骤:

1、在资源res里创建一个文件夹color

在这里插入图片描述

       

2、文件夹color内新建一个选择器selector

在这里插入图片描述

在这里插入图片描述

       

3、在 你取的名字.xml文件内写代码,设置按下去显示的颜色和松开显示的颜色。

在这里插入图片描述

       代码示例:

       

4、在activity_main.xml文件内写android:backgroundTint="@color/btn_color_selector",使用这个selector。

       

效果:

按下按钮: 松开按钮:

转载地址:http://uuvg.baihongyu.com/

你可能感兴趣的文章
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>
MySQL 的全局锁、表锁和行锁
查看>>
mysql 的存储引擎介绍
查看>>