拍摄照片并以原始尺寸在AlertDialog中显示

时间:2014-11-03 18:34:36

标签: android android-imageview

今天我玩弄了设备相机。对于 我实现了以下内容:

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适合屏幕。

0 个答案:

没有答案