博客
关于我
【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中地理位置数据扩展geometry的使用心得
查看>>
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>