我正在尝试使用详细信息片段中的应用程序(使用主/详细信息流模板),其中有一个显示相机拍摄的图像的ImageView。
对于此选项,我在ActionBar中添加了一个按钮,用于打开一个对话框,并询问用户是否希望使用相机添加图像。因此,对于此选项,我在用户单击“确定”时调用了这两个方法。然而,(我现在在这里犯了很大的错误)我不知道如何调用onActivityResult()结束让我的ImageIcon显示从相机中检索到的缩略图。 (正如developer.android教程所示)
如果你们中的任何人都知道我做错了什么,我会很高兴听到你能给我的所有解决方案,因为我无法在任何地方找到解决这个问题的方法。
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
onActivityResult(REQUEST_IMAGE_CAPTURE, RESULT_OK, takePictureIntent);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
ImageView mImageView = (ImageView) findViewById(R.id.imageView1);
mImageView.setImageBitmap(imageBitmap);
}
}
感谢很多!!!!
答案 0 :(得分:0)
您必须从onActivityResult中收到的位图创建缩放位图。您将获得有关如何创建缩放位图Here
的信息答案 1 :(得分:0)
您可以根据需要设置宽度和高度
imageBitmap = Bitmap.createScaledBitmap(realImageBitmap, final_width, final_height, false);
imageView.setImageBitmap(imageBitmap);
答案 2 :(得分:0)
您不必显式调用onActivityResult。当紧接子/后继活动完成其任务时,在父活动中调用的onActivityResult方法。因此,当您的图像拍摄活动完成任务时,它会自动调用" requestCode"和图像数据(如果您的图像拍摄活动拍照,否则它将为空)。 有关onActivityResult的更多详细信息,请参阅here。
要将缩略图设置为imageview,您可以通过以下方式执行此操作。
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
你可以看到这个tutorial关于如何使用意图拍摄图像。
快乐编码