当前位置:   article > 正文

Android 打开相册选择图片(史上最简单)_android 选择图片

android 选择图片

        这是一个打开相册选择图片的故事,不涉及拍照、多图片选择,就是简单的一个单图片选择并展示(不涉及任何权限)。先上效果图

测试的设备(都可用):

1、MUMU模拟器(Android6.0.1)

2、三星 A8s(Android10)

3、小米K40(Android11)

下面咱就开始敲代码了。

1、activity_main.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:orientation="vertical"
  6. android:background="@color/color_666666">
  7. <Button
  8. android:id="@+id/btn_2"
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:text="启动"
  12. android:layout_gravity="center"
  13. android:layout_marginTop="@dimen/dimen_20"
  14. android:padding="@dimen/dimen_10"
  15. android:textSize="@dimen/text_size_18"
  16. android:textColor="@color/white"
  17. android:background="@color/color_188FFF"/>
  18. <ImageView
  19. android:id="@+id/iv_image"
  20. android:layout_width="match_parent"
  21. android:layout_marginTop="@dimen/dimen_20"
  22. android:layout_gravity="center_horizontal"
  23. android:layout_height="wrap_content"/>
  24. </LinearLayout>

2、MainActivity.java

  1. public class MainActivity extends ActivityBase {
  2. private Button btn_2;
  3. private ImageView iv_image;
  4. @Override
  5. public void onCreate(@Nullable Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. Log.e(this.getClass().getName(), "onCreate");
  8. setContentView(R.layout.activity_main);
  9. btn_2 = findViewById(R.id.btn_2);
  10. iv_image = findViewById(R.id.iv_image);
  11. btn_2.setOnClickListener(new View.OnClickListener() {
  12. @Override
  13. public void onClick(View v) {
  14. Intent intent = new Intent(Intent.ACTION_PICK, null);
  15. intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
  16. startActivityForResult(intent, 2);
  17. }
  18. });
  19. }
  20. @Override
  21. protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  22. super.onActivityResult(requestCode, resultCode, data);
  23. if (requestCode == 2) {
  24. // 从相册返回的数据
  25. Log.e(this.getClass().getName(), "Result:" + data.toString());
  26. if (data != null) {
  27. // 得到图片的全路径
  28. Uri uri = data.getData();
  29. iv_image.setImageURI(uri);
  30. Log.e(this.getClass().getName(), "Uri:" + String.valueOf(uri));
  31. }
  32. }
  33. }
  34. }

3、下面咱就来运行效果

①点击启动选择照片

②选中后达到最上面的实现效果了

③日志打印图片路径content://media/external/images/media/44

        就是这么简单。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/175328
推荐阅读
相关标签
  

闽ICP备14008679号