{"id":18565063,"url":"https://github.com/jenly1314/imageviewer","last_synced_at":"2025-10-11T05:05:33.379Z","repository":{"id":59056054,"uuid":"220192439","full_name":"jenly1314/ImageViewer","owner":"jenly1314","description":":sunrise: ImageViewer是一个图片查看器（类似微信查看图片效果），一般用来查看图片详情或查看大图时使用，支持多张查看。简单易用。","archived":false,"fork":false,"pushed_at":"2024-12-06T01:44:01.000Z","size":27881,"stargazers_count":62,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T09:11:29.698Z","etag":null,"topics":["android","coil","display-images","glide","image","image-gallery","image-preview","imageview","imageviewer","load-image","loader","photo","photo-gallery","photoview","picasso","previewer","viewer"],"latest_commit_sha":null,"homepage":"https://jenly1314.github.io/ImageViewer/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenly1314.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-07T08:55:33.000Z","updated_at":"2025-03-20T05:50:45.000Z","dependencies_parsed_at":"2024-09-10T17:26:03.953Z","dependency_job_id":"6c96bba9-2346-43b1-a3cb-587e8e6e84ca","html_url":"https://github.com/jenly1314/ImageViewer","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jenly1314/ImageViewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FImageViewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FImageViewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FImageViewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FImageViewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenly1314","download_url":"https://codeload.github.com/jenly1314/ImageViewer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FImageViewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006333,"owners_count":26084083,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","coil","display-images","glide","image","image-gallery","image-preview","imageview","imageviewer","load-image","loader","photo","photo-gallery","photoview","picasso","previewer","viewer"],"created_at":"2024-11-06T22:17:34.404Z","updated_at":"2025-10-11T05:05:33.365Z","avatar_url":"https://github.com/jenly1314.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ImageViewer\n\n![Image](app/src/main/ic_launcher-web.png)\n\n[![MavenCentral](https://img.shields.io/maven-central/v/com.github.jenly1314/imageviewer?logo=sonatype)](https://repo1.maven.org/maven2/com/github/jenly1314/ImageViewer)\n[![JitPack](https://img.shields.io/jitpack/v/github/jenly1314/ImageViewer?logo=jitpack)](https://jitpack.io/#jenly1314/ImageViewer)\n[![CI](https://img.shields.io/github/actions/workflow/status/jenly1314/ImageViewer/build.yml?logo=github)](https://github.com/jenly1314/ImageViewer/actions/workflows/build.yml)\n[![Download](https://img.shields.io/badge/download-APK-brightgreen?logo=github)](https://raw.githubusercontent.com/jenly1314/ImageViewer/master/app/release/app-release.apk)\n[![API](https://img.shields.io/badge/API-21%2B-brightgreen?logo=android)](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)\n[![License](https://img.shields.io/github/license/jenly1314/ImageViewer?logo=open-source-initiative)](https://opensource.org/licenses/mit)\n\n\nImageViewer for Android 是一个图片查看器，一般用来查看图片详情或查看大图时使用。\n\n## 效果展示\n\n![Image](GIF.gif)\n\n\u003e 你也可以直接下载 [演示App](https://raw.githubusercontent.com/jenly1314/ImageViewer/master/app/release/app-release.apk) 体验效果\n\n## 引入\n\n### Gradle:\n\n1. 在Project的 **build.gradle** 或 **setting.gradle** 中添加远程仓库\n\n    ```gradle\n    repositories {\n        //...\n        mavenCentral()\n        maven { url 'https://jitpack.io' }\n    }\n    ```\n\n2. 在Module的 **build.gradle** 中添加依赖项\n\n    ```gradle\n    implementation 'com.github.jenly1314:imageviewer:1.2.0'\n    ```\n\n## 使用\n\n### 相关说明\n\n* 使用 **ImageViewer** 时，必须配置一个实现的 **ImageLoader**。\n\n* **ImageViewer** 一次可以查看多张图片或单张图片，支持的类型可以是 **Uri**、 **url** 、 **filePath** 、 **File**、 **DrawableRes**、 **ImageDataSource** 等。\n\n* 目前内置默认实现 **ImageLoader** 的有 **CoilImageLoader** 、 **GlideImageLoader** 和 **PicassoImageLoader** ，三者选其一即可，如果以上都不满足您的需求，您也可以自己实现一个 **ImageLoader** 。\n\n* 为了保证 **ImageViewer** 体积最小化，让用户有更多选择的可能性， **ImageViewer** 仅编译时用到了 **coil** 、**Glide** 和 **Picasso** 。\n\n\u003e 当你使用了 **CoilImageLoader** 时，则需依赖[ **COIL** ](https://github.com/coil-kt/coil)库 （v1.2.0新增）\n\n\u003e 当你使用了 **GlideImageLoader** 时，则需依赖[ **Glide** ](https://github.com/bumptech/glide)库\n\n\u003e 当你使用了 **PicassoImageLoader** 时，则需依赖[ **Picasso** ](https://github.com/square/picasso)库\n\n### 代码示例\n\n示例一：简单调用\n\n```kotlin\n\nImageViewer.load(model)//要加载的图片数据，单张或多张\n    .imageLoader(GlideImageLoader())// 图片加载器，目前内置的有CoilImageLoader、GlideImageLoader和PicassoImageLoader，也可以自己实现\n    .start(activity,sharedElement)//activity or fragment, 跳转时的共享元素视图\n\n```\n\n示例二：根据需要修改一些配置\n```kotlin\n\nImageViewer.load(model)//要加载的图片数据，单张或多张\n    .imageLoader(GlideImageLoader())// 图片加载器，目前内置的有CoilImageLoader、GlideImageLoader和PicassoImageLoader，也可以自己实现\n    .selection(position)//当前选中位置，默认：0\n    .showIndicator(true)//是否显示指示器，默认不显示\n    .theme(R.style.ImageViewerTheme)//设置主题风格，默认：R.style.ImageViewerTheme\n    .orientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)//设置屏幕方向,默认：ActivityInfo.SCREEN_ORIENTATION_BEHIND\n    .start(activity,sharedElement)//activity or fragment, 跳转时的共享元素视图\n\n```\n\n特别说明：全局设置默认的图片加载器（v1.2.0新增）\n\n```kotlin\nImageViewer.setGlobalDefaultImageLoader(imageLoader)\n```\n\u003e 当设置了全局默认的图片加载器后，就可以在使用`ImageViewer`实例时，不用再单独调用`imageViewer.imageLoader(imageLoader)`去设置图片加载器了。\n\n\n更多使用详情，请查看[app](app)中的源码使用示例或直接查看 [API帮助文档](https://jenly1314.github.io/ImageViewer/api/)\n\n## 相关推荐\n- [DrawBoard](https://github.com/jenly1314/DrawBoard) 一个自定义View实现的画板；方便对图片进行编辑和各种涂鸦相关操作。\n- [CircleProgressView](https://github.com/jenly1314/CircleProgressView) 一个圆形的进度动画控件，动画效果纵享丝滑。\n- [ArcSeekBar](https://github.com/jenly1314/ArcSeekBar) 一个弧形的拖动条进度控件，配置参数完全可定制化。\n- [SpinCounterView](https://github.com/jenly1314/SpinCounterView) 一个类似码表变化的旋转计数器动画控件。\n- [CounterView](https://github.com/jenly1314/CounterView) 一个数字变化效果的计数器视图控件。\n- [RadarView](https://github.com/jenly1314/RadarView) 一个雷达扫描动画后，然后展示得分效果的控件。\n- [SuperTextView](https://github.com/jenly1314/SuperTextView) 一个在TextView的基础上扩展了几种动画效果的控件。\n- [LoadingView](https://github.com/jenly1314/LoadingView) 一个圆弧加载过渡动画，圆弧个数，大小，弧度，渐变颜色，完全可配。\n- [WaveView](https://github.com/jenly1314/WaveView) 一个水波纹动画控件视图，支持波纹数，波纹振幅，波纹颜色，波纹速度，波纹方向等属性完全可配。\n- [GiftSurfaceView](https://github.com/jenly1314/GiftSurfaceView) 一个适用于直播间送礼物拼图案的动画控件。\n- [FlutteringLayout](https://github.com/jenly1314/FlutteringLayout) 一个适用于直播间点赞桃心飘动效果的控件。\n- [DragPolygonView](https://github.com/jenly1314/DragPolygonView) 一个支持可拖动多边形，支持通过拖拽多边形的角改变其形状的任意多边形控件。\n- [compose-component](https://github.com/jenly1314/compose-component) 一个Jetpack Compose的组件库；主要提供了一些小组件，便于快速使用。\n\n\u003c!-- end --\u003e\n\n## 版本日志\n\n#### v1.2.0：2024-12-6\n* 代码全部改为使用`kotlin`\n* 更新Gradle至v8.0\n* 更新compileSdk至32\n* 提升minSdk至21\n* 新增`CoilImageLoader`\n* 新增全局设置图片加载器函数 `ImageViewer.setGlobalDefaultImageLoader(imageLoader)`\n\n#### [查看更多版本日志](CHANGELOG.md)\n\n---\n\n![footer](https://jenly1314.github.io/page/footer.svg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenly1314%2Fimageviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenly1314%2Fimageviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenly1314%2Fimageviewer/lists"}