最近在练一个通讯录的app问头像是如何处理???????????????????????????????????????????????????????????

forestzhu01 2016-09-12 07:56:44
就是像qq头像一样,点击那个框就会弹出拍照,或者从相册中选择头像的那种功能,点击拍照就会调出前摄像头,相册就跳到相册中,另外问一下如果传上去的相片和你ImageView的大小不匹配,导致照片模糊,你们是怎么解决的?
...全文
294 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
forestzhu01 2016-09-13
  • 打赏
  • 举报
回复
再问一下,照片和人名字和电话号码用什么储存
forestzhu01 2016-09-13
  • 打赏
  • 举报
回复
能否告诉我需要学那些东西
ink_s 2016-09-13
  • 打赏
  • 举报
回复
protected void getImageFromAlbum() {
        Intent intent = new Intent(Intent.ACTION_PICK);
        intent.setType("image/*");// 相片类型
        startActivityForResult(intent, 0);
    }

    @TargetApi(Build.VERSION_CODES.FROYO)
    protected void getImageFromCamera() {
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
        Date date = new Date(System.currentTimeMillis());
        String filename = format.format(date);

        File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
        File outputImage = new File(path, filename + ".jpg");
        try {
            if (outputImage.exists()) {
                outputImage.delete();
            }
            outputImage.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }

        imageUri = Uri.fromFile(outputImage);
        intent = new Intent("android.media.action.IMAGE_CAPTURE");
        intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
        startActivityForResult(intent, 1);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 0 && resultCode == RESULT_OK && null != data) {
            Uri uri = data.getData();
            // pic = uri.toString();
            // icon.setImageURI(uri);

            try {
                Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
                p_icon.setImageBitmap(bitmap);

                pic = uri.toString();

            } catch (FileNotFoundException e) {
                pic = null;
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        } else if (requestCode == 1 && resultCode == RESULT_OK) {

            try {
                Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));
                p_icon.setImageBitmap(bitmap);
                pic = imageUri.toString();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                pic = null;
            }

        } else {
            pic = null;
            Toast.makeText(getApplicationContext(), "Unsuccessful!", Toast.LENGTH_LONG).show();

        }
    }
一不小心_ 2016-09-12
  • 打赏
  • 举报
回复
你可以在拍照和选取图片后进行裁剪,或者设置scaleType为CenterCrop,让图片居中显示,这样效果会好很多

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧