android Glide配合ViewOutlineProvider-实现圆角的工具

本文介绍了在Android开发中遇到的一个问题:在Banner轮播图中,图片在切换时出现直角然后再显示为圆角。通过使用ViewOutlineProvider和自定义的RoundedCornersTransform解决这一问题。示例代码展示了如何设置View的轮廓为圆角以及Glide加载图片时应用圆角效果的方法。

ViewOutlineProvider 是在 Android5.0添加的新 API,主要作用就是处理 View 的轮廓

我是在Banner轮播中遇到了这个问题,在图片轮播至下一张图片的时候,下一张图会先显示直角,然后在显示圆角。

具体实现代码如下:

banner.outlineProvider = object : ViewOutlineProvider() {
   override fun getOutline(view: View, outline: Outline) {
     outline.setRoundRect(0, 0, view.width, view.height, 50f)
   }
}

其中在Banner加载图片的时候也是做了图片的弧度处理;

Glide.with(holder?.imageView!!.context)
       .load(data)
       .placeholder(R.drawable.icon_project_default_graph)
      .apply(
        RequestOptions().transform(
          CenterCrop(), RoundedCornersTransform(
            holder?.imageView!!.context, 50f,
        )
    )
).into(holder.imageView)

其中进行了自定义RoundedCornersTransform来设置Glide加载图片的圆角问题;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的沙粒

您的鼓励是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值