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
<RelativeLayout
android: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" > <ImageView
android: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" /> <TextView
android: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
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:clickable="true"
android:background="@drawable/selector_viewgroup_bg" > <ImageView
android: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" /> <TextView
android: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 Button点击效果(按钮背景变色、文字变色)
一. 说明 Android Button的使用过程中,我们会需要为Button添加点击效果,不仅仅按钮的背景色需要变化,而且有时,我们连文字的颜色都希望变化,我们可以使用StateListDrawab ...
- android 按钮点击效果实现
在其他人的博客里看到其实实现按钮点击效果的方法有很多,这里提到的只是其中一个办法 图片素材(我自己用截图截的,可以自己搞) 放到mipmap目录下(studio是在这个目录下 , eclipse 直接 ...
- Android ImageView点击效果
ImageView设置点击效果需要注意两点,第一个设置android:clickable="true",第二个 <item android:drawable="@d ...
- Android TextView点击效果
在Android开发中,我们有时候需要单独的点击某一段文本,如图所示: 如上图,我们要求点击新用户注册这个TextView,为了有更好的用户体验,我们肯定要设置该TextView的点击效果.下面介绍如 ...
- android 按钮点击效果实现 在studio下出现的错误
在照做上一篇随笔的时候 在studio下为了方便我在写完一个 btn_select.xml 文件后直接粘贴了三个文件到drawable下 结果问题来了 总是报这样一个错误: Resource is n ...
- Android设置常见控件点击效果
一. Imageview的点击效果——图片稍微变暗突出点击效果 public class ClickImageView extends AppCompatImageView { public Clic ...
- Android 为点击事件添加震动效果
Android 点击Button 实现震动效果 学习自:网络 Overview 在Android 的点击效果中,遇到震动效果的还是很多的. 接下来就让我们看一下如何实现震动效果. 所需要的权限 如果我 ...
- Android给控件添加默认点击效果
Android控件点击效果 Android中Button控件是有点击效果的,但是像TextView.ImageView.各种Layout是没有点击效果的,给TextView设置点击事件后,加个点击效果 ...
- 让低版本的 Android 项目显示出 Material 风格的点击效果
每天都被不同的需求纠缠的生活是幸福而又不幸的,这不我们家亲爱的设计师们又让我们在低版本的 Android 平台上实现一下类似于 Material Design 的点击效果. 虽然大家都知道 Mater ...
随机推荐
- jstree设置checkbox单选
jstree设置插件checkbox只允许单选 jstree version console.log($.jstree.version); 3.3.8 单选配置参数: $.jstree.default ...
- oracle 处理表的一列
---删除一列和数据一起删除了. ALTER TABLE 表名 DROP COLUMN 列名; ---添加一列 alert table 表名 add column 列名; ---只删除一列的数据 没有 ...
- Duplicate a whole line in Vim
yy or Y to copy the line or dd to delete (cutting) the line then p to paste the copied or deleted te ...
- 洛谷 P1858 多人背包 DP
目录 题面 题目链接 题目描述 输入输出格式 输入格式 输出格式 输入输出样例 输入样例 输出样例 说明 思路 AC代码 题面 题目链接 洛谷 P1858 多人背包 题目描述 求01背包前k优解的价值 ...
- Leetcode674.Longest Continuous Increasing Subsequence最长连续递增序列
给定一个未经排序的整数数组,找到最长且连续的的递增序列. 示例 1: 输入: [1,3,5,4,7] 输出: 3 解释: 最长连续递增序列是 [1,3,5], 长度为3. 尽管 [1,3,5,7] 也 ...
- JDBC的事务处理 JDBC事务处理 JDBC教程
JDBC的事务基本知识 事务的定义:一个事务是由一条或多条对数据库操作的sql语句所组成的一个不可分割的工作单元,只有当事务中的所有操作都正常执行后,整个事务才会提交给数据库. 结束事务的操作:com ...
- Linux平时常用命令_查看进程_监控日志等命令
1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c 列出程序时,显示每个程序真正 ...
- 【水滴石穿】AB-B-Clone
地址: 源码 运行效果 无别的效果,代码如下 //index.js /** * @format * @lint-ignore-every XPLATJSCOPYRIGHT1 */ import {Ap ...
- 如何在Liferay 7中创建一个简单的JSF Portlet
这个将在Liferay IDE 3.1 M3的发布版中提供创建的选项,但是你也可以通过命令行来创建. 1.这是Liferay JSF团队的官网:http://liferayfaces.org/ 你能在 ...
- 阿里云应用高可用 AHAS 正式商用,可一键提升云上应用可用性
在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战. 7月17日,阿里云应用高可用服务AHAS 正式商用,包含架构感知.流控降 ...