编写一个Android Studio示例1、使用摄像头拍照,用ImageView显示。 2、使用手机中本地文件夹中的图库,打开用ImageView显示。
时间: 2024-02-17 13:05:08 浏览: 69
好的,以下是 Android Studio 的示例代码:
1. 使用摄像头拍照,用 ImageView 显示
首先,在 AndroidManifest.xml 文件中添加摄像头权限:
```xml
<uses-permission android:name="android.permission.CAMERA" />
```
然后,在布局文件中添加一个 ImageView 和一个 Button:
```xml
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_background"
android:scaleType="centerCrop"/>
<Button
android:id="@+id/cameraButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Take Photo" />
```
在 Activity 中,使用 Intent 调用摄像头应用程序,并在 onActivityResult 回调函数中获取拍摄的照片并将其显示在 ImageView 中:
```java
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_IMAGE_CAPTURE = 1;
private ImageView imageView;
private Button cameraButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
cameraButton = findViewById(R.id.cameraButton);
cameraButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dispatchTakePictureIntent();
}
});
}
private void dispatchTakePictureIntent() {
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");
imageView.setImageBitmap(imageBitmap);
}
}
}
```
2. 使用手机中本地文件夹中的图库,打开用 ImageView 显示
在布局文件中添加一个 ImageView 和一个 Button:
```xml
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_background"
android:scaleType="centerCrop"/>
<Button
android:id="@+id/galleryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Open Gallery" />
```
在 Activity 中,使用 Intent 调用手机中的图库应用程序,并在 onActivityResult 回调函数中获取选择的照片并将其显示在 ImageView 中:
```java
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_PICK_IMAGE = 2;
private ImageView imageView;
private Button galleryButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
galleryButton = findViewById(R.id.galleryButton);
galleryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent pickImageIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(pickImageIntent, REQUEST_PICK_IMAGE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_PICK_IMAGE && resultCode == RESULT_OK) {
Uri imageUri = data.getData();
imageView.setImageURI(imageUri);
}
}
}
```
以上就是 Android Studio 的示例代码,可以按照需求进行修改。
阅读全文