比较常用的ViewGroup和View的圆角实现,一发治好设计的圆角病。
Step 1. 添加mavenCentral仓库
在项目根目录下的 build.gradle
中添加仓库:
allprojects {
repositories {
...
mavenCentral()
}
}
Step 2. 添加项目依赖
dependencies {
implementation 'io.github.csdn-mobile:RoundView:1.8.0'
}
Step 3. 在布局文件中添加需要的RoundCorners
<net.csdn.roundview.CircleImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:src="https://github.com/csdn-mobile/RoundView/raw/master/@mipmap/ic_test"
app:rStrokeColor="#FF3333"
app:rStrokeWidth="5dp" />
<net.csdn.roundview.RoundImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="centerCrop"
android:src="https://github.com/csdn-mobile/RoundView/raw/master/@mipmap/ic_test"
app:rRadius="30dp"/>
<net.csdn.roundview.RoundTextView
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@android:color/holo_blue_dark"
android:gravity="center"
android:text="Hello!"
android:textColor="@android:color/white"
android:textSize="40sp"
app:rRightRadius="30dp" />
<net.csdn.roundview.RoundRelativeLayout
android:layout_width="200dp"
android:layout_height="200dp"
app:rTopRightRadius="30dp"
app:rBottomRightRadius="30dp"
app:rStrokeColor="@android:color/holo_green_dark"
app:rStrokeWidth="5dp">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_blue_dark" />
</net.csdn.roundview.RoundRelativeLayout>
<net.csdn.roundview.RoundTextView
android:layout_width="200dp"
android:layout_height="100dp"
android:background="@android:color/holo_blue_dark"
android:gravity="center"
android:text="Hello!"
android:textColor="@android:color/white"
android:textSize="40sp"
app:rLeftRadius="50dp"
app:rRightRadius="50dp"/>
……
属性名 | 含义 | 默认值 | 方法 |
---|---|---|---|
rRadius | 统一设置四个角的圆角半径 | 0dp | setRadius(int radius) |
rLeftRadius | 左边两个角圆角半径 | 0dp | setRadiusLeft(int radius) |
rRightRadius | 右边两个角圆角半径 | 0dp | setRadiusRight(int radius) |
rTopRadius | 上边两个角圆角半径 | 0dp | setRadiusTop(int radius) |
rBottomRadius | 下边两个角圆角半径 | 0dp | setRadiusBottom(int radius) |
rTopLeftRadius | 左上角圆角半径 | 0dp | setRadiusTopLeft(int radius) |
rTopRightRadius | 右上角圆角半径 | 0dp | setRadiusTopRight(int radius) |
rBottomLeftRadius | 左下角圆角半径 | 0dp | setRadiusBottomLeft(int radius) |
rBottomRightRadius | 右下角圆角半径 | 0dp | setRadiusBottomRight(int radius) |
rStrokeWidth | 边框宽度 | 0dp | setStrokeWidth(int width) |
rStrokeColor | 边框颜色 | @color/white or #FFFFFF | setStrokeColor(int color) |
Android View的绘制流程。 View的绘制看一下这篇文章即可,代码版本比较早,但是逻辑基本相同。
版本号 | 更新内容 |
---|---|
1.7.1 | 修复BUG |
1.4.0 | 兼容嵌套播放器显示错误问题 |
1.3.0 | 修复嵌套圆角展示错误问题 |
1.2.0 | 修复8.0以下圆角错误问题 |
1.1.0 | 边框颜色支持selector |
1.0.0 | First Version |