Glide加载圆形,圆角图片
2017-11-15 14:51
357 查看
public class GlideUtil { /** * 加载圆形图片 * @param context * @param url * @param imageView */ public static void loadCircleImageView(final Context context, String url, final ImageView imageView){ Glide.with(context).load(url).asBitmap().centerCrop() .placeholder(R.drawable.pic_placeholder) .into(new BitmapImageViewTarget(imageView) { @Override protected void setResource(Bitmap resource) { RoundedBitmapDrawable circularBitmapDrawable = RoundedBitmapDrawableFactory.create(context.getResources(), resource); circularBitmapDrawable.setCircular(true); imageView.setImageDrawable(circularBitmapDrawable); } }); } /** * 加载圆形图片 * @param context * @param url * @param imageView */ public static void loadCircleImageView(final Context context, String url, final ImageView imageView, int def){ try { Glide.with(context).load(url).asBitmap().centerCrop() .placeholder(def) .into(new BitmapImageViewTarget(imageView) { @Override protected void setResource(Bitmap resource) { RoundedBitmapDrawable circularBitmapDrawable = RoundedBitmapDrawableFactory.create(context.getResources(), resource); circularBitmapDrawable.setCircular(true); imageView.setImageDrawable(circularBitmapDrawable); } }); } catch (Exception e) { e.printStackTrace(); } } /** * 加载圆角图片 */ public static void loadRoundImageView(final Context context, String url, final ImageView imageView,float r){ Glide.with(context).load(url).diskCacheStrategy(DiskCacheStrategy.ALL) .transform(new CornersTransform(context, r)) .placeholder(R.drawable.pic_placeholder) .into(imageView); } /** * 加载普通形状图片 * @param context * @param url * @param imageView */ public static void loadImageView(Context context, String url, ImageView imageView){ Glide.with(context).load(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.pic_placeholder) .into(imageView); } /** * 圆角效果的Transform * Created by Raye on 2016/5/10. */ public static class CornersTransform extends BitmapTransformation { private float radius; public CornersTransform(Context context) { super(context); radius = 10; } public CornersTransform(Context context,float radius){ super(context); Log.d("print", "CornersTransform: -->"+radius); this.radius = radius; } @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { return cornersCrop(pool,toTransform); } private Bitmap cornersCrop(BitmapPool pool, Bitmap source) { if (source == null) return null; Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); if (result == null) { result = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); } Canvas canvas = new Canvas(result); Paint paint = new Paint(); paint.setShader(new BitmapShader(source, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP)); paint.setAntiAlias(true); RectF rectF = new RectF(0f, 0f, source.getWidth(), source.getHeight()); canvas.drawRoundRect(rectF, radius, radius, paint); return result; } @Override public String getId() { return getClass().getName(); } } }
相关文章推荐
- 使用Glide动态加载圆形图片和圆角图片
- Android中Glide加载圆形图片和圆角图片实例代码
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- Android 使用Glide动态加载圆形图片和圆角图片
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- Android Glide 加载圆形图片和圆角图片的两种方法
- Glide加载圆角、圆形图片
- Glide使用 加载网络图片 圆形图片 圆角图片
- Glide加载圆形、圆角等图片的用法
- Glide的加载图片的帮助类,用来把图片圆角或者改成圆形图片
- Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- 关于安卓glide图片框架加载的图片转换成圆形圆角的思路
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- Android开发:使用Glide动态加载圆形图片和圆角图片--图片开发框架
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果
- Android Glide加载网络图片!圆形图片,圆角图片
- Glide 加载圆角、圆形图片
- 使用Glide动态加载圆形图片和圆角图片
- Glide加载圆形图片和圆角图片的解决方式。
- Glide加载图片显示圆形和圆角矩形图片