Android开发:ImageView滤镜效果
2013-11-27 16:02
363 查看
ImageView滤镜效果常见的应用情形:
(表格空间中,单个表格内容)
1、gridview表格控件,每个表格中使用自定义内容(比如textview+imageview)取消gridview点击黄色背景效果,实现点击每个表格imageview变暗,而textveiw不变的点击效果
解决方法:在adapter对gridview加载数据的时候,对imageview添加点击事件,点击事件中添加imageview的滤镜效果
{用设置图片对象的ColorFilter属性,把ColorMatrixColorFilter设置灰度通道,传递到ColorFilter属性中
重视两点:1 图片滤镜结果,只是在图层上方 加了一层结果,不是对图片的实际批改
2 若是对单个图片加滤镜结果后,其他处所应用到这个图片也会变成带滤镜结果。
}
示例代码如下:
1、adapter 中getview方法中添加代码如下:
holder.mFeatureImage.setImageResource(id);
//设置图片点击滤镜效果
holder.mFeatureImage.setOnTouchListener(mOnTouchListener);
2、定义对应的点击事件效果,代码如下
private OnTouchListener mOnTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
changeLight((ImageView)v ,-80);
break;
case MotionEvent.ACTION_MOVE:
changeLight((ImageView)v ,0);
break;
case MotionEvent.ACTION_UP:
changeLight((ImageView)v ,0);
break;
default:
break;
}
return true;
}
};
函数:
方法二:通过setColorFilter 实现滤镜效果(参数含义,参考http://blog.sina.com.cn/s/blog_5da93c8f01012pkj.html)
Drawable drawable = imgs.get(i);
drawable.setColorFilter(Color.GRAY,PorterDuff.Mode.MULTIPLY);//注意是对图片设置滤镜,而不是控件
iv.setImageDrawable(drawable);
在ontouchlistener 中,抬起状态去掉滤镜效果即可
drawable.clearColorFilter();
参考其它作者内容:
http://my.eoe.cn/wgblwss/archive/15797.html
/article/3446570.html
http://www.byywee.com/page/M0/S746/746283.html
(表格空间中,单个表格内容)
1、gridview表格控件,每个表格中使用自定义内容(比如textview+imageview)取消gridview点击黄色背景效果,实现点击每个表格imageview变暗,而textveiw不变的点击效果
解决方法:在adapter对gridview加载数据的时候,对imageview添加点击事件,点击事件中添加imageview的滤镜效果
{用设置图片对象的ColorFilter属性,把ColorMatrixColorFilter设置灰度通道,传递到ColorFilter属性中
重视两点:1 图片滤镜结果,只是在图层上方 加了一层结果,不是对图片的实际批改
2 若是对单个图片加滤镜结果后,其他处所应用到这个图片也会变成带滤镜结果。
}
示例代码如下:
1、adapter 中getview方法中添加代码如下:
holder.mFeatureImage.setImageResource(id);
//设置图片点击滤镜效果
holder.mFeatureImage.setOnTouchListener(mOnTouchListener);
2、定义对应的点击事件效果,代码如下
private OnTouchListener mOnTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
changeLight((ImageView)v ,-80);
break;
case MotionEvent.ACTION_MOVE:
changeLight((ImageView)v ,0);
break;
case MotionEvent.ACTION_UP:
changeLight((ImageView)v ,0);
break;
default:
break;
}
return true;
}
};
函数:
private void changeLight(ImageView imageview, int brightness) { ColorMatrix matrix = new ColorMatrix(); matrix.set(new float[] { 1, 0, 0, 0, brightness, 0, 1, 0, 0, brightness, 0, 0, 1, 0, brightness, 0, 0, 0, 1, 0 }); imageview.setColorFilter(new ColorMatrixColorFilter(matrix)); }
方法二:通过setColorFilter 实现滤镜效果(参数含义,参考http://blog.sina.com.cn/s/blog_5da93c8f01012pkj.html)
Drawable drawable = imgs.get(i);
drawable.setColorFilter(Color.GRAY,PorterDuff.Mode.MULTIPLY);//注意是对图片设置滤镜,而不是控件
iv.setImageDrawable(drawable);
在ontouchlistener 中,抬起状态去掉滤镜效果即可
drawable.clearColorFilter();
参考其它作者内容:
http://my.eoe.cn/wgblwss/archive/15797.html
/article/3446570.html
http://www.byywee.com/page/M0/S746/746283.html
相关文章推荐
- Android开发:ImageView阴影和图层效果
- ImageView控件开发效果总结(边框效果,滤镜效果)
- 【Android】ImageView按下后的滤镜效果示例
- Android之ImageView实现滤镜效果(setColotFilter)
- Android之ImageView实现滤镜效果(setColotFilter)
- android ImageView实现变暗效果(使用setColorFilter滤镜)
- Android开发:ImageView阴影和图层效果
- Android利用CircleImageView实现圆形头像效果
- Android开发:在ImageView下绘制圆环
- Android开发之--将imageview设置圆角 并通过Glide加载出来
- 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
- android ImageView实现变暗效果
- Android特效开发(可伸缩View带互相挤压效果 )初级篇
- Android ImageView绘制圆角效果
- Android ImageView点击变暗效果
- Android中使用ImageViewSwitcher实现图片切换轮播导航效果
- Android开发之ViewPager实现轮播图(轮播广告)效果的自定义View
- Android自定义View——可在背景图和前景图显示遮罩效果的ImageView
- Android开发:ImageView 设置圆角边框
- 【Android自定义View实战】之仿去哪儿网App图片按压显示指纹并缩放效果TouchFingerImageView