博客
关于我
【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_secure_installation初始化数据库报Access denied
查看>>
MySQL_西安11月销售昨日未上架的产品_20161212
查看>>
Mysql——深入浅出InnoDB底层原理
查看>>
MySQL“被动”性能优化汇总
查看>>
MySQL、HBase 和 Elasticsearch:特点与区别详解
查看>>
MySQL、Redis高频面试题汇总
查看>>
MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法
查看>>
mysql一个字段为空时使用另一个字段排序
查看>>
MySQL一个表A中多个字段关联了表B的ID,如何关联查询?
查看>>
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>