原文地址:一个简约的Android相册(支持多选)
本项目开源地址:https://github.com/yanzhenjie/albumAlbum是一个Android开源相册,支持单/多选、缩放、预览、按文件夹查看图片,后期会考虑加入图片剪切等操作。开发者不需要担心Android6.0的运行时权限,Album已经非常完善的处理过了。支持自定义样式风格,比如Toolbar颜色、状态栏颜色等。内置支持了相机,开发者不用担心相机的使用问题,Album自动搞定。支持Activity、Fragment调用。Demo效果预览选择图片 切换文件夹 预览如果你想体验一把,你可以下载demo的apk来玩玩。使用方法Gradle:compile 'com.yanzhenjie:album:1.0.0'11Or Maven:com.yanzhenjiealbum1.0.0pom123456123456Eclipse请下载源码自行转换成Library project。mainifest.xml中需要注册123456123456其中android:label="xx"中的xx是调起的Activity的标题,你可以自定义,其它请照抄即可。需要的权限123123开发者不需要担心Android6.0的运行时权限,Album已经非常完善的处理过了。如何调用调起Album的界面:// 1. 使用默认风格,并指定选择数量:// 第一个参数Activity/Fragment; 第二个request_code; 第三个允许选择照片的数量,不填可以无限选择。// Album.startAlbum(this, ACTIVITY_REQUEST_SELECT_PHOTO, 9);// 2. 使用默认风格,不指定选择数量:// Album.startAlbum(this, ACTIVITY_REQUEST_SELECT_PHOTO); // 第三个参数不填的话,可以选择无数个。// 3. 指定风格,并指定选择数量,如果不想限制数量传入Integer.MAX_VALUE;Album.startAlbum(this, ACTIVITY_REQUEST_SELECT_PHOTO , 9 // 指定选择数量。 , ContextCompat.getColor(this, R.color.colorPrimary) // 指定Toolbar的颜色。 , ContextCompat.getColor(this, R.color.colorPrimaryDark)); // 指定状态栏的颜色。123456789101112123456789101112接受结果,重写Activity/Fragment的onActivityResult()方法:@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 100) { if (resultCode == RESULT_OK) { // 判断是否成功。 // 拿到用户选择的图片路径List: ListpathList = Album.parseResult(data);
} else if (resultCode == RESULT_CANCELED) { // 用户取消选择。
// 根据需要提示用户取消了选择。
}
}
}
注意点
由于支持了MaterialDesign,项目中已经引用了Google官方的的support库:
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
混淆
都是可以混淆的,如果混淆遇到问题了,请添加如下规则。
-dontwarn com.yanzhenjie.album.**
-keep class com.yanzhenjie.album.**{*;}