BGAPhotoPicker-Android
介绍:
Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件,将 MeiqiaSDK-Android 里的图库单独抽出来开源,将其中的 GridView、ListView和RelativeLayout 换成 RecyclerView 和 Toolbar,方便在以后的项目中直接依赖使用。
运行效果:
使用说明:
主要功能
-
单图选择
-
多图选择
-
拍照选择
-
图片选择预览、缩放查看
-
图片预览、缩放查看
-
支持 glide、picasso、universal-image-loader、xutils 图片加载库
-
朋友圈列表界面的九宫格图片控件
-
发布朋友圈界面的可拖拽排序的九宫格图片控件
-
覆盖相应的资源文件来定制界面
Gradle 依赖
由于该库依赖的最新版的 PhotoView 是传到 jitpack 的,所以需要在项目根 build.gradle 文件中加入下面的配置。如果你使用的是小于1.2.6的版本,则不需要添加改配置
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
「latestVersion」指的是左边这个 maven-central 徽章后面的「数字」,请自行替换。
dependencies {
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:recyclerview-v7:24.0.0'
compile 'cn.bingoogolapple:bga-adapter:1.0.9@aar'
compile 'com.github.chrisbanes:PhotoView:1.2.6'
compile 'cn.bingoogolapple:bga-photopicker:latestVersion@aar'
// 必须依赖下面四个图片加载库中的某一个
compile 'com.github.bumptech.glide:glide:3.7.0'
// compile 'com.squareup.picasso:picasso:2.5.2'
// compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
// compile 'org.xutils:xutils:3.3.36'
}
接口说明
BGAPhotoPickerActivity
/**
* @param context 应用程序上下文
* @param imageDir 拍照后图片保存的目录。如果传null表示没有拍照功能,如果不为null则具有拍照功能,
* @param maxChooseCount 图片选择张数的最大值
* @param selectedImages 当前已选中的图片路径集合,可以传null
* @return
*/
public static Intent newIntent(Context context, File imageDir, int maxChooseCount, ArrayList<String> selectedImages)
/**
* 获取已选择的图片集合
*
* @param intent
* @return
*/
public static ArrayList<String> getSelectedImages(Intent intent)
BGAPhotoPreviewActivity
/**
* 获取查看多张图片的intent
*
* @param context
* @param saveImgDir 保存图片的目录,如果传null,则没有保存图片功能
* @param previewImages 当前预览的图片目录里的图片路径集合
* @param currentPosition 当前预览图片的位置
* @return
*/
public static Intent newIntent(Context context, File saveImgDir, ArrayList<String> previewImages, int currentPosition)
/**
* 获取查看单张图片的intent
*
* @param context
* @param saveImgDir 保存图片的目录,如果传null,则没有保存图片功能
* @param photoPath 图片路径
* @return
*/
public static Intent newIntent(Context context, File saveImgDir, String photoPath)
详细用法请查看 Demo
Proguard
## ----------------------------------
## UIL相关
## ----------------------------------
-keep class com.nostra13.universalimageloader.** { *; }
-keepclassmembers class com.nostra13.universalimageloader.** {*;}
-dontwarn com.nostra13.universalimageloader.**
## ----------------------------------
## Glide相关
## ----------------------------------
-keep class com.bumptech.glide.Glide { *; }
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**\[\] $VALUES;
public *;
}
-dontwarn com.bumptech.glide.**
## ----------------------------------
## Picasso相关
## ----------------------------------
-keep class com.squareup.picasso.Picasso { *; }
-dontwarn com.squareup.okhttp.**
-dontwarn com.squareup.picasso.**
## ----------------------------------
## xUtils3相关
## ----------------------------------
-keepattributes Signature,*Annotation*
-keep public class org.xutils.** {
public protected *;
}
-keep public interface org.xutils.** {
public protected *;
}
-keepclassmembers class * extends org.xutils.** {
public protected *;
}
-keepclassmembers @org.xutils.db.annotation.* class * {*;}
-keepclassmembers @org.xutils.http.annotation.* class * {*;}
-keepclassmembers class * {
@org.xutils.view.annotation.Event <methods>;
}
-dontwarn org.xutils.**
已下载
0