今天我玩弄了设备相机。对于 我实现了以下内容:
private void performAddPhoto() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if(intent.resolveActivity(this.getPackageManager()) != null) {
this.startActivityForResult(intent, Globals.REQUEST_CODE_CAMERA);
} else {
}
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == Globals.REQUEST_CODE_CAMERA) {
if(resultCode == RESULT_OK) {
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");
this.imageViewPhoto.setImageBitmap(bitmap);
}
}
}
所以我拍了一张照片,然后在我的ImageView中显示。 ImageView要小得多 比照片的原始大小。但是现在我添加了一个OnClickListener 我的ImageView在AlertDialog中显示照片:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
this.imageViewPhoto.setOnClickListener(this);
...
}
public void onClick(View view) {
...
this.performShowPhoto();
...
}
private void performShowPhoto() {
ImageView clone = new ImageView(this);
clone.setImageBitmap(((BitmapDrawable)this.imageViewPhoto.getDrawable()).getBitmap());
DialogManager.showImageDialog(this, this.getResources().getString(R.string.title_photo), clone);
}
现在,照片显示在AlertDialog中,但尺寸与原来完全相同 在ImageView中。如何以相机拍摄的原始尺寸显示照片? 或者至少稍微小一些,以使AlertDialog适合屏幕。