Android开发实现按钮点击切换背景并修改文字颜色的方法
时间:2019-04-12
本文章向大家介绍Android开发实现按钮点击切换背景并修改文字颜色的方法,主要包括Android开发实现按钮点击切换背景并修改文字颜色的方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了Android开发实现按钮点击切换背景并修改文字颜色的方法。分享给大家供大家参考,具体如下:
其实原理很简单,用到的是selector,用来设置android:background
和android:textcolor
属性,selector可以用来设置默认时候、点击时候的背景图片和文字颜色的属性,过程如下:
这两个文件如下:
1.当点击按钮,改变文字的颜色:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="false" android:state_enabled="true" android:state_pressed="false" android:color="#000000" /> <item android:state_enabled="false" android:color="#000000" /> <item android:state_pressed="true" android:color="#ffffff" /> <item android:state_focused="true" android:color="#000000" /> </selector>
2.当点击按钮,改变按钮的背景:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:Android="http://schemas.android.com/apk/res/android"> <!-- 定义按钮按下时的图片 --> <item Android:drawable="@drawable/blue" Android:state_pressed="true"/> <!-- 定义按钮默认的图片 --> <item Android:drawable="@drawable/gray"/> </selector>
是不是很简单,不用再用java代码来进行设置,只需要设置到你所需要的Textview或者button,如下使用方式:
<TextView android:id="@+id/menu_logout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="@drawable/btnselector" android:drawableLeft="@drawable/menu_logout" android:drawablePadding="10dp" android:gravity="center_vertical" android:text="@string/logout" android:textColor="@drawable/btnselectorcolor" android:textSize="@dimen/Menu_Font_Size" />
成功完成!!!!
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 方差齐性检验
- Windows WSL2 htop打开黑屏的问题解决
- 【DB笔试面试855】在Oracle中,简单说说PSU升级的过程
- HashMap中add()方法的源码学习
- IOC容器实现
- Docker安装mysql
- 【LeeCode 面试题】二叉树的前序遍历,中序遍历,后序遍历递归和迭代的两种实现方式
- MySQL笔记汇总
- 【DB笔试面试856】在Oracle中,如何判定实例是否运行?
- 【DB笔试面试857】在Oracle中,若一个主机上有多个Oracle实例,则如何确定哪些共享内存段属于想要清掉的实例的内存段?
- vue + flask实现邮件密码找回功能
- PicGo + Gitee 构建免费云图床
- python scipy.stats计算单样本假设检验(1 sample test)
- python scipy.stats计算双独立样本假设检验(2 sample independent test)
- 深入理解JS的事件循环