我是靠谱客的博主 开放仙人掌,最近开发中收集的这篇文章主要介绍android 设置圆角边框下边没起作用,Android圆角ViewGrup/View库(可加边框),妈妈再也不用担心设计圆角了!...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

比较常用的ViewGroup和View的圆角实现(可加边框),一发治好设计的圆角病。

如果喜欢,觉得好用,麻烦各位为我的Github点一个star,谢谢!

文章同步可能不及时,大家可以去Github查看最新代码。

效果预览

3051b5d60c7c

3051b5d60c7c

3051b5d60c7c

3051b5d60c7c

3051b5d60c7c

3051b5d60c7c

3051b5d60c7c

3051b5d60c7c

3051b5d60c7c

特点

LinearLayout、RelativeLayout、FrameLayout支持圆角

ImageView、TextView、View、Button支持圆角

CircleImageView(圆形图片)

支持边框(不遮挡图片)

可正常设置ripple(波纹不会突破边框)

使用 xml 或者 代码 进行配置,使用简单

......

基本用法

Step 1. 添加JitPack仓库

在项目根目录下的 build.gradle 中添加仓库:

allprojects {

repositories {

...

maven { url "https://jitpack.io" }

}

}

Step 2. 添加项目依赖

dependencies {

implementation 'com.github.KuangGang:RoundCorners:1.1.0'

}

Step 3. 在布局文件中添加需要的RoundCorners

android:layout_width="200dp"

android:layout_height="200dp"

android:src="@mipmap/ic_test"

app:rStrokeColor="#FFFFFF"

app:rStrokeWidth="5dp" />

android:layout_width="200dp"

android:layout_height="200dp"

android:scaleType="centerCrop"

android:src="@mipmap/ic_test"

app:rRadius="30dp"/>

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" />

android:layout_width="200dp"

android:layout_height="200dp"

app:rTopRightRadius="30dp"

app:rBottomRightRadius="30dp"

app:rStrokeColor="@android:color/holo_green_dark"

app:rStrokeWidth="5dp">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@android:color/holo_blue_dark" />

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的绘制看一下这篇文章即可,代码版本比较早,但是逻辑基本相同。

使用Path的addRoundRect方法,将需要剪切的圆角半径进行设置。

所有View和ViewGroup的绘制都需要经过draw方法,在draw结束之后使用第一步的Path进行画布切割。

注意在draw中减少创建对象次数。

版本记录

版本号

更新内容

1.1.0

边框颜色支持十六进制(#FFFFFF)

1.0.6

修复Oppo等5.05.1系统手机崩溃问题

1.0.4

1.代码设置圆角、边框尺寸支持浮点型

2.删除RoundViewPager

1.0.3

增加代码设置属性

1.0.2

1.增加边框

2.增加RoundButton/RoundViewPager

1.0.1

1.修复低版本系统圆角View黑框问题

2.增加CircleImageView

1.0.0

First Version

最后

以上就是开放仙人掌为你收集整理的android 设置圆角边框下边没起作用,Android圆角ViewGrup/View库(可加边框),妈妈再也不用担心设计圆角了!...的全部内容,希望文章能够帮你解决android 设置圆角边框下边没起作用,Android圆角ViewGrup/View库(可加边框),妈妈再也不用担心设计圆角了!...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部