此处我们用到了两个github上的两个库,Matisse和LFilePicker
首先是图片选择
build.gradle加入依赖
//图片选择
implementation 'com.zhihu.android:matisse:0.5.1'
然后是调用
Matisse.from(ConversationActivity.this)
.choose(MimeType.ofAll(),false)
.countable(true)//是否显示数字
.maxSelectable(9)//最大选择数量
.addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
.gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
.thumbnailScale(0.85f)
.imageEngine(new GlideEngine())//选择图片加载引擎
.forResult(1);
然后是文件选择
同样的,先是加入依赖
//文件选择
implementation 'com.leon:lfilepickerlibrary:1.0'
然后是调用
new LFilePicker().withActivity(ConversationActivity.this)
.withRequestCode(2)
.withBackIcon(Constant.BACKICON_STYLEONE)//返回图标
.withIconStyle(Constant.ICON_STYLE_BLUE)//文件夹风格
.withTitle("选择要发送的文件")//标题
.withTitleColor("#FFFFFF")//标题颜色
.withMutilyMode(true)//单选、多选
.start();
最后就是在onActivityResult接收数据做后续处理。