Android ViewGroup点击效果(背景色)
在开发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点击效果(背景色)相关推荐
- android imageview 点击事件,Android ImageView点击效果
ImageView设置点击效果需要注意两点,第一个设置android:clickable="true",第二个 属性必须放到最后才能生效 android:id="@+id ...
- android viewgroup点击变色,Android ViewGroup事件分发
上篇文章已经分析了Android的Touch事件分发.如果没看的建议先看一下.Android View的Touch事件分发. 接下来我们开始写几种场景,得出一个初步的执行顺序,然后我们按照这个顺序开始 ...
- android圆形点击效果,Android 三种方式实现自定义圆形页面加载中效果的进度条
[实例简介] Android 三种方式实现自定义圆形页面加载中效果的进度条 [实例截图] [核心代码] ad376a86-a9aa-49bc-8cea-321bcff2c0c3 └── AnimRou ...
- android 布局点击效果,如何让LinearLayout也有类似Button的点击效果?
log4net--不可多得的开源日志记录组件 log4net--不可多得的开源日志记录组件 1 前奏 一直在用log4net日志工具,却没时间写个日志给大家分享一下这个工具,趁最近比较空些,好好分享一 ...
- android radiobutton 点击效果,Android RadioButton 的点击效果
效果图 控件 android:divider="@drawable/wosim_rg_divider" android:showDividers="middle" ...
- android+酷炫动画效果,Android简单酷炫点击动画(附源码)
在Android5.0之前, Android的点击效果一直很low, 即使5.0的波纹效果也不尽如人意. 而我之前写过一种比较酷炫的点击效果, 最近抽了点时间完善一下, 把阴影效果加入了进去, 大家先 ...
- 实现类知乎android客户端关注和取消关注的按钮点击效果
例行广告,推广一下我的博客http://zwgeek.com 前端时间在看Android各个客户端上比较出色的动画效果,发现两个动画做的很好的客户端,一个是豌豆荚,一个是知乎.接下来我可能会对这两个客 ...
- android特效按钮点击效果
2019独角兽企业重金招聘Python工程师标准>>> android特效按钮点击效果,动画从里到外渐变放大散花效果,本例子适合做一些特效的app使用, 使用很简单,直接可以把里面代 ...
- Android之给ImageView添加点击效果
1 问题 给ImageView添加点击效果 2 解决办法 1).新建selector.xml文件 <?xml version="1.0" encoding="utf ...
最新文章
- 上分神器:训练调参与模型集成
- jpg怎么合成一份_哪些超实用的有机化学知识点---之有机合成工具包
- SOA在美国和中国的差异
- memcpy()函数
- mybatis和ehcache整合
- java定时任务_ftp上传软件,ftp上传软件定时功能教程
- 算法--库函数实现全排列
- 你会买新款 Macbook Pro 么?
- Python基础教程(第3版)PDF
- 简单学生成绩分析系统
- uniapp中使用微信SDK
- Qt 实现画线笔锋效果详细原理
- 阿里云国际ECS云服务器免费试用版如何使用?
- oracle 日期的常用写法
- 你有多久没收到过游戏开发书单了?
- 「团队训练赛」2021 Jiangsu Collegiate Programming Contest题解
- cocos2d-x 内存优化之prv.ccz plist 文件加载
- Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs OrientDB vs Aerospike vs N
- Alibaba 官方微服务扛把子「SpringCloudAlibaba 全彩学习手册.PDF」,开源学习ing,
- 总结自己的2020,展望2021
热门文章
- 合泰单片机数码管c语言,合泰单片机定时器数码管显示
- Linux网卡改为动态过去IP,Linux修改网卡ens33为eth0以及centos7下修改动态IP为静态IP地址...
- java 接口 签名机制_java – 当接口A在其方法签名中定义接口B时
- 大数据治理工程师_大数据治理关键技术解析(转自EAWorld)
- java applet配置_配置Java Applet的运行环境
- html5基础知识点常用标签
- java注解管理_JavaSpring【四、Bean管理注解实现】
- python能做出exe程序么_教你用python做exe程序
- OAuth 2.0攻击方法及案例总结
- 蛇形打印数组(某宝典公司面试手撕代码题)