Android 漂亮的圓角(RCLayout)

RCLayout(圓角布局)

膜拜大神:https://github.com/GcsSloop/rclayout

Android 通用圓角布局,快速實(shí)現(xiàn)圓角需求。

之前做項(xiàng)目的時(shí)候有圓角相關(guān)需求,在網(wǎng)上找了很多方案都不夠滿意,于是自己做了一個(gè),目前已經(jīng)使用了一段時(shí)間,更新了多個(gè)版本,我遇到的問題都進(jìn)行了修復(fù),并且添加了很多方便的可配置屬性,以滿足不同需求。

效果預(yù)覽

006tKfTcly1fk7twywj5oj30u01fewka.jpg

支持的特性

  • [x] 包裹任意組件。
  • [x] 設(shè)置圓角大小。
  • [x] 分別對(duì)每一個(gè)角設(shè)置圓角大小。
  • [x] 設(shè)置描邊寬度。
  • [x] 設(shè)置描邊顏色。
  • [x] 圓形。
  • [x] 支持Padding。
  • [x] 圓角抗鋸齒。
  • [x] 內(nèi)容可點(diǎn)擊區(qū)域即為顯示區(qū)域。

主要文件

名字 摘要
RCRealtiveLayout 圓角相對(duì)布局

1. 基本用法

RCRelativeLayout(Round Corner RelativeLayout),使用圓角布局包裹需要圓角的內(nèi)容然后添加自定義屬性即可

<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="圓角測(cè)試"/>

</com.gcssloop.widget.RCRelativeLayout>

2. 配置屬性

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

屬性名稱 摘要 是否必須設(shè)置 類型
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. 屬性簡(jiǎn)介

3.1 圓角屬性

round_as_circle 的權(quán)限最高,在默認(rèn)情況下它的值為false,如果設(shè)置這個(gè)屬性為 true,則會(huì)忽略圓角大小的數(shù)值,剪裁結(jié)果均為圓形。

設(shè)置圓角大小的一共有5個(gè)屬性,一個(gè)是全局的圓角大小round_corner,其余四個(gè)round_corner_xx_xx是分別對(duì)每一個(gè)角進(jìn)行設(shè)置,它們之間存在替代關(guān)系。

  1. 僅設(shè)置全局,所有的角都跟隨全局。
  2. 僅對(duì)某些角設(shè)置,則只有設(shè)置過的角會(huì)有圓角效果。
  3. 全局和部分都有設(shè)置,則有具體設(shè)置的角跟隨具體設(shè)置的數(shù)值,沒有具體設(shè)置的角跟隨全局設(shè)置。

3.2 描邊屬性

描邊寬度stroke_width默認(rèn)情況下數(shù)值為 0,即不存在描邊效果。
描邊顏色stroke_color默認(rèn)情況下為白色,允許自定義顏色。

4.添加方法

4.1 添加倉(cāng)庫(kù)

在項(xiàng)目的 build.gradle 文件中配置倉(cāng)庫(kù)地址。

allprojects {
    repositories {
        jcenter()
        // 私有倉(cāng)庫(kù)地址
       maven { url "http://lib.gcssloop.com/repository/gcssloop-central/" }
    }
}

4.2 添加項(xiàng)目依賴

在需要添加依賴的 Module 下添加以下信息,使用方式和普通的遠(yuǎn)程倉(cāng)庫(kù)一樣。

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

作者簡(jiǎn)介

作者微博: @GcsSloop

個(gè)人網(wǎng)站: http://www.gcssloop.com

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載請(qǐng)聲明 原文鏈接 關(guān)注公眾號(hào)獲取更多資訊 這篇文章主要總結(jié)H5的一些新增的功能以及一些基礎(chǔ)歸納,這里只是一個(gè)提...
    前端進(jìn)階之旅閱讀 9,226評(píng)論 22 225
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評(píng)論 19 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,308評(píng)論 25 708
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,379評(píng)論 0 17
  • 那一年校園招聘,小A和小E同時(shí)被公司錄取擔(dān)任市場(chǎng)部門的實(shí)習(xí)生。兩人的專業(yè)成績(jī)和文筆功底都不相上下,小A偏靜,小E較...
    K媽南卡隨筆閱讀 380評(píng)論 0 2

友情鏈接更多精彩內(nèi)容