Android按钮按下的时候改变颜色实现方法
发布时间:2021-09-24 20:15:39
标签:按钮按下改变颜色,Android
需求是在我按下按钮时,该变按钮颜色,使用户感觉到自己按了按钮,当松开的时候,变回原来的颜色。
正常时:
按下时:
有人说,直接监听按钮的按下事件不得了嘛,其实这样确实能实现同样的效果,但是有个缺点,比如很多按钮都需要这样的效果,那你同样的代码就要重复很多次。所以,还是要通用起来。
首先,在res文件夹下新建一个文件夹drawable,这是无关分辨率的:
在下面建立一个xml文件:login_button_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/clr_normal" android:state_pressed="false"/>
<item android:drawable="@drawable/clr_pressed" android:state_pressed="true"/>
</selector>
然后在value文件夹下的string.xml文件里添加:
<drawable name="clr_normal">#ff6501</drawable>
<drawable name="clr_pressed">#a44100</drawable>
最后为button添加:
<Button
android:layout_marginTop="15dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/loginSubmit"
android:id="@+id/login"
android:textColor="@android:color/white"
android:background="@drawable/login_button_selector"
/>


猜你喜欢
- 1. 项目背景最近参加了Compose挑战赛的终极挑战,使用Compose完成了一个天气app。之前几轮挑战也都有参与,每次都学到不少新东西
- mybatis初始化SqlSessionFactory失败总结原因有几点1.resources中的xml配置文件放错位置或者是放的太深加载不
- 方式一:基于现有控件进行扩展,如基于button进行扩展,UI可直接用xmal进行编辑设计,逻辑用xaml.cs进行编辑方法二:直接创建wp
- 本文实例为大家分享了Android Walker登录记住密码页面的具体代码,供大家参考,具体内容如下目标效果: 这一次修改的不多,
- step1:先移除centos自带的jdkrpm -qa|grep javarpm -e --nodeps xxstep2:安装jdk (所
- android获取手机通讯录联系人信息private void getPhoneContacts() {
- 在注册表启动项里添加一项,路径:SOFTWARE\Microsoft\Windows\CurrentVersion\Run或者直接:运行-&
- G将军有一支训练有素的军队,这个军队除开G将军外,每名士兵都有一个直接上级(可能是其他士兵,也可能是G将军)。现在G将军将接受一个特别的任务
- Mybatis条件if test使用枚举值1.正确package com.weather.weatherexpert.common.util
- spring boot ${}占位符不起作用问题:在 pom.xml 文件里定义好属性标签,然后在 properties或者xml 中使用$
- Command模式是最让我疑惑的一个模式,我在阅读了很多代码后,才感觉隐约掌握其大概原理,我认为理解设计模式最主要是掌握起原理构造,这样才对
- 本文实例讲述了Android编程设计模式之迭代器模式。分享给大家供大家参考,具体如下:一、介绍迭代器模式(Iterator Pattern)
- 本文实例讲述了C#实现集合转换成json格式数据的方法。分享给大家供大家参考,具体如下:/// <summary>/// dat
- 前言对于 InterruptedException,一种常见的处理方式是 “生吞(swallow)” 它 —— 捕捉它,然后什么也不做(或者
- 通过微软的SAPI,不仅仅可以实现语音合成TTS,同样可以实现语音识别SR。下面我们就介绍并贴出相关代码。主要有两种方式:1、使用COM组件
- 一、问题描述上周不是搭了个SpringBoot整合sharding-jdbc分库分表的架子么,组里老哥不让我把开发环境的配置文件放到reso
- 本文实例讲述了Android程序启动时出现黑屏问题的解决方法。分享给大家供大家参考,具体如下:关于黑屏:默认的情况下,程序启动时,会有一个黑
- 本文实例为大家分享了java实现微信扫码支付的具体代码,供大家参考,具体内容如下1、maven项目的pom.xml中添加如下jar包:<
- 归并排序简单解释:该算法是采用分治法,把数组不断分割,直至成为单个元素,然后比较再合并(合并的过程就是两部分分别从头开始比较,取出最小或最大
- 一、@RequestMapping注解的功能从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方