Android studio 点击按钮,使用手机摄像头拍照,用ImageView显示
时间: 2024-02-22 14:59:54 浏览: 160
Android调用系统摄像头拍照并显示在ImageView上
5星 · 资源好评率100%
好的,这个问题很好,我可以帮你解决。首先,你需要在你的 AndroidManifest.xml 文件中添加相机权限:
```xml
<uses-permission android:name="android.permission.CAMERA" />
```
然后,你可以在你的 Activity 中添加一个 Button 和一个 ImageView:
```xml
<Button
android:id="@+id/button_take_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Take Photo" />
<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" />
```
在你的 Activity 中,你需要为 Button 添加一个点击事件,当点击按钮时,启动相机应用程序,让用户拍照:
```java
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_IMAGE_CAPTURE = 1;
private Button mButtonTakePhoto;
private ImageView mImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButtonTakePhoto = findViewById(R.id.button_take_photo);
mImageView = findViewById(R.id.image_view);
mButtonTakePhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
});
}
@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");
mImageView.setImageBitmap(imageBitmap);
}
}
}
```
在 onActivityResult() 方法中,我们可以获取拍照返回的 Bitmap 对象,然后将其设置到 ImageView 中。
现在,你可以运行你的应用程序,并点击按钮拍照。拍摄完成后,你将在 ImageView 中看到拍摄的照片。
阅读全文