Android 中有哪些可以切圆角的实现方式呢?
本文总结一下常用的方式。
以下内容分为以下几部分:
利用 Drawable 的 shape xml 实现
CardView 实现圆角
fresco 中的 SimpleDraweeView 实现圆角
利用 View 的 ViewOutlineProvider 实现圆角
总结
1. 利用 Drawable 的 shape xml 实现
很多时候,我们可以自定义一些 drawable , 代码如下:
其中,corners 就是我们实现的圆角,这里指定圆角的半径为 15dp。
solid 是指填充色,这里为白色;
stroke 为drawable 的边缘宽度和颜色设置,这里为 1dp 颜色比白色黑一点。
如果知识想要 「圆角」的话,可以不需要指定 stroke
然后在我们需要的 View 上,设置它的 background 为该 drawable 即可.
效果为:
drawable 圆角
本质是在 background 上加了圆角。
2. CardView 的圆角
CardView 是自带圆角实现的,我们只需要在它的定义中加一句 app:cardCornerRadius="8dp" 即可。