我们在开发网站时,会发现当我们添加<a/>标签后,标签有一个点击效果,比如颜色变化,这样开看起来用户体验会很棒,那么在我们的Android开发中如何加入这样的效果呢?本篇就为大家揭开它的神秘面纱。

  既然是点击事件的变化,我们就要监控用户是否点击,这里我有两种实现方式:1、通过改变背景图片达到上述效果;2、通过改变背景颜色来达到上述效果。

  两者各有千秋,比如当我们设计按钮(Button)的点击事件时,建议使用第一种;而当我们设计诸如Item时,建议使用第二种。好了下面开始为大家进行代码分析:

  首先为大家介绍第一种:通过改变背景图片来达到上述效果,既然是通过改变背景图片,所以我们需要事先准备好2张图片,一张作为未点击时,一张作为点击时。

  然后我们需要在res下新建一个drawable文件夹,在里面新建一个btn_bg.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 点击时  --><item android:drawable="@drawable/img_1" android:state_pressed="true"/><!-- 未点击时 --><item android:drawable="@drawable/img_2" android:state_pressed="false"/></selector>

  我们的布局文件(main_activity.xml):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity" ><Button android:layout_width="fill_parent"android:layout_height="wrap_content"android:background="@drawable/btn_bg"android:text="点击变化"/></RelativeLayout>

  特别注意红色标注处。好了我们的第一个效果就实现了,大家感觉如何。下面我们来一起学习一下第二种方法:

  第二种方法无需准备图片,我们通过改变背景的颜色来达到上述效果,既然这里需要使用到颜色,先为大家分享一下16进制的颜色对照表:

  有了颜色对照表,我们就开始进行代码解析吧:

  第一步在value文件夹下新建一个col.xml文件,把我么可能使用到的颜色添加进去:

<?xml version="1.0" encoding="utf-8"?>
<resources> <drawable name="write">#fff</drawable> <drawable name="gray">#aaa</drawable> </resources> 

  第二步修改res下drawable文件夹下的btn_bg.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 点击时  --><item android:drawable="@drawable/gray" android:state_pressed="true"/><!-- 未点击时 --><item android:drawable="@drawable/write" android:state_pressed="false"/></selector>

  最后一步我们Item标签设置:

<RelativeLayout android:id="@+id/relative1"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/btn_bg"><ImageView android:id="@+id/img1"android:layout_width="50dp"android:layout_height="50dp"android:src="@drawable/img_1"android:layout_marginLeft="20dp"android:layout_marginTop="20dp"android:layout_centerVertical="true"/><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:textColor="#fff"android:text="第一个item"android:layout_toRightOf="@id/img1"android:layout_centerVertical="true"/></RelativeLayout>

  这样我们Item也添加上了点击事件变化,最后总结一下这两种方法,第一种方法我们需要事先准备材料,而第二种方法,相对来说就灵活许多,我们可以随心所欲的进行修改,非常的方便。

转载于:https://www.cnblogs.com/AndroidJotting/p/4472294.html

Android点击效果相关推荐

  1. 代码android点击效果,GitHub - likaiyuan559/TouchEffects: Android View点击特效TouchEffects,几行代码为所有控件添加点击效果...

    Android 点击特效TouchEffects TouchEffects能够帮助你更快速方便的增加点击时候的效果,TouchEffects的目标是打造一个稳定.全面.且能更方便的自定义及个性化的一款 ...

  2. android点击效果selector

    要做一个类似这样的组合按钮. 点击的时候 改变背景颜色,改变图标颜色,改变字体颜色. 看起来很容易嘛.一个垂直的LinearLayout + Imageview + Textview+几个点击的sel ...

  3. android特效按钮点击效果

    2019独角兽企业重金招聘Python工程师标准>>> android特效按钮点击效果,动画从里到外渐变放大散花效果,本例子适合做一些特效的app使用, 使用很简单,直接可以把里面代 ...

  4. android imagebutton 按下效果,Android 点击ImageButton时有“按下”的效果的实现

    Android 点击ImageButton时有"按下"的效果的实现 1为ImageButton添加图片后,有边框,看起来像是图片贴在了一个按扭上面,要多丑有多丑. 解决办法:Ima ...

  5. Android ViewGroup点击效果(背景色)

    在开发Android应用的界面时,我们必然会用到本文ViewGroup,尤其是FrameLayout,LinearLayout,RelativeLayout等ViewGroup的子类: 在一些情况下, ...

  6. Android之给ImageView添加点击效果

    1 问题 给ImageView添加点击效果 2 解决办法 1).新建selector.xml文件 <?xml version="1.0" encoding="utf ...

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

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

  8. android求助:关于播放器中的“播放/暂停”键: 用ImageButton来设置点击效果时的问题...

    ============问题描述============ 大家好,我最近遇到个问题:    大家都知道,播放器中的播放/暂停键是这样的逻辑:当用户点击了这个键,如果当前显示的是"播放&quo ...

  9. android checkBox背景样式及用颜色值实现button点击效果

    1  使用颜色值(不使用图片)来实现按钮的点击效果: color.xml  <color name="head_color">#836FFF</color> ...

最新文章

  1. Android 中 RegistrantList消息处理机制 以android 5.0 MT为例
  2. 数据库面试题【五、索引的优缺点,什么时候使用索引,什么时候不能使用索引】
  3. Java 地下迷宫·算法·(ACM/蓝桥杯)·递归解法
  4. ABAP Text表的实现原理
  5. postfix+web页面+身份验证
  6. ubuntu搭建SVN客户端,右击提交或更新
  7. 微信360全景图片怎么制作?
  8. Big FAT32 Format Pro(U盘格式化工具)官方正式版V2.0 | u盘无法格式化怎么办 | 万能u盘修复工具下载 | 突破FAT文件系统4GB的限制
  9. 【飞鱼SEO】sem竞价的特点以及相关规则
  10. ONF开源白皮书:SDN解决方案案例——校园SDN
  11. 任意文件下载漏洞知识点
  12. .NET Core 获取GET,Post 参数
  13. html页面内容分页【转】
  14. 汇总解决idea出现import包时报错Java:程序包xxxx不存在,但包确实存在的问题
  15. 10 个 Python 可视化作品,今天源码全部开放下载!
  16. ngx.print与ngx.say
  17. leetcode 546. 移除盒子 —— 动态规划
  18. NYOJ869---切蛋糕
  19. 2022张宇考研基础30讲 线性代数 第三讲 向量组
  20. 白山云荣获信通院“2021年度SASE优秀案例”奖

热门文章

  1. 前后端分离后的前端时代,使用前端技术能做哪些事?
  2. oracle级联查询 level,ORACLE 数据库的级联查询 一句sql搞定(部门多级)
  3. php中统一编码语句,统一编码
  4. 宏定义_do{...} while(0U)宏定义的作用和意义
  5. 软件测试bug文档模板,国家标准测试计划文档模板
  6. c语言程序与实验系统,C/C ++程序设计学习与实验软件系统v2019 最新版下载_云间下载...
  7. 回溯法采用的搜索策略_强化学习基础篇(三十四)基于模拟的搜索算法
  8. C语言预定义宏的使用
  9. python3记录(2)— if __name__ == '__main__'
  10. Hadoop系列之Reporter,Partitioner,JobConf, JobClient