Android 開發 調用圖庫選擇圖片實現和參數詳解

來源:互聯網
上載者:User

我在網上看到摩訊的分享SDK,然後下載來看看,不過裡面缺少了選擇圖庫的功能,於是乎沒事就加上 調用圖庫選擇本地圖片的功能,大家有對摩訊有興趣的話可以去下載來看看   摩訊分享SDK     摩訊社區SDK 先上實現代碼:
”分享本地圖片“按鈕事件:[java]  //選擇圖片,調用圖庫  bt4.setOnClickListener(new OnClickListener() {        @Override      public void onClick(View v) {          Intent intent = new Intent(Intent.ACTION_GET_CONTENT);          intent.setType("image/*");          intent.putExtra("crop", true);           intent.putExtra("return-data", true);          startActivityForResult(intent, 2);      }  });   點擊之後跳轉到圖庫:這是一個回呼函數,選擇完圖片,第一個if 判斷是否返回成功,第二個if  判斷requestCode和上面 startActivity(),裡的參數相同,就擷取圖片  ,注意:在上面按鈕裡一定要加上這句話: intent.putExtra("return-data", true);  否則返回的data 為空白,稍後詳 細講解參數的作用[html]  @Override   protected void onActivityResult(int requestCode, int resultCode, Intent data) {       super.onActivityResult(requestCode, resultCode, data);       if (resultCode == RESULT_OK) {          System.out.println("requestCode"+requestCode);       if (requestCode == 2) {           Uri uri = data.getData();           System.out.println(uri.getPath());                        ContentResolver cr = this.getContentResolver();                          try {      bmp = BitmapFactory.decodeStream(cr.openInputStream(uri));          MCShareLaunchShareHelper.shareContentWithBitmap("測試分享本地圖片", bmp, "your share url", "", MoxunActivity.this);  } catch (FileNotFoundException e) {      // TODO Auto-generated catch block      e.printStackTrace();  }        }   }     }   回呼函數跳轉返回成功,跳轉到分享介面(回呼函數中這句話 是我調用的摩訊的分享SDK的功能,跟本文無關 MCShareLaunchShareHelper.shareContentWithBitmap("測試分享本地圖片", bmp, "your share url", "", MoxunActivity.this);), 中部那個android圖片就是所選的那張圖片  Android中 調用圖庫選擇圖片的參數詳解 Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);   intent.setType("image/*");    //這個參數是確定要選擇的內容為圖片,intent.putExtra("crop", "circle");   //設定了參數,就會調用裁剪,如果不設定,就會跳過裁剪的過程。intent.putExtra("aspectX", 33);  //這個是裁剪時候的 裁剪框的 X 方向的比例。intent.putExtra("aspectY",43);  //同上Y 方向的比例. (注意: aspectX, aspectY ,兩個值都需要為 整數,如果有一個為浮點數,就會導致比例失效。)//設定aspectX 與 aspectY 後,裁剪框會按照所指定的比例出現,放大縮小都不會更改。如果不指定,那麼 裁剪框就可以隨意調整了。intent.putExtra("outputX", 50);  //返回資料的時候的 X 像素大小。 intent.putExtra("outputY", 100);  //返回的時候 Y 的像素大小。//以上兩個值,設定之後會按照兩個值產生一個Bitmap, 兩個值就是這個bitmap的橫向和縱向的像素值,如果裁剪的映像和這個像素值不符合,那麼空白部分以黑色填充。intent.putExtra("noFaceDetection", true); // 是否去除面部檢測, 如果你需要特定的比例去裁剪圖片,那麼這個一定要去掉,因為它會破壞掉特定的比例。 intent.putExtra("return-data", true);  //是否要傳回值。 一般都要。我第一次忘加了,總是取得空值,囧!startActivityForResult(intent, 1); 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.