├── .gitignore ├── .idea ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── vcs.xml ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── scrat │ │ └── app │ │ └── imageselector │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── scrat │ │ │ └── app │ │ │ └── imageselector │ │ │ └── MainActivity.java │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── scrat │ └── app │ └── imageselector │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── selectorlibrary ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── scrat │ │ └── app │ │ └── selectorlibrary │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── scrat │ │ │ └── app │ │ │ └── selectorlibrary │ │ │ ├── ImageSelector.java │ │ │ ├── activity │ │ │ ├── ImagePreviewActivity.java │ │ │ └── ImageSelectorActivity.java │ │ │ ├── adapter │ │ │ ├── RecyclerViewHolder.java │ │ │ └── SelectorAdapter.java │ │ │ ├── model │ │ │ ├── ISelectImageItem.java │ │ │ └── Img.java │ │ │ └── view │ │ │ ├── GridSpacingItemDecoration.java │ │ │ ├── HackyViewPager.java │ │ │ ├── SquareFrameLayout.java │ │ │ └── SquareImageView.java │ └── res │ │ ├── drawable │ │ ├── bg_preview_bottom.xml │ │ ├── bg_preview_top.xml │ │ ├── bg_selected_tip.xml │ │ ├── ic_back.xml │ │ ├── ic_round_check.xml │ │ └── ic_round_check_fill.xml │ │ ├── layout │ │ ├── activity_preview.xml │ │ ├── activity_selector.xml │ │ ├── image_preview.xml │ │ └── item_img.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ └── values │ │ ├── colors.xml │ │ └── strings.xml │ └── test │ └── java │ └── com │ └── scrat │ └── app │ └── selectorlibrary │ └── ExampleUnitTest.java └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 46 | 47 | 48 | 49 | 50 | 1.8 51 | 52 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ImageSelector 2 | 3 | ------ 4 | 5 | 图片选择器, 支持多图选择和图片预览等功能。 6 | 7 | 开源地址:[https://github.com/open-android/ImageSelector](https://github.com/open-android/ImageSelector) 8 | 9 | 简 书:[http://www.jianshu.com/p/942bf1aa9618](http://www.jianshu.com/p/942bf1aa9618 "选择多张图片") 10 | 11 | > 1. 支持`jitpack` 12 | > 2. 支持选择多张 13 | > 3. 支持选择图片数量上限 14 | > 4. 支持图片选择顺序 15 | > 5. 支持图片预览 16 | 17 | ![](http://upload-images.jianshu.io/upload_images/4037105-dd695310bb187ac2.gif?imageMogr2/auto-orient/strip) 18 | 19 | 20 | * 爱生活,爱学习,更爱做代码的搬运工,分类查找更方便请下载黑马助手app 21 | 22 | 23 | ![黑马助手.png](http://upload-images.jianshu.io/upload_images/4037105-f777f1214328dcc4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 24 | 25 | 26 | 27 | ## 使用步骤 28 | 29 | ### 1. 在project的build.gradle添加如下代码(如下图) 30 | 31 | allprojects { 32 | repositories { 33 | maven { url "https://jitpack.io" } 34 | } 35 | } 36 | 37 | ![](http://upload-images.jianshu.io/upload_images/4037105-2faa5daca3bfe8a0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 38 | 39 | 40 | ### 2. 在Module的build.gradle添加依赖 41 | 42 | compile 'com.github.open-android:ImageSelector:0.1.0' 43 | ### 3. 配置如下权限 44 | 45 | 46 | 47 | 48 | 49 | 50 | ### 4.复制如下代码到xml布局 51 | 52 |