问题:调用相册添加图片只能单选
解决:用了开源 MultiImageSelector 。下面就来说说它怎么用。就像下面图片一样,可以选择多张,这里我设置成了最多9张。
1,设置依赖
implementation '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" />
这个activity就是我们打开相册的那个瀑布流图片界面。
<application>
<activity
android:configChanges="orientation|screenSize"
android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity" />
</application>
3, 自己项目中的插入图片点击控件事件方法。
也就是点击了以后,会启动这个方法,这里第三行就是选择选择模式,这里选了最多选9个图,用法可以多了解MultiImageSelector。
public void onClickInsertImage() {
Intent intent = new Intent(this, MultiImageSelectorActivity.class);
intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_COUNT,9);
startActivityForResult(intent, REQUEST_CODE_CHOOSE);
}
4,重写onActivityResult。
这里是List
@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);
}
}
最后:我用到在编辑器里面调用相册,显示图片有两种方式:
1,Base64,小图片,数量少没事,但是手机动辄3M左右的图片就不适合,多了,输入会很卡。 2,就是直接读取图片的真实地址,当然涉及到编辑器的时候,要注意草稿保存。
最后,来个