由于项目需要,在GitHub上找了一些图片选择器的项目,轻松完成了需求,但是。。。
后面需求升级了,需要加入视频选择(可预览),后面有加上了 ‘ 图片标注 ’ 功能 这。。。
看了一下网上的项目,大都不支持视频,然后决定将之前用的 ImageSelector
改造了一下,希望能帮助到 有同样需求的童鞋。
在 project 的 build.gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
在module 的 build.gradle
dependencies {
implementation 'com.github.fan21024158:ImageSelectorMore:1.0.1'
}
相关权限
示例代码 (调用)
ImageSelector.builder()
.useCamera(true) // 设置是否使用拍照
//.setCrop(true) // 设置是否使用图片剪切功能。
//.setSingle(false) //设置是否单选
//.isTagging(false)//是否需要标注
.onlyImage(true) //只要图片(不要视频)
.isTagging(false) // 使用标注
.setMaxSelectCount(9)
.setViewImage(true) //是否点击放大图片查看,,默认为true
.start(MainActivity.this, requestCode); // 打开相册 requestCode 返回时的标示
示例代码 (返回值接收)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
userid = sharedPreferences.getString(Constant.USER_ID, Constant.USER_DEFULT);
switch (requestCode) {
case REQUEST_CODE:
if (data != null) {
ArrayList images = data.getStringArrayListExtra(ImageSelector.SELECT_RESULT);
// images 选中的图片(视频)集合
String path = images.get(0);
boolean isCameraImage = data.getBooleanExtra(ImageSelector.IS_CAMERA_IMAGE, false);
if (images == null || images.size() <= 0) {
Toast.makeText(this, "取消", Toast.LENGTH_SHORT).show();
}
//dealwithPhoto(path);
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
GitHub地址
ImageSelectorMore
欢迎 star作者:翻滚吧章鱼