1. 程式人生 > 其它 >Android 圖片圓角、圖片圓形【轉載:https://github.com/SheHuan/NiceImageView】

Android 圖片圓角、圖片圓形【轉載:https://github.com/SheHuan/NiceImageView】

Step 1. 新增JitPack倉庫在專案根目錄下的build.gradle中新增倉庫:

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

  

Step 2. 新增專案依賴

dependencies {
    implementation 'com.github.SheHuan:NiceImageView:1.0.5'
}

  

Step 3. 在佈局檔案中新增CornerLabelView

<com.shehuan.niv.NiceImageView
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_marginTop="10dp"
    android:src="@drawable/cat"
    app:border_color="#FF7F24"
    app:border_width="4dp"
    app:is_circle="true" />

  

支援的屬性、方法

屬性名含義預設值對應方法
is_circle 是否顯示為圓形(預設為矩形) false isCircle()
corner_top_left_radius 左上角圓角半徑 0dp setCornerTopLeftRadius()
corner_top_right_radius 右上角圓角半徑 0dp setCornerTopRightRadius()
corner_bottom_left_radius 左下角圓角半徑 0dp setCornerBottomLeftRadius()
corner_bottom_right_radius 右下角圓角半徑 0dp setCornerBottomRightRadius()
corner_radius 統一設定四個角的圓角半徑 0dp setCornerRadius()
border_width 邊框寬度 0dp setBorderWidth()
border_color 邊框顏色 #ffffff setBorderColor()
inner_border_width 相當於內層邊框(is_circle為true時支援) 0dp setInnerBorderWidth()
inner_border_color 內邊框顏色 #ffffff setInnerBorderColor()
is_cover_src border、inner_border是否覆蓋圖片內容 false isCoverSrc()
mask_color 圖片上繪製的遮罩顏色 不設定顏色則不繪製 setMaskColor()

其它

如果你需要實現類似釘釘的圓形組合頭像,例如:

可以先生成對應的Bitmap,並用圓形的 NiceImageView 顯示即可。如何生成組合Bitmap可以參考這裡:CombineBitmap