在开发Android应用的界面时,我们必然会用到本文ViewGroup,尤其是FrameLayout,LinearLayout,RelativeLayout等ViewGroup的子类; 在一些情况下,我们需要设置这些ViewGroup的点击效果,使用户获得更好的体验。下面介绍两种实现方法:

方法一:使用图片资源

通过为ViewGroup设置不同的图片图片资源,是最方便的实现方法,我们只需要设计两张图片,一张为非点击效果,另一张为点击时效果,然后为ViewGroup设置

background即可:

1. 定义ViewGroup的background所需的drawbale资源:selector_viewgroup_item_btn_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/btn_bg_pressed" android:state_pressed="true"/><item android:drawable="@drawable/btn_bg_unpressed"/></selector>

该文件的定义很简单,就是规定了一个点击效果图片和一个正常情况下的图片,通过state进行区分。

2.  定义布局文件:main_activity.xml

<RelativeLayoutandroid:id="@+id/my_collect_layout_parent"android:layout_width="fill_parent"android:layout_height="50dp"android:clickable="true"android:background="@drawable/selector_viewgroup_item_btn_bg" ><ImageViewandroid:id="@+id/img1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_marginLeft="20dp"android:src="@drawable/more_my_collect_img" /><TextViewandroid:id="@+id/my_collect_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_marginLeft="12dp"android:layout_toRightOf="@id/img1"android:gravity="center"android:text="我的收藏"android:textColor="#5d5d5d"android:textSize="15sp" /></RelativeLayout>

在布局文件中,我们有两处处需要 注意:

·设置RelativeLayout的background属性,指向之前定义的drawable资源selector_viewgroup_item_btn_bg.xml

·要为RelativeLayout设置clickable 属性: android:clickable="true"

效果图:

方法二: 使用Color颜色

1. 在value目录下定义drawables.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<resources><!-- 用于RelativeLayout点击 --><drawable name="viewgroup_item_bg_unpress">#ffffff</drawable>  <drawable name="viewgroup_item_bg_pressed">#f2f2f2</drawable>
</resources>

注: 此处我们需要注意,item的开头我们使用的是<drawable>而不是<color>.

2. 定义ViewGroup的background所需的drawbale资源:selector_viewgroup_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true" android:drawable="@drawable/viewgroup_item_bg_pressed"/><item android:drawable="@drawable/viewgroup_item_bg_unpress" android:state_focused="false" android:state_pressed="false"/>
</selector>

3. 定义布局文件:main_activity.xml

<RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="50dp"android:clickable="true"android:background="@drawable/selector_viewgroup_bg" ><ImageViewandroid:id="@+id/img1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_centerVertical="true"android:layout_marginLeft="20dp"android:src="@drawable/more_my_collect_img" /><TextViewandroid:id="@+id/my_collect_text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_marginLeft="12dp"android:layout_toRightOf="@id/img1"android:gravity="center"android:text="我的收藏"android:textColor="#5d5d5d"android:textSize="15sp" /></RelativeLayout>

在布局文件中,我们有两处处需要 注意:

·设置RelativeLayout的background属性,指向之前定义的drawable资源selector_viewgroup_bg.xml

·要为RelativeLayout设置clickable 属性: android:clickable="true"

效果图:

通过上述方法,即可实现最简单的ViewGroup点击效果。

源代码下载地址(免费):http://download.csdn.net/detail/zuiwuyuan/8401989

Android ViewGroup点击效果(背景色)相关推荐

  1. android imageview 点击事件,Android ImageView点击效果

    ImageView设置点击效果需要注意两点,第一个设置android:clickable="true",第二个 属性必须放到最后才能生效 android:id="@+id ...

  2. android viewgroup点击变色,Android ViewGroup事件分发

    上篇文章已经分析了Android的Touch事件分发.如果没看的建议先看一下.Android View的Touch事件分发. 接下来我们开始写几种场景,得出一个初步的执行顺序,然后我们按照这个顺序开始 ...

  3. android圆形点击效果,Android 三种方式实现自定义圆形页面加载中效果的进度条

    [实例简介] Android 三种方式实现自定义圆形页面加载中效果的进度条 [实例截图] [核心代码] ad376a86-a9aa-49bc-8cea-321bcff2c0c3 └── AnimRou ...

  4. android 布局点击效果,如何让LinearLayout也有类似Button的点击效果?

    log4net--不可多得的开源日志记录组件 log4net--不可多得的开源日志记录组件 1 前奏 一直在用log4net日志工具,却没时间写个日志给大家分享一下这个工具,趁最近比较空些,好好分享一 ...

  5. android radiobutton 点击效果,Android RadioButton 的点击效果

    效果图 控件 android:divider="@drawable/wosim_rg_divider" android:showDividers="middle" ...

  6. android+酷炫动画效果,Android简单酷炫点击动画(附源码)

    在Android5.0之前, Android的点击效果一直很low, 即使5.0的波纹效果也不尽如人意. 而我之前写过一种比较酷炫的点击效果, 最近抽了点时间完善一下, 把阴影效果加入了进去, 大家先 ...

  7. 实现类知乎android客户端关注和取消关注的按钮点击效果

    例行广告,推广一下我的博客http://zwgeek.com 前端时间在看Android各个客户端上比较出色的动画效果,发现两个动画做的很好的客户端,一个是豌豆荚,一个是知乎.接下来我可能会对这两个客 ...

  8. android特效按钮点击效果

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

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

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

最新文章

  1. 上分神器:训练调参与模型集成
  2. jpg怎么合成一份_哪些超实用的有机化学知识点---之有机合成工具包
  3. SOA在美国和中国的差异
  4. memcpy()函数
  5. mybatis和ehcache整合
  6. java定时任务_ftp上传软件,ftp上传软件定时功能教程
  7. 算法--库函数实现全排列
  8. 你会买新款 Macbook Pro 么?
  9. Python基础教程(第3版)PDF
  10. 简单学生成绩分析系统
  11. uniapp中使用微信SDK
  12. Qt 实现画线笔锋效果详细原理
  13. 阿里云国际ECS云服务器免费试用版如何使用?
  14. oracle 日期的常用写法
  15. 你有多久没收到过游戏开发书单了?
  16. 「团队训练赛」2021 Jiangsu Collegiate Programming Contest题解
  17. cocos2d-x 内存优化之prv.ccz plist 文件加载
  18. Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs OrientDB vs Aerospike vs N
  19. Alibaba 官方微服务扛把子「SpringCloudAlibaba 全彩学习手册.PDF」,开源学习ing,
  20. 总结自己的2020,展望2021

热门文章

  1. 合泰单片机数码管c语言,合泰单片机定时器数码管显示
  2. Linux网卡改为动态过去IP,Linux修改网卡ens33为eth0以及centos7下修改动态IP为静态IP地址...
  3. java 接口 签名机制_java – 当接口A在其方法签名中定义接口B时
  4. 大数据治理工程师_大数据治理关键技术解析(转自EAWorld)
  5. java applet配置_配置Java Applet的运行环境
  6. html5基础知识点常用标签
  7. java注解管理_JavaSpring【四、Bean管理注解实现】
  8. python能做出exe程序么_教你用python做exe程序
  9. OAuth 2.0攻击方法及案例总结
  10. 蛇形打印数组(某宝典公司面试手撕代码题)