1. 为什么要写这个圆角控件
正常来说我们只需要在drawable文件夹下创建以下xml文件,然后在布局文件中background属性指定一下就可以将布局设置为圆角。
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/blue" />
<corners android:radius="22dip"/>
</shape>
1.1 问题场景1
如果项目中很多复杂的圆角布局,并且背景色不同或者圆角弧度不同,使用上边方法就要创建很多xml文件与之对应。
1.2 问题场景2
如果项目中圆角区域需要添加点击事件,并且点击事件需要有水波纹效果。用以上方式添加处理的圆角,用户在长按时,水波纹会扩散到边角之外。
2. 圆角控件介绍
2.1. RoundLinearLayout
继承自LinearLayout
2.2. RoundRelativeLayout
继承自RelativeLayout
2.3 属性
<declare-styleable name="RoundLayoutAttr"