自定义ImageView实现类似微信朋友圈发图片点击出来阴影效果;同时使用Picasso加载网络图片
2017-04-11 14:02
1226 查看
import com.squareup.picasso.Picasso; import android.content.Context; import android.graphics.Color; import android.graphics.PorterDuff; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.text.TextUtils; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.ImageView; /** * * @author: guc * @create_time:2017年4月10日 下午2:10:07 * @类描述:实现点击背景变暗效果;同时使用Picasso加载网络图片 * @version: * */ public class CustomImageView extends ImageView { private String url; private boolean isAttachedToWindow; public CustomImageView(Context context) { super(context); } public CustomImageView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: Drawable drawable = getDrawable(); if (drawable != null) { drawable.mutate().setColorFilter(Color.GRAY, PorterDuff.Mode.MULTIPLY); } break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: Drawable drawableUp = getDrawable(); if (drawableUp != null) { drawableUp.mutate().clearColorFilter(); } break; default: break; } return super.onTouchEvent(event); } @Override protected void onAttachedToWindow() { isAttachedToWindow = true; setClickable(true); setImageUrl(url); super.onAttachedToWindow(); } @Override protected void onDetachedFromWindow() { Picasso.with(getContext()).cancelRequest(this); isAttachedToWindow = false; setImageBitmap(null); super.onDetachedFromWindow(); } public void setImageUrl(String url) { if (!TextUtils.isEmpty(url)) { this.url = url; if (isAttachedToWindow) { Picasso.with(getContext()) .load(url) .placeholder( new ColorDrawable(Color.parseColor("#f5f5f5"))) .into(this); } } } }
picasso.jar包下载地址:picasso-2.5.2
最新Picasso.jar包下载地址:http://square.github.io/picasso/
相关文章推荐
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- Android使用自定义ImageView实现圆形图片效果
- 使用universalimageloader实现viewpager加载网络图片轮显
- 使用photoview+viewpager实现图片缩放切换(类似微信朋友圈图片查看)
- 自定义控件之ImageView实现点击之后有阴影效果
- Android 自定义圆形头像CircleImageView支持加载网络图片的实现代码
- 使用sdWebImage实现对tableView的cell加载图片淡入淡出效果
- iOS程序开发之使用PlaceholderImageView实现优雅的图片加载效果
- android 类似微信朋友圈图片点击放大的ImageView
- Android开发 自定义ViewGroup 实现微信九格图功能(图片不同排布不同) 和 一种图片点击变暗效果
- Android自定义ImageView实现点击两张图片切换效果
- android使用ImageView加载本地SdCard图片和加载网络图片
- 【转载】一行代码加载网络图片到ImageView——Android Picasso
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- 使用UniversalImageLoader 加载网络图片并附带缓存效果
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- 获取sd卡中的图片URL并显示,同时使用ImageView把选择的图片展现出来
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果 .