最近想在github上找个圆角带边框的ImageView,找了几个或者不支持Color、或者不支持gif、或者不支持Glide,所以干脆自己用 Kotlin 写一个,实现原理是BitmapShader。github地址:RoundCornerImageView

效果图:

Gradle

dependencies {implementation 'com.howshea:roundCornerImageView:1.0.2'
}
复制代码

如果你的项目里没有依赖 Kotlin 的标准库,还要依赖一下 Kotlin 的标准库才能使用

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.71"
复制代码

Usage

XML

<com.howshea.roundcornerimageview.RoundCornerImageViewandroid:layout_width="250dp"android:layout_height="wrap_content"app:ratio="1.7"app:borderColor="#DBDBDB"app:borderWidth="0.4dp"app:radius="4dp" />
复制代码

or Kotlin

RoundCornerImageView(context).apply {borderColor = Color.parseColor("#DBDBDB")borderWidth = dp(0.4f).toFloat()radius = dp(3).toFloat()
}
复制代码

其中 ratio属性是图片宽高比,值要大于0,当设置了ratio,android:layout_height 属性便会不起作用,高度会根据宽度自动计算,这个属性在图片宽度需要适应屏幕宽度时比较有用。

Other

  • 当borderWidth或者radius大于0时,图片仅支持 centerCrop 和 fitXY,默认为centerCrop,当borderWidth和radius都等于0时,和普通ImageView没有区别
  • Drawable 转 bitmap 的处理参考了CircleImageView
  • 对CENTER_CROP的处理参考了SWImageView

圆角ImageView相关推荐

  1. android圆角ImageView的几种实现方式

    前言 好长一段时间没写博客,继续吧.今天突然想起金三银四的时候,面试遇到的一个问题:如何实现圆角imageView.所在公司只用了其中一种方式,今天总结一下: 第一种:Glide加载图片自带api 如 ...

  2. android imageview 锯齿,[置顶] android 自定义圆角ImageView以及锯齿的处理

    看到很多人开发过程中要使用圆角图片时,解决方法有: 1.重新绘制一张图片 2.通过布局来配置 3.通过重写View来实现 其中1,2在这里就不讲了,重点讲讲方法三的实现. 实现一:通过截取画布一个圆形 ...

  3. 安卓自定义view中 绘画基本图形点线面,矩形,方形,圆,扇形,文字及沿着特定方向布局,自定义圆角ImageView图片等等相关api使用方法及举例

    安卓自定义view中 绘画基本图形点线面,矩形,方形,圆,扇形,文字及沿着特定方向布局,自定义圆角ImageView图片等等相关api使用方法及举例,图片压缩处理逻辑 本文旨在介绍自定义View的实现 ...

  4. 通过反射实现圆角ImageView

    private void init(){paint = new Paint(Paint.ANTI_ALIAS_FLAG); roundRect = new RectF(0, 0, getWidth() ...

  5. android imageview 加边框,RCImageView 自定义圆角ImageView,带边框效果

    概况 RCImageView 圆型或者圆角图片(带有边框效果),适配了ImageView的ScaleType属性 RoundImageView 定义圆角图片,四个角圆角弧度可各自定义,也可不定义默认角 ...

  6. android imageview 锯齿,android 自定义圆角ImageView以及锯齿的处理

    看到很多人开发过程中要使用圆角图片时,解决方法有: 1.重新绘制一张图片 2.通过布局来配置 3.通过重写View来实现 其中1,2在这里就不讲了,重点讲讲方法三的实现. 实现一:通过截取画布一个圆形 ...

  7. [置顶] android 自定义圆角ImageView以及锯齿的处理

    看到很多人开发过程中要使用圆角图片时,解决方法有: 1.重新绘制一张图片 2.通过布局来配置 3.通过重写View来实现 其中1,2在这里就不讲了,重点讲讲方法三的实现. 实现一:通过截取画布一个圆形 ...

  8. [Android开发]不操作Bitmap实现圆角ImageView、圆形ImageView,支持添加背景圆形或圆角矩形边框、边框支持渐变色

    一.主要解决的使用场景 1.使用Glide加载图片时,我们往往需要设置加载中和加载失败的图片,app中不同的页面的显示的图片可能是圆形,也可能是圆角矩形图,Glide设置placeholder和err ...

  9. Android ImageView到底怎么设置圆角图片?背景圆角?控件圆角?图片圆角?占位图圆角?

    前言 在我们实际开发应用的过程中,我想大家或多或少都遇到过需要加载圆角图片的场景,还有一些图片是四周圆角不对称,异性圆角等等情况. 我们可能会去网上或Github上搜索一些RoundImageView ...

最新文章

  1. Linux state 方式 安装nginx 服务
  2. AngularJS 1.x 国际化——Angular-translate例子
  3. 面试题字符集和编码区别_您和理想工作之间的一件事-编码面试!
  4. acer软件保护卡怎么解除_人社局回应!从单位辞职了社保怎么处理
  5. javascript Array
  6. PHP中获取数组中单列的值
  7. Open3d之彩色点云配准
  8. 4核a5中断linux,中断与时钟 - osc_a5pzxo31的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. linux下u盘的使用
  10. 数据库原理与应用 基于SQL Server 2005pdf
  11. JAVA练习173-幂集
  12. PreparedStatement 执行sql
  13. Unity Shader(固定管线着色器)
  14. 高山仰止,景行行止。虽不能至,然心向往之。
  15. SmartX联手沃云打造全新超融合公有云背后技术解析
  16. Pycharm2018.2破解版本闪退问题解决办法
  17. 基于ZigBee+ESP32+MQTT+EMQX+TomCat+Servlet接口+MySQL+安卓app的物联网课设
  18. 2022新版彩虹易支付系统源码/运营版/支持当面付/通道轮询/16支付插件/免签约支付系统
  19. 各代iPhone iPad 内部代号 Hardware Model
  20. linux 深度 windows,还要啥Windows?深度操作系统15.1发布!

热门文章

  1. java app退出登录_java – 通过从一个Activity调用一个函数,将退出按钮添加到Android App...
  2. windows进入mysql改user_mysql:Windows修改MySQL数据库密码(修改或忘记密码)
  3. 初分配和再分配图解_针织好看暖和的儿童帽子图解教程,宝妈们千万不要错过...
  4. 计算机开机coms错误,电脑开机提示“CMOS checksum error-Defaults loaded”怎么办?
  5. 编辑器图片上传 linux,summernote 富文本编辑器上传本地图片
  6. Python中raise用法
  7. c++ array容器 传参_C++ 顺序容器基础知识总结
  8. linux 图片编辑 java_Java的图片处理工具类
  9. react 流程图框架_【赠书】Preact(React)核心原理详解Preact(React) 核心原理解析...
  10. whereis linux用法,whereis命令使用详解