您的位置:首页 > 其它

第三方开源库:图片选择MultiImageSelector

2017-06-22 17:07 369 查看
MultiImageSelector

github地址:https://github.com/lovetuzitong/MultiImageSelector
模仿微信图片选择,返回的是图片的路径,但是没有图片剪切和上传的功能。
源码:https://github.com/s1168805219/SelectorPhoto


使用步骤

1.添加依赖
2.配置AndroidManifest.xml
3.在我们的项目中简单调用API,或详细调用API
4.在onActivityResult(…)中对返回的数据做处理


1 添加依赖

repositories {
maven { url "https://jitpack.io" }
}
dependencies {
...
compile 'com.github.lovetuzitong:MultiImageSelector:1.2'
...
}


2 在你的 AndroidManifest.xml 中做如下声明:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application>
<!--Image Selector Entry-->
<activity
android:configChanges="orientation|screenSize"
android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity" />
</application>


3 调用API

点单调用:

// Multi image selector form an Activity
MultiImageSelector.create(Context).start(Activity, REQUEST_IMAGE);


详细调用API:

MultiImageSelector.create(Context context)
.showCamera(boolean) // 是否显示相机. 默认为显示
.count(int) // 最大选择图片数量, 默认为9. 只有在选择模式为多选时有效
.single() // 单选模式
.multi() // 多选模式, 默认模式;
.origin(ArrayList<String>) // 默认已选择图片. 只有在选择模式为多选时有效
.start(Activity/Fragment, REQUEST_IMAGE);


老版本intent调用:

Intent intent = new Intent(mContext, MultiImageSelectorActivity.class);
// 是否显示调用相机拍照
intent.putExtra(MultiImageSelectorActivity.EXTRA_SHOW_CAMERA, true);
// 最大图片选择数量
intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_COUNT, 9);
// 设置模式 (支持 单选/MultiImageSelectorActivity.MODE_SINGLE 或者 多选/MultiImageSelectorActivity.MODE_MULTI)
intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_MODE, MultiImageSelectorActivity.MODE_MULTI);
// 默认选择图片,回填选项(支持String ArrayList)
intent.putStringArrayListExtra(MultiImageSelectorActivity.EXTRA_DEFAULT_SELECTED_LIST, defaultDataArray);
startActivityForResult(intent, REQUEST_IMAGE);


4 在你的 onActivityResult 方法中接受结果

当没有选择图片直接返回时,最好还应该判断data!=null

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_IMAGE) {
// 获取返回的图片列表(存放的是图片路径)
if(data!=null){
List<String> path = data.getStringArrayListExtra(MultiImageSelector.EXTRA_RESULT);
// 处理你自己的逻辑 ....
Log.d("tag", "" + path);
tv.setText(""+path);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图片 开源
相关文章推荐