一个封装好的安卓图片选择库

版权声明:转载必须注明本文转自严振杰的博客: http://blog.csdn.net/yanzhenjie1003


仍然转载自严大大的博客,这是一个已经封装好的图片选择库,as下面直接compile就可以使用了。觉得比较方便,界面也比较美观,不喜欢系统自带的图片选择库的可以考虑使用这个库,下面介绍的比较详细了,相信大家都能看明白的。

我们要把人生变成一个科学的梦,然后再把梦变成现实。

——— 居里夫人




本项目开源地址:https://github.com/yanzhenjie/album

  1. Album是一个Android开源相册,支持单/多选、缩放、预览、按文件夹查看图片,后期会考虑加入图片剪切等操作。

  2. 开发者不需要担心Android6.0的运行时权限,Album已经非常完善的处理过了。

  3. 支持自定义样式风格,比如Toolbar颜色、状态栏颜色等。

  4. 内置支持了相机,开发者不用担心相机的使用问题,Album自动搞定。

  5. 支持ActivityFragment调用。

Demo效果预览

选择图片 切换文件夹 
预览

如果你想体验一把,你可以下载demo的apk来玩玩。

使用方法

Gradle:

compile 'com.yanzhenjie:album:1.0.0'
 
 
  • 1
  • 1

Or Maven:

<dependency>
  <groupId>com.yanzhenjie</groupId>
  <artifactId>album</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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" />
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其中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" />
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

开发者不需要担心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));  // 指定状态栏的颜色。
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

接受结果,重写Activity/FragmentonActivityResult()方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 100) {
        if (resultCode == RESULT_OK) { // 判断是否成功。
            // 拿到用户选择的图片路径List:
            List<String> pathList = Album.parseResult(data);
        } else if (resultCode == RESULT_CANCELED) { // 用户取消选择。
            // 根据需要提示用户取消了选择。
        }
    }
}
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

注意点

由于支持了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'
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

混淆

都是可以混淆的,如果混淆遇到问题了,请添加如下规则。

-dontwarn com.yanzhenjie.album.**
-keep class com.yanzhenjie.album.**{*;}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值