Android按钮按下的时候改变颜色实现方法_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"
         />

时间: 2024-12-24 11:31:45

Android按钮按下的时候改变颜色实现方法_Android的相关文章

JS实现文字链接感应鼠标淡入淡出改变颜色的方法_javascript技巧

本文实例讲述了JS实现文字链接感应鼠标淡入淡出改变颜色的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>JS实现文字链接感应鼠标淡入淡出改变颜色</TITLE> </HEAD> <BODY> <script l

Android编程实现自定义进度条颜色的方法_Android

本文实例讲述了Android编程实现自定义进度条颜色的方法.分享给大家供大家参考,具体如下: android 自定义进度条颜色 先看图 基于产品经理各种自定义需求,经过查阅了解,下面是自己对android自定义进度条的学习过程! 这个没法了只能看源码了,还好下载了源码, sources\base\core\res\res\  下应有尽有,修改进度条颜色只能找progress ,因为是改变样式,首先找styles.xml 找到xml后,进去找到 <style name="Widget.Pro

Android仿美团下拉菜单(商品选购)实例代码_Android

美团电商应用平台大家使用非常频繁,下面小编通过本文给大家介绍电商应用平台中常用的选择类别下拉列表的实现.先给大家展示下效果图: 一.下拉列表的实现 其实实现方法有很多,这时实现的也没有什么技术含量,只是总结下自己在项目中的做法,也提供一个思路. 首先是列表的数据,一般数据都是从后台读过来,这里因为没有后台,所以写死在客户端: private void initMenuData() { menuData = new ArrayList<map<string, string=""

Android RecyclerView 上拉加载更多及下拉刷新功能的实现方法_Android

RecyclerView 已经出来很久了,但是在项目中之前都使用的是ListView,最近新的项目上了都大量的使用了RecycleView.尤其是瀑布流的下拉刷新,网上吧啦吧啦没有合适的自己总结了一哈. 先贴图上来看看:     使用RecyclerView实现上拉加载更多和下拉刷新的功能我自己有两种方式: 1.使用系统自带的Android.support.v4.widget.SwipeRefreshLayout这个控价来实现. 2.自定义的里面带有RecyleView的控件. 使用Recycl

Android编程之图片颜色处理方法_Android

本文实例讲述了Android编程之图片颜色处理方法.分享给大家供大家参考,具体如下: 你想做到跟美图秀秀一样可以处理自己的照片,美化自己的照片吗?其实你也可以自己做一个这样的软件,废话不多说了,直接上图,上代码了! 效果图如下: 没处理前: 处理之后: MainActivity.java的代码如下: package net.loonggg.test; import android.app.Activity; import android.graphics.Bitmap; import andro

Android不使用自定义布局情况下实现自定义通知栏图标的方法_Android

本文实例讲述了Android不使用自定义布局情况下实现自定义通知栏图标的方法.分享给大家供大家参考,具体如下: 自定义通知栏图标?不是很简单么.自定义布局都不在话下! 是的,有xml布局文件当然一切都很简单,如果不给你布局文件用呢? 听我慢慢道来! 首先怎么创建一个通知呢? 1.new 一个 复制代码 代码如下: Notification n = new Notification(android.R.drawable.ic_menu_share, null, System.currentTime

Android设置PreferenceCategory背景颜色的方法_Android

本文实例讲述了Android设置PreferenceCategory背景颜色的方法.分享给大家供大家参考.具体分析如下: 大家可能遇到,PreferenceCategory默认是黑色背景,如何我们更换了PreferenceScreen的背景,那么这种分隔栏看上去很丑,那么怎么更改背景呢?我们可以通过自定义VIEW来实现. 代码如下: public class MyPreferenceCategory extends PreferenceCategory { public MyPreference

Android编程之ProgressBar圆形进度条颜色设置方法

本文实例讲述了Android ProgressBar圆形进度条颜色设置方法.分享给大家供大家参考,具体如下: 你是不是还在为设置进度条的颜色而烦恼呢--别着急,且看如下如何解决. ProgressBar分圆形进度条和水平进度条 我这里就分享下如何设置圆形进度条的颜色吧,希望对大家会有帮助. 源码如下: 布局文件代码: <ProgressBar android:id="@+id/progressbar" android:layout_width="wrap_content

Android下Activity全屏显示实现方法_Android

本文较为详细的讲述了Android下Activity全屏显示实现方法.分享给大家供大家参考.具体方法如下: 方法一: 使用xml的方法,在该项目的AndroidManifest.xml文件中,在需要全屏的Activity元素中添加属性: 复制代码 代码如下: android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 这样就可以实现这个Activity的全屏显示,如果只是不要标题栏,即需要保留系统自带的任务栏的话,则使用: 复制