rclayout

介绍:

Android通用圆角布局。

运行效果:

使用说明:

Android 通用圆角布局,快速实现圆角需求。

之前做项目的时候有圆角相关需求,在网上找了很多方案都不够满意,于是自己做了一个,目前已经使用了一段时间,更新了多个版本,我遇到的问题都进行了修复,并且添加了很多方便的可配置属性,以满足不同需求。

支持的特性

  •  包裹任意组件。

  •  设置圆角大小。

  •  分别对每一个角设置圆角大小。

  •  设置描边宽度。

  •  设置描边颜色。

  •  圆形。

  •  支持Padding。

  •  圆角抗锯齿。

  •  内容可点击区域即为显示区域。

主要文件

名字摘要
RCRealtiveLayout圆角相对布局

1. 基本用法

RCRelativeLayout(Round Corner RelativeLayout),使用圆角布局包裹需要圆角的内容然后添加自定义属性即可

<com.gcssloop.widget.RCRelativeLayout
    android:padding="20dp"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:round_corner="40dp">
  	<!--任意View-->
    <ImageView
        android:scaleType="centerCrop"
        android:src="@drawable/test"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#aaffffff"
        android:gravity="center"
        android:layout_alignParentBottom="true"
        android:text="圆角测试"/>
</com.gcssloop.widget.RCRelativeLayout>

2. 配置属性

可以在布局文件中配置的属性如下:

属性名称摘要是否必须设置类型
round_corner总体圆角半径dp
round_corner_top_left左上角圆角半径dp
round_corner_top_right右上角圆角半径dp
round_corner_bottom_left左下角圆角半径dp
round_corner_bottom_right右下角圆角半径dp
round_as_circle是否剪裁为圆形boolean
stroke_width描边半径dp
stroke_color描边颜色color

3. 属性简介

3.1 圆角属性

round_as_circle 的权限最高,在默认情况下它的值为false,如果设置这个属性为 true,则会忽略圆角大小的数值,剪裁结果均为圆形。

设置圆角大小的一共有5个属性,一个是全局的圆角大小round_corner,其余四个round_corner_xx_xx是分别对每一个角进行设置,它们之间存在替代关系。

  1. 仅设置全局,所有的角都跟随全局。

  2. 仅对某些角设置,则只有设置过的角会有圆角效果。

  3. 全局和部分都有设置,则有具体设置的角跟随具体设置的数值,没有具体设置的角跟随全局设置。

3.2 描边属性

描边宽度stroke_width默认情况下数值为 0,即不存在描边效果。
描边高度stroke_color默认情况下为白色,允许自定义颜色。

4.添加方法

4.1 添加仓库

在项目的 build.gradle 文件中配置仓库地址。

allprojects {
    repositories {
        jcenter()
        // 私有仓库地址
       maven { url "http://lib.gcssloop.com:8081/repository/gcssloop-central/" }
    }
}

4.2 添加项目依赖

在需要添加依赖的 Module 下添加以下信息,使用方式和普通的远程仓库一样。

compile 'com.gcssloop.widget:rclayout:1.4.1@aar'

作者简介

作者微博: @GcsSloop

个人网站: http://www.gcssloop.com

已下载
0