两种方案:

1、重写BitmapTransformation

重写方法解决冲突,来自CSDN的一个解决方案

public class GlideRoundTransform extends BitmapTransformation {    private static float radius = 0f;    public GlideRoundTransform(Context context) {        this(context, 4);    }    public GlideRoundTransform(Context context, int dp) {        super(context);        this.radius = Resources.getSystem().getDisplayMetrics().density * dp;    }    @Override    protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {        Bitmap bitmap = TransformationUtils.centerCrop(pool, toTransform, outWidth, outHeight);        return roundCrop(pool, bitmap);    }    private static Bitmap roundCrop(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;    }    public String getId() {        return getClass().getName() + Math.round(radius);    }    @Override    public void updateDiskCacheKey(MessageDigest messageDigest) {    }}

在加载的时候使用

RequestOptions myOptions = new RequestOptions()                  .transform(new GlideRoundTransform(this,30));          Glide.with(this)                  .load(R.drawable.item1)                  .apply(myOptions)                  .into(icon1);  

地址http://blog.csdn.net/flyinbed_/article/details/75506062

2、使用第三方框架

库地址:
https://github.com/wasabeef/glide-transformations

该库是专门针对glide的一个辅助类,包括裁剪
效果图

引入方法

    compile 'jp.wasabeef:glide-transformations:3.0.1'

使用方法

   Glide.with(mContext)                .load(aClass.img)                .apply(RequestOptions.bitmapTransform(new MultiTransformation(                        new CenterCrop(),                        new RoundedCornersTransformation(SizeUtils.dp2px(5), 0, RoundedCornersTransformation.CornerType.TOP))))                .into(imageView);

这里RoundedCornersTransformation的第一个参数需要转换成像素

更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. eclipse中使用RecyclerView报错:Error inflating class android.s
  6. Android使用DialogFragment,自定义对话框
  7. Best Practice For Android
  8. android中使用SQLite进行CRUD操作的实例
  9. Android中Intent传值

随机推荐

  1. Hbuilder集成个推时Android和ISO中推送的
  2. Android实现无线调试自己的应用
  3. Android(安卓)View中的控件和监听方法...
  4. Android(安卓)按键映射 驱动
  5. Android动态获取资源ID并使用javabean进
  6. android 地铁最短路线换乘查询系统(1)
  7. android adb的配置以及 java环境变量的配
  8. Androd学习笔记——新浪微博Android(安卓
  9. Android(安卓)FastJson使用的四种方式
  10. 【android】音乐播放器之service服务设计