private final int REQUEST_PICK = 200;
private final int REQUEST_CAMEAR = 100;
private final int REQUEST_PICTRUE = 300;
private final String MY_FILE=Environment.getExternalStorageDirectory()+"/file.png";
private final String path =Environment.getExternalStorageDirectory()+ "/image.png";
View view = View.inflate(getActivity(), R.layout.item_head, null);
alertDialog = new AlertDialog.Builder(getContext()).setView(view).show();
TextView bCamera = view.findViewById(R.id.bCamera);
TextView bPhoto = view.findViewById(R.id.bPhoto);
bCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, REQUEST_PICK);
alertDialog.dismiss();
}
});
bPhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
startActivityForResult(intent, REQUEST_CAMEAR);
alertDialog.dismiss();
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CAMEAR && resultCode == RESULT_OK) {
//打开裁剪
Intent intent = new Intent("com.android.camera.action.CROP");
//将图片设置给裁剪
intent.setDataAndType(Uri.fromFile(new File(path)), "image/*");
//设置是否支持裁剪
intent.putExtra("CROP", true);
//设置宽高比
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
//设置输出后图片大小
intent.putExtra("outputX", 100);
intent.putExtra("outputY", 100);
//返回到data
intent.putExtra("return-data", true);
//启动
startActivityForResult(intent, REQUEST_PICTRUE);
}
if (requestCode == REQUEST_PICK && resultCode == RESULT_OK) {
//打开裁剪
Intent intent = new Intent("com.android.camera.action.CROP");
Uri uri = data.getData();
//将图片设置给裁剪
intent.setDataAndType(uri, "image/*");
//设置是否可裁剪
intent.putExtra("CROP", true);
//设置宽高比
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
//设置输出
intent.putExtra("outputX", 100);
intent.putExtra("outputY", 100);
//返回data
intent.putExtra("return-data", true);
startActivityForResult(intent, REQUEST_PICTRUE);
}
//获取剪切完的图片数据 bitmap
if (requestCode == REQUEST_PICTRUE && resultCode == RESULT_OK) {
Bitmap bitmap =data.getParcelableExtra("data");
try {
App.saveBitmap(bitmap,MY_FILE,50);
} catch (IOException e) {
e.printStackTrace();
}
Map<String,String> map=new HashMap<>();
map.put("image",MY_FILE);
getUserAvatar(map);
}
}
09-26
3973
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交