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
加载图片的圆角问题;