android 從圖庫中選取圖片
在android中,如何從圖庫gallary中挑選圖片呢,其實很簡單,步驟如下
1) 設計一個imageview,用來顯示圖庫選出來的圖片
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/imgView" android:layout_width="fill_parent" android:layout_weight="1" android:layout_height="wrap_content"></ImageView> <Button android:layout_height="wrap_content" android:text="Load Picture" android:layout_width="wrap_content" android:id="@+id/buttonLoadPicture" android:layout_weight="0" android:layout_gravity="center"></Button> </LinearLayout>
2) 學習如何在按鍵中調出gallary,其實也就是intent了,如下
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, RESULT_LOAD_IMAGE);
3) 然后在onActivityResult中對調出圖庫后,選定好的圖片,我們要重新顯示在頁面的imageview中,因此代碼如下:
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RESULT_LOAD_IMAGE && 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(); ImageView imageView = (ImageView) findViewById(R.id.imgView); imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); } 其中就是Uri selectedImage = data.getData();獲得了圖庫中的圖片所有數據了。
這樣一來,當用戶在圖庫中選好圖片后,就可以呈現在imageview控件中咯
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答