zoukankan      html  css  js  c++  java
  • 从图库中选取图片设置给ImageView

    从图库中选取图片设置给ImageView,主要点:onActivityResult方法的使用,运行效果如下

    1.布局文件中添加一个ImageView:

    <ImageView
        android:paddingTop="50dp"
        android:id="@+id/iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:src="@drawable/head"/>
    2.主代码中MainActivity中:
    private ImageView mIv;//声明mIv对象
    public static final int SET_PHOTO = 1;//请求码
    

     mIv = (ImageView) findViewById(R.id.iv);//得到mIv对象
    
    mIv.setOnClickListener(new View.OnClickListener() {//设置点击事件
                @Override
                public void onClick(View view) {
                    Intent i = new Intent(Intent.ACTION_PICK,
                            MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    startActivityForResult(i, SET_PHOTO);// 设定结果返回
                }
            });

    @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (data != null) {
                switch (requestCode) {
                    case SET_PHOTO:
                        //打开相册并选择照片,这个方式选择单张
                        // 获取返回的数据,这里是android自定义的Uri地址
                        Uri selectedImage = data.getData();
                        String[] filePathColumn = {MediaStore.Images.Media.DATA};
                        // 获取选择照片的数据视图
                        Cursor cursor = getContentResolver().
                                query(selectedImage, filePathColumn, null, null, null);
                        cursor.moveToFirst();
                        // 从数据视图中获取已选择图片的路径
                        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
                        String picturePath = cursor.getString(columnIndex);
                        cursor.close();
                        // 将图片显示到界面上
                        mIv.setImageBitmap(BitmapFactory.decodeFile(picturePath));
                        break;
                }
            }
        }

    3.注意添加SD卡读取权限

     <!-- 读sd卡权限 -->
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    源码下载地址:https://github.com/toly1994328/SetPhoto

  • 相关阅读:
    Jenkins-------初探
    python--可迭代对象、迭代器和生成器
    python——模块、标准库、第三方模块安装
    python --装饰器通俗讲解
    python--函数、参数、名称空间与作用域、匿名函数、内置函数、闭包
    python--文件操作
    python--基础3(流程语句)
    python--基础2 (数据类型及应用)
    python--基础1(pip,虚拟环境、python编写规范)
    文本处理三剑客简介(grep、awk、sed)
  • 原文地址:https://www.cnblogs.com/toly-top/p/9782041.html
Copyright © 2011-2022 走看看