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

  • 相关阅读:
    带你正确的使用List的retainAll方法求交集
    Java URL
    如何正确的创建线程
    小贾漫谈——Java反射
    二、定时器的应用
    网络获取json数据并解析
    异步消息处理机制Handler
    手机安全卫士——Splash总结
    click事件触发也有失灵的时候?
    一张图看透微信公众号、企业号、小程序
  • 原文地址:https://www.cnblogs.com/toly-top/p/9782041.html
Copyright © 2011-2022 走看看