1.首先我们需要在清单文件中添加相机的权限
2.在Activity中动态获取
3.在fragment 或Activity 中去通过控件的点击事件去触发intent 调起资源管理器就可以选择相册照片了
4.注册回调去获取图片路径并转换成 需要绑定设置的控件上 就可以实现打开本地相册完整流程了
拓展方法:分享一个好用便捷相机图库
的依赖 在build.gradle主项目模块中导入
同样是通过点击事件触发 调用方法 在屏幕的下方底部会出现弹窗
dataBinding.imageView.setOnClickListener {
PictureSelector.create(this@MineFragment,
PictureSelector.SELECT_REQUEST_CODE).selectPicture()
}
效果图:
最后在 Activity中 我们通过
onActivityResult 回调来获取选择的图片路径 执行需要的操作就可以了
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == PictureSelector.SELECT_REQUEST_CODE && resultCode == RESULT_OK) {
val bundle = data?.extras
val bean = bundle?.getParcelable<PictureBean>(PictureSelector.PICTURE_RESULT)
val filePath = bean?.path //图片路径
//以下是想要执行的操作
SPUtils.getInstance().put("userhead", filePath.toString())
Glide.with( this).load(filePath).into(dataBinding.imageView)..通过Glide 加载图片
}
}