Android 中按钮点击后的效果通常是通过更换图片,或者背景色来实现的。

之前做的一直都是手动写在点击事件里,今天发现了一种更合适的方法,写在xml文件中。

比如,我有两张图片,一张是点击前的before_press,一张是点击后的after_press。

实现的方法:在drawable文件夹中建立一个文档,如button_press.xml.

android:state_pressed="true"

android:drawable="@drawable/after_press"/>

android:state_pressed="false"

android:drawable="@drawable/before_press"/>

然后在按钮处

android:background="@drawable/button_selector"

然后点击事件就完成啦。

另外,如果想修改背景颜色,需要在values文件夹中新建colors文件。

#f00

#FFFFFF

然后将drawable改为对应的@color/background即可。

补充:

直接改变颜色会显得很突兀,所以需要通过一种颜色渐变到方式来达到目的。

定义两个shape,一个没按的,一个按下后的。

shape_normal.xml

android:shape="rectangle">

android:startColor="#808080"

android:endColor="#808080"

android:angle="-90"/>

shape_pressed.xml

android:shape="rectangle">

android:startColor="#FF7F00"

android:endColor="#EE7600"

android:angle="-90"/>

然后依然定义button_selector.xml文件

android:state_pressed="true"

android:drawable="@drawable/shape_pressed"/>

android:state_pressed="false"

android:drawable="@drawable/shape_normal"/>

注意,不能直接写类似#FFFFFF 之类的到drawable中

android 按钮顶级效果_Android 中按钮的点击效果相关推荐

  1. ios 按钮图片拉伸_iOS中实现图片自适应拉伸效果的方法

    前言 在Android中实现图片的拉伸特别特别简单,甚至不用写一行代码,直接使用.9图片进行划线即可.但是iOS就没这么简单了,比如对于下面的一张图片(原始尺寸:200*103): 我们不做任何处理, ...

  2. android模糊检索_Android中实现输入框实时模糊搜索效果的方法

    Android中实现输入框实时模糊搜索效果的方法 发布时间:2020-08-13 16:27:11 来源:亿速云 阅读:161 作者:小新 Android中实现输入框实时模糊搜索效果的方法?这个问题可 ...

  3. android l 效果,[原]Android L中水波纹点击效果的实现

    博主参加了2014 CSDN博客之星评选,帮我投一票吧. 前言 前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大家对view的 ...

  4. Android L中水波纹点击效果的实现

    博主参加了2014 CSDN博客之星评选,帮我投一票吧. 点击给我投票 前言 前段时间android L(android 5.0)出来了,界面上做了一些改动,主要是添加了若干动画和一些新的控件,相信大 ...

  5. android 调用java类_Android中在WebView里实现Javascript调用Java类的方法

    搜索热词 为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制.只要调用addJavascriptInterface方法 ...

  6. android打开视频噔_Android中三种视频的播放

    在Android中,我们有三种方式来实现视频的播放: 1.使用其自带的播放器.指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型. 2.使用VideoView来播放. ...

  7. android 按钮顶级效果_Android 源码之button高亮效果

    android默认的button在点击以后有默认的高亮效果,但是默认的button比较丑,要替换成自己的按钮背景,采用的方法是: button.setBackgroundDrawable(drawab ...

  8. android 动态绘制布局,Android代码和绘制曲线中按钮和绘图板的动态布局

    时间: 2019年1月11日 本文向您介绍Android代码中的按钮和绘图板的动态布局和绘制曲线,主要包括示例android 动态绘制曲线,应用技巧,基本知识和知识android 动态绘制曲线,包括A ...

  9. android 滑动取值_Android中滑屏实现

    前言:  虽然本文标题的有点标题党的感觉,但无论如何,通过这篇文章的学习以及你自己的实践认知,写个简单的滑屏小 Demo还是justso so的. 友情提示: 在继续往下面读之前,希望您对以下知识点有 ...

最新文章

  1. gsoap 学习 1-由wsdl文件生成h头文件
  2. AI人才报告 | AI稳超互联网平均薪资,哪些细分领域最受追捧?
  3. python3编码转换_Python3编码转换
  4. 陈旸:清华博士的模型信仰
  5. 深入理解ArrayList
  6. 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序
  7. JAVA学习-----容器和数据结构
  8. 按位与、按位或、按位异或、左移、右移运算符的简单介绍(部分二进制运算符的简单介绍)...
  9. php firefox导出csv,如果文件名有空格,空格后面部分不会导出,后缀也没有
  10. OSx86的来龙去脉
  11. OSChina 周一乱弹 ——我们不应歧视任何语言,她们都是萌娘!(有图有真相)...
  12. 怎么查二手小米手机价格
  13. Arcgis连接sql server发布地图服务详解
  14. python3 安装PIL模块
  15. 幻影路由服务器无响应,幻影D128路由器连不上网怎么办? | 192路由网
  16. wiki中文语料的word2vec模型构建
  17. 关于 SSL 及 CA 证书,你可能需要知道这些
  18. 人工智能中的线性代数与矩阵论学习秘诀之精品课程
  19. 自己动手画CPU《计算机组织与结构实验》之计算机数据表示 第2关:汉字机内码获取实验 超详细教学
  20. XSS注入基础入门篇

热门文章

  1. 利用SMTP虚拟服务器实现不同邮件系统之间的通讯
  2. Linux 命令(79)—— pidof 命令
  3. Codeforces Round #510 (Div. 2) AB By cellur925
  4. Dinic算法(研究总结,网络流)
  5. 接口和抽象类的区别是什么
  6. Ubuntu上安装jdk出现的错误
  7. Eclipse中 搭建 Spring+SpringMVC+Mybatis整合(下)
  8. UVa 12657 双向链表
  9. 一篇不错的讲解Java异常的文章
  10. HttpCombiner.ashx处理