Android studio 1、使用摄像头拍照,用ImageView显示。 2、使用手机中本地文件夹中的图库,打开用ImageView显示。
时间: 2024-02-22 11:59:39 浏览: 174
Android调用系统摄像头拍照并显示在ImageView上
好的,针对你的两个问题,我可以给出以下答案:
1. 使用摄像头拍照并用ImageView显示:
首先,在你的布局文件中添加一个ImageView:
```
<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
然后,在你的Activity中,通过Intent调用系统相机来拍照,并将拍摄的照片显示在ImageView上:
```
// 定义请求码
private static final int REQUEST_IMAGE_CAPTURE = 1;
// 启动相机
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
// 获取拍照结果并显示在ImageView上
@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 imageView = findViewById(R.id.image_view);
imageView.setImageBitmap(imageBitmap);
}
}
```
2. 使用手机中本地文件夹中的图库,并用ImageView显示:
同样,在你的布局文件中添加一个ImageView:
```
<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
```
然后,在你的Activity中,通过Intent调用系统图库来选择一张照片,并将选择的照片显示在ImageView上:
```
// 定义请求码
private static final int PICK_IMAGE_REQUEST = 1;
// 打开图库
private void openGallery() {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, PICK_IMAGE_REQUEST);
}
// 获取选择结果并显示在ImageView上
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri uri = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
ImageView imageView = findViewById(R.id.image_view);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
希望可以帮到你!
阅读全文