关闭

一个简约的Android相册(支持多选)

标签: 图库相册微信相册Android相册多图
21760人阅读 评论(54) 收藏 举报
分类:

技术交流群:46523908
图片上传推荐使用NoHttp:NoHttp源码NoHttp详细使用文档

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

本项目开源地址: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'

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的界面:

// 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));  // 指定状态栏的颜色。

接受结果,重写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) { // 用户取消选择。
            // 根据需要提示用户取消了选择。
        }
    }
}

注意点

由于支持了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.**{*;}
20
3
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

一个简约的Android相册(支持多选)

Album是一个Android开源相册,支持单/多选、支持预览、支持选择文件夹查看图片,后期会加入图片剪切、放大缩小等功能。
  • yanzhenjie1003
  • yanzhenjie1003
  • 2016-10-30 23:13
  • 21760

Android图片选择器(选择多张图片)

好久没有写过文章了,最近一直在忙公司桌面维护的一些事情,前几天接到一个写一个仿微信选择多张图片的任务,今天来总结一下。发现一个非常好用的图片选择库,下面来说一下这个库的用法: 1.通过Gradle抓取...
  • dong_junshuai
  • dong_junshuai
  • 2016-11-18 09:19
  • 1537

Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等

摘自:http://blog.csdn.net/jdsjlzx/article/details/44160603/ 仿照微信,朋友圈分享图片功能 。可以进行图片的多张选择,拍照添加图片,...
  • aiguoguo000
  • aiguoguo000
  • 2016-08-25 15:23
  • 4156

Android:支持多选的本地相册

前段时间在做一个动态发布功能,需要用到图片上传。一开始直接调用的系统相册和相机,由于系统相机不支持多选,就花点时间做了个本地相册,在此开源下。 先上截图,依次为选择相册界面、相册详情界面、查看图...
  • pbm863521
  • pbm863521
  • 2017-07-05 11:23
  • 124

Android:支持多选的本地相册

前段时间在做一个动态发布功能,需要用到图片上传。一开始直接调用的系统相册和相机,由于系统相机不支持多选,就花点时间做了个本地相册,在此开源下。 先上截图,依次为选择相册界面、相册详情界面、查看图...
  • u010335298
  • u010335298
  • 2016-06-25 15:04
  • 412

android多选相册

  • 2015-09-22 16:30
  • 2.65MB
  • 下载

android相册多选

  • 2014-03-19 09:32
  • 830KB
  • 下载

Android仿微信朋友圈发动态功能(相册图片多选)

http://blog.csdn.net/thunderrong/article/details/52237611 DEMO一共13个类 大约2000行代码,童鞋们耐心点看基本思路是: 1,首...
  • tiramisu_ljh
  • tiramisu_ljh
  • 2017-04-10 14:20
  • 2158

Android:仿QQ照片选择器(按相册分类显示,多选添加)

本例的目的是实现类似于QQ的照片选择功能。
  • books1958
  • books1958
  • 2014-11-11 15:37
  • 8337

android 自定义相册 多选

package com.bingo.activity; import java.io.File; import java.io.Serializable; import java.util.Arra...
  • z104207
  • z104207
  • 2011-07-29 16:19
  • 12523
    个人资料
    • 访问:1608321次
    • 积分:6525
    • 等级:
    • 排名:第4287名
    • 原创:52篇
    • 转载:0篇
    • 译文:1篇
    • 评论:1274条
    我的微信公众号
    欢迎关注我的公众号,不定期为您推送优选博文,生活趣事!
    关注我的微信公众号

    关注我的微博
    友情链接


    我的Github

    QQ交流群 547839514

    博客专栏