Android 开发:glide圆角正确实现方法

本文探讨了在Android开发中使用Glide处理图片圆角的问题,指出一些百度到的示例可能过时或性能不佳。作者推荐了两种较好的实现方法,并指出Glide4其实已经内置了相关功能。最后,提供了自定义类的调用示例,并建议读者参考相关博客文章深入学习Glide的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

鉴于昨天很晚测试了一堆码后

我得出结论Glide4 我玩不转啊 /大哭

不过 测试的好几个百度到的示例 有的方法明显过时 有的性能 啧啧 不敢恭维...

其中比较好用的 有如下两个

直接抄砖吧....

/**
  * 圆形
 **/
public class GlideCircleTransform extends BitmapTransformation {

    private static final String ID = "com.examle.nnp.ah.glide.GlideCircleTransform";

    private static final byte[] ID_BYTES = ID.getBytes(CHARSET);

    @Override

    protected Bitmap transform(@NonNull BitmapPool pool, @NonNull Bitmap toTransform, int outWidth, int outHeight) {

        int size = Math.min(toTransform.getWidth(), toTransform.getHeight());

        int x = (toTransform.getWidth() - size) / 2;

        int y = (toTransform.getHeight() - size) / 2;

        Bitmap square = Bitmap.createBitmap(toTransform, x, y, size, size);

        Bitmap circle = pool.get(size, size, Bitmap.Config.ARGB_8888);

        Canvas canvas = new Canvas(circle);

        Paint paint = new Paint();

        paint.setShader(new BitmapShader(square, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));

        paint.setAntiAlias(true);

        float r = size / 2f;

        canvas.drawCircle(r, r, r, paint);

        return circle;

    }

    @Override

    public boolean equals(Object obj) {

        return obj instanceof GlideCircleTransform;

    }

    @Override

    public int hashCod
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值