版权声明:转载必须注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003
仍然转载自严大大的博客,这是一个已经封装好的图片选择库,as下面直接compile就可以使用了。觉得比较方便,界面也比较美观,不喜欢系统自带的图片选择库的可以考虑使用这个库,下面介绍的比较详细了,相信大家都能看明白的。
我们要把人生变成一个科学的梦,然后再把梦变成现实。
——— 居里夫人
本项目开源地址:https://github.com/yanzhenjie/album
-
Album是一个Android开源相册,支持单/多选、缩放、预览、按文件夹查看图片,后期会考虑加入图片剪切等操作。
-
开发者不需要担心Android6.0
的运行时权限,Album
已经非常完善的处理过了。
-
支持自定义样式风格,比如Toolbar颜色、状态栏颜色等。
-
内置支持了相机,开发者不用担心相机的使用问题,Album自动搞定。
-
支持Activity
、Fragment
调用。
Demo效果预览
如果你想体验一把,你可以下载demo的apk来玩玩。
使用方法
Gradle:
compile 'com.yanzhenjie:album:1.0.0'
Or Maven:
<dependency>
<groupId>com.yanzhenjie</groupId>
<artifactId>album</artifactId>
<version>1.0.0</version>
<type>pom</type>
</dependency>
Eclipse请下载源码自行转换成Library project。
mainifest.xml中需要注册
<activity
android:name="com.yanzhenjie.album.AlbumActivity"
android:label="图库"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden|stateHidden" />
其中android:label="xx"
中的xx是调起的Activity
的标题,你可以自定义,其它请照抄即可。
需要的权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
开发者不需要担心Android6.0
的运行时权限,Album
已经非常完善的处理过了。
如何调用
调起Album的界面:
Album.startAlbum(this, ACTIVITY_REQUEST_SELECT_PHOTO
, 9
, ContextCompat.getColor(this, R.color.colorPrimary)
, ContextCompat.getColor(this, R.color.colorPrimaryDark));
接受结果,重写Activity/Fragment
的onActivityResult()
方法:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 100) {
if (resultCode == RESULT_OK) {
List<String> pathList = 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.**{*