Android 圆角、圆形 ImageView
Switch branches/tags
Clone or download
Latest commit f10b95d Nov 7, 2018
Permalink
Failed to load latest commit information.
app rename Nov 7, 2018
gradle/wrapper init Jun 19, 2018
images init Jun 19, 2018
niceimageview rename Nov 7, 2018
.gitignore init Jun 19, 2018
LICENSE init Jun 19, 2018
README.md rename Nov 7, 2018
build.gradle rename Nov 7, 2018
gradle.properties init Jun 19, 2018
gradlew init Jun 19, 2018
gradlew.bat init Jun 19, 2018
settings.gradle init Jun 19, 2018

README.md

NiceImageView

效果预览

特点

  • 基于AppCompatImageView扩展
  • 支持圆角、圆形显示
  • 可绘制边框,圆形时可绘制内外两层边框
  • 支持边框不覆盖图片
  • 可绘制遮罩
  • ......

基本用法

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

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

Step 2. 添加项目依赖

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

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