您的位置:首页 > 其它

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

2016-09-18 12:42 363 查看

MultiImageSelector

github地址:https://github.com/lovetuzitong/MultiImageSelector

模仿微信图片选择,返回的是图片的路径,但是没有图片剪切和上传的功能。

源码:https://git.oschina.net/libraryDemo/SelectorPhoto.git

效果图:



使用步骤

添加依赖

配置AndroidManifest.xml

在我们的项目中简单调用API,或详细调用API

在onActivityResult(…)中对返回的数据做处理

1 添加依赖

在module的build.gradle中添加

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) {
// 获取返回的图片列表(存放的是图片路径)
List<String> path = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT);
// 处理你自己的逻辑 ....
Log.d("tag", "" + path);
tv.setText(""+path);
}
}


其它

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

TakePhoto + pickphotoview + Album +Matisse
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐