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.權限問題
調用圖庫選擇圖片需要進行權限的授予,由於權限問題與安卓版本有關在此不再詳解只做提醒。





  
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM