news 2026/8/17 23:00:08

SuperImageView 快速上手:5 分钟集成 Android 图片裁剪与圆角开源库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SuperImageView 快速上手:5 分钟集成 Android 图片裁剪与圆角开源库

SuperImageView 快速上手:5 分钟集成 Android 图片裁剪与圆角开源库

【免费下载链接】SuperImageViewCrop and Rounded Corners added to an ImageView.项目地址: https://gitcode.com/gh_mirrors/su/SuperImageView

SuperImageView 是一款面向 Android 开发者的图片裁剪与圆角开源库,它把"任意方向裁剪"和"四角独立圆角"两大能力模块化地注入原生 ImageView,让图片处理代码更少、更优雅。本教程面向新手,从零开始带你完成 SuperImageView 快速上手:获取源码、引入模块、布局声明,全程大约 5 分钟,无需依赖 Glide 等重型图片框架,就能让你的 ImageView 变得"超级能打"。

SuperImageView 是什么?为什么值得一试 🎯

Android 自带的 ImageView 裁剪模式只有 centerCrop、fitXY 等寥寥几种,想要"只保留图片左半部分"或"只显示右下角"往往要写大量自定义代码;圆角图片更是要借助 BitmapShader 或第三方图片框架的转换器。SuperImageView 正是为解决这些痛点而生,它采用模块化设计,由三个相互独立的模块组成:

  • superimageview:核心容器,负责统一调度裁剪与圆角功能
  • superimageview-imagecrop:图片裁剪模块,支持 8 种裁剪方向
  • superimageview-roundedcorners:圆角模块,支持四角独立设置圆角半径

这种结构意味着:你只需要图片裁剪,就不用引入圆角模块,按需加载、APK 体积更小,代码也更清爽。

快速开始:5 分钟完成 SuperImageView 集成 ⚡

第一步:获取 SuperImageView 源码

将仓库克隆到本地,推荐直接用 Android Studio 打开:

git clone https://gitcode.com/gh_mirrors/su/SuperImageView

第二步:引入核心模块与功能模块

在工程的 settings.gradle 中引入需要的模块,并在 app 的 build.gradle 中添加对应依赖即可。如果只需要裁剪功能,引入 superimageview 与 superimageview-imagecrop 两个模块就足够了。

第三步:在布局中声明 SuperImageView

把布局中的 ImageView 直接替换为 SuperImageView,通过自定义属性即可开启裁剪与圆角,无需写任何 Java 代码:

<com.codeforvictory.android.superimageview.SuperImageView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="200dp" android:scaleType="centerCrop" android:src="@drawable/ball_horizontal" app:siv_crop="centerLeft" app:siv_cornerRadius="12dp" />

到这里,一个"左侧居中裁剪 + 全角 12dp 圆角"的图片控件就完成了,整个过程不超过 5 分钟。🎉

Android 图片裁剪:8 种裁剪方向任你选 ✂️

裁剪是 SuperImageView 的核心功能。通过app:siv_crop属性,你可以像切豆腐一样自由指定图片保留区域,共有 8 种方向可选:

属性值保留区域属性值保留区域
topLeft左上角topRight右上角
centerLeft左侧居中centerRight右侧居中
bottomLeft左下角bottomRight右下角
centerTop顶部居中centerBottom底部居中

与原生 centerCrop 不同的是,SuperImageView 的裁剪基于 ImageView 的实际边界计算,无论图片原始尺寸如何,都能稳定得到你指定的区域——这也是它最初在游戏项目中解决"任意屏幕尺寸下只显示球的一半"这一需求的原因。

运行时切换裁剪方向同样简单,通过核心类的getFeature()方法即可拿到功能实例动态控制,适合需要交互切换的场景。

ImageView 圆角实现:四个角独立控制 🔵

圆角功能同样只需一个属性即可开启,siv_cornerRadius统一设置四个角的圆角半径:

<com.codeforvictory.android.superimageview.SuperImageView android:id="@+id/roundedImage" android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/photo" app:siv_cornerRadius="16dp" />

更贴心的是,它还支持每个角单独设置,轻松做出"只有左上角和右下角是圆角"这类不对称效果:

app:siv_cornerRadiusTopLeft="24dp" app:siv_cornerRadiusBottomRight="24dp"

对应的属性为siv_cornerRadiusTopLeftsiv_cornerRadiusTopRightsiv_cornerRadiusBottomLeftsiv_cornerRadiusBottomRight,灵活度直接拉满,头像、卡片、弹窗背景都能一招搞定。

核心源码导读 📖

如果你对实现原理感兴趣,SuperImageView 的代码量很小,非常适合阅读学习:

  • 核心容器 SuperImageView.java 继承自 AppCompatImageView,通过反射加载 XML 中指定的功能实现类,并统一转发绘制与布局回调
  • 裁剪类型以注解形式定义在 CropType.java,包含 8 种方向常量
  • 圆角类型定义在 Corner.java,支持四角独立配置
  • 各模块的属性声明集中在各自的res/values/attrs.xml中,想扩展自定义属性可从这里入手

总结 ✅

SuperImageView 用极低的接入成本,补全了原生 ImageView 在图片裁剪与圆角上的短板:8 种裁剪方向、四角独立圆角、模块化按需引入,5 分钟即可完成集成。对于不想为一张头像、一张 Banner 就引入重型图片库的开发者来说,它是一个轻量又实用的选择。快把它克隆下来,动手试试吧!

【免费下载链接】SuperImageViewCrop and Rounded Corners added to an ImageView.项目地址: https://gitcode.com/gh_mirrors/su/SuperImageView

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/17 22:57:34

NICO快速上手指南:10分钟创建并运行你的第一个游戏项目

NICO快速上手指南&#xff1a;10分钟创建并运行你的第一个游戏项目 【免费下载链接】nico a Game Framework in Nim inspired by Pico-8. 项目地址: https://gitcode.com/gh_mirrors/ni/nico NICO 是一款基于 Nim 语言、深受 Pico-8 启发的高效游戏框架。本指南将带你用…

作者头像 李华
网站建设 2026/8/17 22:55:24

摆脱Appstore4.3拒审泥潭

实战复盘&#xff5c;摆脱App Store 4.3拒审泥潭&#xff1a;编译后二进制混淆confuse‑9live&#xff08;小蟹iOS混淆&#xff09;项目落地评测 引言 做iOS多套产品矩阵的开发者&#xff0c;几乎都逃不开App Store审核的两道坎&#xff1a;4.3同质化以及2.3.1应用完整性规则。…

作者头像 李华
网站建设 2026/8/17 22:52:09

7-Zip完整使用教程:免费开源压缩软件的6个高效技巧与避坑指南

7-Zip完整使用教程&#xff1a;免费开源压缩软件的6个高效技巧与避坑指南 【免费下载链接】7-Zip 7-Zip source code repository 项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip 同事把一个2GB的项目文件夹压成了560MB的7z包&#xff0c;拷贝时间从20分钟缩到6分钟…

作者头像 李华
网站建设 2026/8/17 22:47:42

pgrust JSONB 使用指南:JSON 重型工作负载的优化之道

pgrust JSONB 使用指南&#xff1a;JSON 重型工作负载的优化之道 【免费下载链接】pgrust Postgres rewritten in Rust, now faster than Postgres and Clickhouse 项目地址: https://gitcode.com/GitHub_Trending/pg/pgrust pgrust 是一个用 Rust 从零重写 PostgreSQL …

作者头像 李华