仿微信朋友圈图片按下效果
2015-12-25 11:24
543 查看
在玩微信朋友圈时,发现每个图片的按下后,图片都会有一个变暗的效果,当时一想,做个selector应该就可以了,可是你每一张图片都是服务器拉取的,怎么去做selector,那在按下的时候我给每一张图片都加一个蒙层呢,是不是也可以解决,可是这个办法也太低端了。有什么别的办法吗?我直接去操作图片,让图片的颜色变暗就行了·····
自定义了一个图片的控件,别的不说 贴代码:
代码很简单,在使用中就是普通ImageView控件的使用,也可以给他设置点击事件,后面如何使用的代码就没必要写了。PS:感谢同学贾我斌的贡献
自定义了一个图片的控件,别的不说 贴代码:
package com.huawei.pictureclick; import android.content.Context; import android.graphics.ColorMatrixColorFilter; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.ImageView; public class DarkImageView extends ImageView { /** * 选中时,图片的颜色矩阵,将每个颜色值的色度降低50,达到图片变暗的效果 */ public final float[] BT_SELECTED = new float[] { 1, 0, 0, 0,-50, 0, 1, 0, 0, -50, 0, 0, 1, 0, -50, 0, 0, 0, 1, 0 }; /** * 未选中时,将图片的颜色值还原 */ public final float[] BT_NOT_SELECTED = new float[] { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0 }; public DarkImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } public DarkImageView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public DarkImageView(Context context) { super(context); init(); } private void init() { this.setClickable(true); } /** * 重写onTouchEvent方法,当手指在按下后,图片变暗,当手指抬起时,图片回复原样并响应自己的点击事件 */ @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: this.setColorFilter( new ColorMatrixColorFilter(BT_SELECTED) ) ; break; case MotionEvent.ACTION_MOVE: this.setColorFilter( new ColorMatrixColorFilter(BT_SELECTED) ) ; break; case MotionEvent.ACTION_UP: this.setColorFilter( new ColorMatrixColorFilter(BT_NOT_SELECTED) ) ; if(picClickListener != null){ picClickListener.click(); } break; default: break; } return true; } private OnPicClickListener picClickListener; public interface OnPicClickListener{ void click(); } public OnPicClickListener getPicClickListener() { return picClickListener; } public void setPicClickListener(OnPicClickListener picClickListener) { this.picClickListener = picClickListener; } }
代码很简单,在使用中就是普通ImageView控件的使用,也可以给他设置点击事件,后面如何使用的代码就没必要写了。PS:感谢同学贾我斌的贡献
相关文章推荐
- 关于 <textarea ></textarea >标签在苹果微信浏览器出现 内阴影
- H5在微信公众号的下拉刷新实现
- Android 微信支付返回xml转换成map格式
- 微信公 众平台开发,用于个人技术交流,有兴趣的加QQ群432921500
- 微信编辑器——构思编辑器教你如何学好图文排版
- 仿UC天气下拉和微信下拉眼睛头部淡入淡出--第三方开源--PullLayout
- PHP用抛物线的模型实现微信红包生成算法的程序源码
- 高仿微信对话列表滑动删除效果
- C#-MVC开发微信应用(2)--微信消息的处理和应答
- 【php应用】微信支付小结
- 微信公众号开发系列-获取微信OpenID
- 微信公共平台php收不到信息解决方法
- 微信公众平台通用接口API指南
- iOS微信支付[WXApi sendReq:req]调用小技巧
- C#-MVC开发微信应用(1)--开始使用微信接口
- 微信编辑器—构思编辑器元旦圣诞排版素材
- 微信 ua
- php创建微信二维码40052错误提示
- 微信支付接口 H5
- 微信被动回复用户消息功能——关注、取消