正文

使用內(nèi)置Gallery應(yīng)用程序選擇圖像(3)

Android多媒體開發(fā)高級編程 作者:(美)艾佛瑞


當(dāng)Gallery應(yīng)用程序在用戶選擇圖像之后返回時,將調(diào)用onActivityResult方法。在傳遞到意圖的數(shù)據(jù)中,可以得到所選擇圖像的URI。

     protected void onActivityResult(int requestCode, int resultCode,

Intent intent){

     super.onActivityResult(requestCode, resultCode, intent);

     if (resultCode == RESULT_OK) {

          Uri imageFileUri = intent.getData();

由于返回的圖像可能太大而無法完全加載到內(nèi)存中,因此在加載圖像時將使用在第1章中介紹過的技術(shù)對其大小進行調(diào)整。整數(shù)dw和dh分別表示最大寬度和高度。最大高度小于屏幕高度的一半,因為最終將會以垂直對齊的方式顯示兩幅圖像。

          Display currentDisplay = getWindowManager().getDefaultDisplay();

          int dw = currentDisplay.getWidth();

          int dh = currentDisplay.getHeight()/2 - 100;

          try {

               //加載圖像的尺寸而非圖像本身

               BitmapFactory.Options bmpFactoryOptions = 

new BitmapFactory.Options();

               bmpFactoryOptions.inJustDecodeBounds = true;

               Bitmap bmp = BitmapFactory.decodeStream(getContentResolver().

               openInputStream(imageFileUri), null, bmpFactoryOptions);

               int heightRatio = (int)Math.ceil(bmpFactoryOptions.

outHeight/(float)dh);

               int widthRatio = (int)Math.ceil(bmpFactoryOptions.

outWidth/(float)dw);


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號