android-拍照/选择相册获取图片并编辑

本文介绍了在Android应用中如何实现从相机拍照或相册选取图片,并进行编辑的功能。包括添加相关依赖、注册以及关键代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图:

实现步骤:

1.添加依赖:

    //photoview
    implementation 'com.github.chrisbanes.photoview:library:1.2.4'
    //使用Crop裁剪图片
    implementation('com.yalantis:ucrop:2.2.0') {
        exclude group: 'com.android.support'
        exclude group: 'com.squareup.okio'
        exclude group: 'com.squareup.okhttp3'
    }

2.注册:注意此处是直接添加而不是新建Activity修改

<activity
    android:name="com.yalantis.ucrop.UCropActivity"
    android:screenOrientation="portrait"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>

3.上代码:

import android.app.AlertDialog;
import android.content.ContentUris;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.provider.DocumentsContract;
import android.provider.MediaStore;
import android.support.annotation.RequiresApi;
import android.util.DisplayMetrics;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.yalantis.ucrop.UCrop;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import ds.com.dingshi.R;
import ds.com.dingshi.base.BaseActivity;

//我的头像     查看,更换头像操作
public class MineHeaderHandleActivity extends BaseActivity {
    @BindView(R.id.back)
    ImageView back;
    @BindView(R.id.titleTv1)
    TextView titleTv1;
    @BindView(R.id.more_iv)
    ImageView moreIv;
    @BindView(R.id.pv)
    uk.co.senab.photoview.PhotoView pv;
    private String headerUrl;
    private File file;

    private static final int CAMERA = 502;
    private static final int PHOTO = 501;
    private Uri imageUri;

    private String filePath;//文件path
    private String TAG = "MineHeaderHandleActivity";
    private Uri destinationUri;

    @Override
    public int getLayoutId() {
        return R.layout.activity_mine_header_handle;
    }

    @Override
    public void initView() {
        headerUrl = getIntent().getStringExtra("headerUrl");
        RequestOptions requestOptions = new RequestOptions();
        requestOptions.placeholder(R.drawable.icon_error);//图片加载出来前,显示的图片
        requestOptions.error(R.drawable.icon_error);//图片加载失败后,显示的图片
        Glide.with( MineHeaderHandleActivity.this)//content是上下文
                .load("http://img1.mukewang.com/56aa17e800018e6101000100-100-100.jpg")//图片地址
                .apply(requestOptions)
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kenadc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值