博客
关于我
【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 索引连环问题,你能答对几个?
查看>>
Mysql 索引问题集锦
查看>>
Mysql 纵表转换为横表
查看>>
mysql 编译安装 window篇
查看>>
mysql 网络目录_联机目录数据库
查看>>
MySQL 聚簇索引&&二级索引&&辅助索引
查看>>
Mysql 脏页 脏读 脏数据
查看>>
mysql 自增id和UUID做主键性能分析,及最优方案
查看>>
Mysql 自定义函数
查看>>
mysql 行转列 列转行
查看>>
Mysql 表分区
查看>>
mysql 表的操作
查看>>
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>