点击事件弹出弹出框上面三个按钮:
imageBut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this);
final AlertDialog alertDialog = builder.create();
View view = View.inflate(MyActivity.this, R.layout.item_alertdiaiog, null);
alertDialog.setView(view);
alertDialog.show();
TextView xc = view.findViewById(R.id.xc);
TextView xj = view.findViewById(R.id.xj);
TextView qx = view.findViewById(R.id.qx);
xj.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent it = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
it.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(new File(file)));
startActivityForResult(it,100);
}
});
xc.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent= new Intent(Intent.ACTION_PICK);
intent.setType(“image/*”);
startActivityForResult(intent,200);
}
});
qx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});
}
});
下一步
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 100){
Uri uri = Uri.fromFile(new File(file));
Crop(uri);
}else if(requestCode ==200){
Uri uri = data.getData();
Crop(uri);
}else if(requestCode ==300){
Bitmap bitmap = data.getParcelableExtra(“data”);
Glide.with(MyActivity.this).load(bitmap).apply(RequestOptions.circleCropTransform()).into(imageBut);
}
}
private void Crop(Uri uri) {
Intent intent =new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri,"image/*");
intent.putExtra("crop",true);
intent.putExtra("return-data",true);
startActivityForResult(intent,300);
}