【发布时间】:2016-05-20 19:21:12
【问题描述】:
我想在我的 Android 应用上制作一个画廊,其中包含用相机拍摄的照片。我已经根据清单的意图和许可进行了相机活动,但我只能拍摄一张照片。这是我的代码:
MyCameraAction.java
package com.example.android.navigationdrawer;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
public class MyCameraActivity extends AppCompatActivity {
private static final int CAMERA_REQUEST = 1888;
private ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_my_camera);
this.imageView = (ImageView)this.findViewById(R.id.imageView1);
ImageView photoButton = (ImageView) this.findViewById(R.id.button1);
photoButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
}
content_my_camera.xml(很简单,只有一个按钮和一个imageview)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_menu_camera"
android:layout_gravity="center_horizontal"
android:clickable="true"
android:contentDescription="@string/photoButtonUse"
/>
<ImageView android:id="@+id/imageView1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:contentDescription="@string/ImageViewGallery"
/>
</LinearLayout>
【问题讨论】:
-
您将图像视图设置为可绘制返回,但您只有 1 个图像视图。您需要将图像视图动态添加到屏幕。
-
我该怎么做? @paul_hundal
-
另外,我希望在我重新打开应用程序时照片仍然存在,我该怎么做? @paul_hundal
-
已解决。发布了答案@paul_hundal
标签: android