网上很多写的过于复杂,这个是我写过最简单的方式。
先导入一个强大的图片加载框架,Glide
点击上传头像实现的方法
/*打开图库*/
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
//处理返回集
startActivityForResult(intent, 2);
点击拍照实现的方法
打开相机
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//处理返回集
startActivityForResult(intent, 1);
处理结果集,两个获取路径的方式不一样,得注意,然后就是用glide加载路径然后目标是你的要显示的图片控件
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1://拍照处理
//将拍下来的照片解析成Bitmap对象并显示
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
person_set_header.setImageBitmap(bitmap);
break;
case 2://相册处理
Uri path = data.getData();
//利用框架加载图片资源
Glide.with(getApplicationContext()).load(path).into(person_set_header);
break;
}