安卓页面有个按钮,点击能将相册的照片或者视频选中并在页面上展示,详细的Java代码过程
时间: 2024-04-11 13:26:11 浏览: 118
Android实现选择相册图片并显示功能
你可以使用 Android 的 Intent 和 startActivityForResult() 方法来实现选择相册中的照片或视频并在页面上展示。下面是详细的 Java 代码过程:
1. 在你的布局文件中添加一个按钮和一个用于展示图片或视频的 ImageView 或 VideoView。
```xml
<Button
android:id="@+id/btn_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择照片或视频" />
<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:visibility="invisible" />
<VideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible" />
```
2. 在你的 Activity 或 Fragment 中找到按钮和 ImageView 或 VideoView,并设置点击事件。
```java
Button btnSelect = findViewById(R.id.btn_select);
ImageView imageView = findViewById(R.id.image_view);
VideoView videoView = findViewById(R.id.video_view);
btnSelect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 创建一个 Intent,指定动作为选择图片或视频
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/* video/*"); // 过滤只显示图片或视频
// 启动选择器,并希望获取结果
startActivityForResult(intent, REQUEST_CODE);
}
});
```
3. 在你的 Activity 或 Fragment 中重写 onActivityResult() 方法,获取选择的图片或视频的 Uri,并将其展示在 ImageView 或 VideoView 中。
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
Uri selectedUri = data.getData();
String mimeType = getContentResolver().getType(selectedUri);
if (mimeType.startsWith("image/")) {
// 如果选择的是图片
imageView.setVisibility(View.VISIBLE);
videoView.setVisibility(View.INVISIBLE);
imageView.setImageURI(selectedUri);
} else if (mimeType.startsWith("video/")) {
// 如果选择的是视频
imageView.setVisibility(View.INVISIBLE);
videoView.setVisibility(View.VISIBLE);
videoView.setVideoURI(selectedUri);
videoView.start();
}
}
}
```
这样,当用户点击按钮并选择了照片或视频后,选中的内容就会展示在页面上的 ImageView 或 VideoView 中了。记得在 AndroidManifest.xml 文件中添加读取外部存储权限(`<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />`),以便访问相册中的内容。
阅读全文