【Android】为ImageView添加阴影效果(模态效果)

例如在适配器中:

设置监听:

viewholder.g_imageview_item.setOnTouchListener(onTouchListener);
View.OnTouchListener onTouchListener = new OnTouchListener() {
		@Override
		public boolean onTouch(View v, MotionEvent event) {
			imageView = (ImageView) v;
			if (event.getAction() == MotionEvent.ACTION_DOWN) {
				imageView.setImageDrawable(g_context.getResources().getDrawable(R.drawable.moreapp_filter));//蒙版图片
				imageView.invalidate();
			}
			return false;
		}
	};

然后在条目点击事件中清除imageview:

convertView.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				g_onClick.onClick(position, channel);
				if (imageView != null) {
					imageView.setImageDrawable(null);
				}
			}
		});

g_imageview_item的布局如下:

其中@drawable/moreapp_filter是一张阴影图片

 <ImageView
        android:id="@+id/moreitem_imageView_icon"
        android:layout_width="54dip"
        android:layout_height="54dip"
        android:src="@drawable/moreapp_filter"
        android:scaleType="centerCrop"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="6dip"
        android:layout_marginTop="20dip" />

另外还有一篇比较好的文章:

ImageView阴影效果

或者:

View.OnTouchListener onTouchListener =new View.OnTouchListener(){ 
@Override 
public boolean onTouch(View v, MotionEvent event) { 
ImageView imgView=(ImageView )v; 
if(event.getAction()==MotionEvent.ACTION_DOWN) { 
imgView.setAlpha(0xDF); 
imgView.invalidate(); 
} else if(event.getAction()==MotionEvent.ACTION_UP||event.getAction()==MotionEvent.ACTION_CANCEL) { 
imgView.setAlpha(0xFF); 
imgView.invalidate(); 
} 
return false; 
}};

不过上面的这种效果不是很好。

时间: 2024-08-30 00:19:00

【Android】为ImageView添加阴影效果(模态效果)的相关文章

Android 纯代码添加点击效果

项目中很多的Button, 同时配置很多按钮切图,Selector是不是很烦, 使用下面这个类,就可以直接为Button增加点击效果. 不用多个图片,不用Selector. 用法:Button.setOnTouchListener(Effect_Click.getInstance()); 效果图:    源码: class Effect_Click implements OnTouchListener { private static Effect_Click Effect_Click; pub

Android开发之ListView添加多种布局效果演示

在这个案例中展示的新闻列表,使用到ListView控件,然后在适配器中添加多种布局效果,这里通过重写BaseAdapter类中的 getViewType()和getItemViewType()来做判断,指定ListView列表中指定位置的item加载对应的布局,在 getView中返回对应的视图,之前由于不清楚getViewTypeCount()和getItemViewType()方法,使用得比较少,一直以 为需要添加多个适配器,现在看来当时的想法说明自己见识还不够,哈哈. 第一步:创建放置Li

自定义控件三部曲之绘图篇(十六)——给控件添加阴影效果与发光效果

前言:要么出击,要么出局,命运女神总会眷顾拼劲全力的一方 相关文章: <Android自定义控件三部曲文章索引>:http://blog.csdn.net/harvic880925/article/details/50995268 这节我们将学到如下内容: 传统地给按钮添加阴影的方法 如何给已有控件添加阴影 如何给图片添加阴影 一.layerlist给按钮添加阴影效果 给控件添加阴影有很多方法,但平常我们给按钮添加阴影最常用的就是使用layerlist多层绘图来添加阴影效果,我们先来看一下给按

android 实现ImageView按压效果和解决背景图片拉申问题

建立一个.XML文件,名为:image_tab_bg.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <selector 3 xmlns:android="http://schemas.android.com/apk/res/android"> 4 <item android:state_pressed="true" android:drawable=

[Android] 给图像添加相框、圆形圆角显示图片、图像合成知识

    前一篇文章讲述了Android触屏setOnTouchListener实现突破缩放.移动.绘制和添加水印,继续我的"随手拍"项目完成给图片添加相框.圆形圆角显示图片和图像合成的功能介绍.希望文章对大家有所帮助. 一. 打开图片和显示assets文件中图片 首先,对XML中activity_main.xml进行布局,通过使用RelativeLayout相对布局完成(XML代码后面附).然后,在Mainctivity.java中public class MainActivity e

Android 实例讲解添加本地图片和调用系统拍照图片

在项目的开发过程我们离不开图片,而有时候需要调用本地的图片,有时候需要调用拍照图片.同时实现拍照的方法有两种,一种是调用系统拍照功能,另一种是自定义拍照功能.而本博文目前只讲解第一种方法,第二种方法后期在加以讲解. 添加本地图片和调用系统拍照图片主要是通过调用acitivity跳转startActivityForResult(Intent intent, int requestCode)方法和activity返回结果onActivityResult(int requestCode, int re

Android之绚丽的图片游览效果--有点像W7效果,透明的倒影,层叠的图片,渐变的颜色透明度

这里转载一个牛人的博客:http://www.cnblogs.com/tankaixiong/archive/2011/02/24/1964340.html 下面,是我参照他的博客实现的一个效果图.这个程序,在他的基础上进行了一些改良,但改良得不是很好,嘻嘻,等有空,继续研究.该实例下载路径:http://download.csdn.net/source/3275783 (一)截图     (二)实现关键: 1.改写Gallery,实现图片的层叠和透明度渐变. 主要是改写getChildStat

android 自定义scrollview 仿QQ空间效果 下拉伸缩顶部图片,上拉回弹 上拉滚动顶部title 颜色渐变

首先要知道  自定义scrollview 仿QQ效果 下拉伸缩放大顶部图片 的原理是监听ontouch事件,在MotionEvent.ACTION_MOVE事件时候,使用不同倍数的系数,重置布局位置[注此处是伸缩隐藏,不是同比例放大] inner.layout(normal.left, (int) (normal.top + inner_move_H), normal.right, (int) (normal.bottom + inner_move_H)); 关于“自定义scrollview 仿

Android系统中添加一个产品----图文详解

本文本着开源的精神介绍如何向一个Android系统中添加一个产品的整个过程,按照以下过程笔者有理由相信每个将要从事本行业的人都可以完成,其实添加一个产品并不难,难的是对其相关硬件的修改,好了废话不多说. 首先我们要创建一个属于自己产品的目录,这里以WY_device为例,以WY作为产品的名字. 首先从已经存在的产品中拷贝一个以产品的名字为名的.mk文件,修改为自己的.mk文件,在这里为WY.mk 对其进行如下的修改: 然后添加AndroidProducts.mk  这是添加产品的配置文件名路径,