Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

android多图选择器 图片/视频 单选or多选,以及视频录制。The is Android Image Selector。

Notifications You must be signed in to change notification settings

newsolf/PictureSelector

Repository files navigation

PictureSelector

最近项目中用到多图选择上传的需求,考虑到android机型众多问题就自己花时间写了一个,测试了大概60款机型,出现过一些问题也都一一修复了,基本上稳定了特分享出来,界面UI也是商用级的开发者不用在做太多修改了,界面高度自定义,可以设置符合你项目主色调的风格,集成完成后就可以拿来用。 顺便感谢一下,大家对我的支持~

功能特点:

1.适配android7.0系统

2.解决部分机型裁剪闪退问题

3.解决图片过大oom闪退问题

4.动态获取系统权限,避免闪退

5.支持相片or视频的单选和多选

6.支持裁剪比例设置,如常用的 1:1、3:4、3:2、16:9 默认为图片大小

7.支持视频预览

8.支持gif图片

9.支持一些常用场景设置:如:是否裁剪、是否预览图片、是否显示相机等

10.新增自定义主题设置

11.新增图片勾选样式设置

12.新增图片裁剪宽高设置

13.新增图片压缩处理

14.新增录视频最大时间设置

15.新增视频清晰度设置

16.新增QQ选择风格,带数字效果

17.新增自定义 文字颜色 背景色让风格和项目更搭配

18.新增多图裁剪功能

19.新增LuBan多图压缩

项目会一直维护,发现问题欢迎提出~ 会第一时间修复哟~ 联系方式893855882@qq.com 希望用得着的朋友点个start,你们的支持才是我继续下去的动力,在此先谢过~

另附我的博客地址:http://blog.csdn.net/luck_mw

app-build 引入compile 'com.github.LuckSiege.PictureSelector:picture_library:v1.2.5' 注:之前引入如有报错,请引入最新版本、

项目根目录

allprojects {

repositories {

jcenter()

maven { url 'https://jitpack.io' }

}

}

注:适配android7.0拍照问题,请在AndroidManifest.xml中添加标签

< provider

android:name="android.support.v4.content.FileProvider"

android:authorities="${applicationId}.provider"

android:exported="false"

android:grantUriPermissions="true">

< meta-data

android:name="android.support.FILE_PROVIDER_PATHS"

android:resource="@xml/file_paths" />

</ provider>

相册参数构造

FunctionConfig config = new FunctionConfig();

config.setType(selectType); 1图片 or 2视频 LocalMediaLoader.TYPE_IMAGE,TYPE_VIDEO

config.setCopyMode(copyMode); 裁剪比例 默认 1:1 3:4 3:2 16:9 可参考 Constants.COPY_MODEL_1_1

config.setCompress(isCompress); 是否压缩

config.setMaxSelectNum(maxSelectNum - images.size()); 最大可选数量

config.setSelectMode(selectMode); 2单选 or 1多选 MODE_MULTIPLE MODE_SINGLE

config.setShowCamera(isShow); 是否显示相机

config.setEnablePreview(enablePreview); 是否预览

config.setEnableCrop(enableCrop); 是否裁剪

config.setPreviewVideo(isPreviewVideo); 是否预览视频(播放)

config.setCropW(cropW); 裁剪宽

config.setCropH(cropH); 裁剪高

config.setRecordVideoDefinition(Constants.HIGH); // 视频清晰度 Constants.HIGH 清晰 Constants.ORDINARY 普通 低质量

config.setRecordVideoSecond(60);// 视频秒数

config.setCheckNumMode(isCheckNumMode); 是否显示QQ选择风格(带数字效果)

config.setPreviewColor 预览文字颜色

config.setCompleteColor 完成文字颜色

config.setPreviewBottomBgColor 预览界面底部背景色

config.setBottomBgColor 选择图片页面底部背景色

config.options.setSelectMedia() 已选图片集合

config.setCompressFlag(compressFlag); // 1是系统自带压缩 2是鲁班压缩

config.setCompressW(compressW); //Luban压缩宽

config.setCompressH(compressH); //Luban压缩高

// 先初始化参数配置,在启动相册

PictureConfig.init(config);

// 启动相册并设置回调函数

PictureConfig.getPictureConfig.openPhoto(MainActivity.this, resultCallback);

// 外部预览图片方法 (例如选完后要预览的可调用此方法)

PictureConfig.getPictureConfig.externalPicturePreview(this, position, selectMedia);

/** * 图片回调方法 */

private PictureConfig.OnSelectResultCallback resultCallback = new PictureConfig.OnSelectResultCallback() {

@Override

public void onSelectSuccess(List< LocalMedia> resultList) {
if (media.isCompressed()){
// 注意:如果压缩过,在上传的时候,取 media.getCompressPath(); // 压缩图compressPath
} else {
// 注意:没有压缩过,在上传的时候,取 media.getPath(); // 原图path
} else{

// 注意:如果media.getCatPath();不为空的话 就代表裁剪的图片,上传时可取,但是如果又压缩过,则取最终压缩过的compressPath

}

selectMedia = resultList;

if (selectMedia != null) {

adapter.setList(selectMedia);

adapter.notifyDataSetChanged();

}
}
};

image image image image image image image image image image image

About

android多图选择器 图片/视频 单选or多选,以及视频录制。The is Android Image Selector。

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.9%
  • Other 0.1%

AltStyle によって変換されたページ (->オリジナル) /