Android通过按钮选取图库图片的方法

    1.为按钮设置点击事件:

    //获取所需按钮

    Button btn1 = (Button) findViewById(R.id.btn1);

    

    //为btn1设置点击事件,点击后触发selectPicture()函数

    btn1.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {

            startActivityForResult(selectPicture(), 1); //注意这里为此方法设置了返回码为1,与下面onActivityResult函数中的情况相对应
}
});
  
  2.selectPicture()函数
//此函数使得点击按钮后弹出手机系统图库,之后便可选择图片
public Intent selectPicture()
{
Intent intent = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
return intent;
}

3.重写onActivityResult方法

//这部分代码主要功能是当当返回码为1且返回正常时获取到选择图片的路径,并能进一步转为Bitmap型变量
//之后我们可以通过使用路径方式和Bitmap两种方式对图片进行操作
//例如使用
setImageBitmap(Bitmap bp)方法将图片展示到ImageView上

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == 1 && resultCode == RESULT_OK && null != data) {
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();
Bitmap bp = BitmapFactory.decodeFile(picturePath);
}
super.onActivityResult(requestCode, resultCode, data);
}

4.权限问题
调用图库选择图片需要进行权限的授予,由于权限问题与安卓版本有关在此不再详解只做提醒。





  

posted on 2020-09-06 19:26  LaughMe  阅读(1367)  评论(0编辑  收藏  举报