Android——点击加号从相册选取图片替换图片(缩略图)

来源:互联网 发布:通话记录查询软件 编辑:程序博客网 时间:2024/04/30 16:07

先上效果图:

这里写图片描述
添加照片后:

这里写图片描述

附上代码:

1,打开系统相册选取图片:

protected void selectPicFromLocal() {        Intent intent;        if (Build.VERSION.SDK_INT < 19) {            intent = new Intent(Intent.ACTION_GET_CONTENT);            intent.setType("image/*");        } else {            intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);        }        startActivityForResult(intent, REQUEST_CODE_LOCAL);    }

//REQUEST_CODE_LOCAL 自己定义的标志用来传值

2,重写onActivityResult

 @Override    public void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);//        获取图片路径        if (requestCode == REQUEST_CODE_LOCAL && resultCode == Activity.RESULT_OK && data != null) {            Uri selectedImage = data.getData();            if (selectedImage != null) {                sendPicByUri(selectedImage,imgs[index]);            }        }    }

3,sendPicByUri方法判断是否为空,获得图片路径

protected void sendPicByUri(Uri selectedImage,ImageView imageview) {        String[] filePathColumn = { MediaStore.Images.Media.DATA };        Cursor cursor = getActivity().getContentResolver().query(selectedImage, filePathColumn, null, null, null);        if (cursor != null) {            cursor.moveToFirst();            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);            String picturePath = cursor.getString(columnIndex);            cursor.close();            cursor = null;            if (picturePath == null || picturePath.equals("null")) {                Toast toast = Toast.makeText(getActivity(), com.hyphenate.easeui.R.string.cant_find_pictures, Toast.LENGTH_SHORT);                toast.setGravity(Gravity.CENTER, 0, 0);                toast.show();                return;            }            showImage(picturePath,imageview);        } else {            File file = new File(selectedImage.getPath());            if (!file.exists()) {                Toast toast = Toast.makeText(getActivity(), com.hyphenate.easeui.R.string.cant_find_pictures, Toast.LENGTH_SHORT);                toast.setGravity(Gravity.CENTER, 0, 0);                toast.show();                return;            }            showImage(file.getAbsolutePath(),imageview);        }    }

4,显示所略图片

 private void showImage(String imaePath, ImageView imageView) {        Bitmap bm = BitmapFactory.decodeFile(imaePath);        Bitmap bitmap = ThumbnailUtils.extractThumbnail(bm, 100, 100);        imageView.setImageBitmap(bitmap);    }

//ThumbnailUtils是系统提供的强大到图片修改,自己可以百度百度。

原创粉丝点击