Android 圖片圓角、圖片圓形【轉載:https://github.com/SheHuan/NiceImageView】
阿新 • • 發佈:2021-08-31
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