Glide无法使用任何Transform/Gilde使用Transform不生效问题说明以及Gilde加载任意角圆角实现

可能是由于下面的情况导致

 

1.官方不允许同时使用两个Transform,例如

apply(RequestOptions.circleCropTransform()).apply(RequestOptions.centerCropTransform())

只会生效一个

 

2.ImageView设置了scaleType ,如果是图片本身需要裁剪的话,所有的变换后的效果可能就被裁剪掉了

 

附上一个既能裁剪 又能 设置圆角的Transform(kotlin)

原理是先使用官方的centerCrop得到转换后的图片在进行圆角裁减

package com.free.vpn.shoora.main.widget

import android.graphics.*
import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool
import com.bumptech.glide.load.resource.bitmap.CenterCrop
class GlideRoundedCornersTransform(private val mRadius: Float, private val mCornerType: CornerType) :
    CenterCrop() {
    enum class CornerType {
        ALL, TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT, TOP, BOTTOM, LEFT, RIGHT, TOP_LEFT_BOTTOM_RIGHT, TOP_RIGHT_BOTTOM_LEFT, TOP_LEFT_TOP_RIGHT_BOTTOM_RIGHT, TOP_RIGHT_BOTTOM_RIGHT_BOTTOM_LEFT, DEFAULT
    }

    override fun transfo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值