2014-12-24 68 views
0

我試圖從相機意圖顯示捕獲的圖像,但是當我調用showPhoto方法時,圖像不會顯示在ImageView中。沒有錯誤輸出到堆棧跟蹤,所以我不知道如何調試問題。如何在ImageView中顯示捕獲的圖像?

有沒有人知道它沒有顯示捕獲的圖像的方法有什麼問題?

的showPhoto方法如下:

private void showPhoto(Uri photoUri) { 
      String filePath = photoUri.getEncodedPath(); 
      File imageFile = new File(filePath); 
      //File imageFile = new File(photoUri.getPath()); 
      if (imageFile.exists()){ 
      Drawable oldDrawable = photoImage.getDrawable(); 
      if (oldDrawable != null) { 
       ((BitmapDrawable)oldDrawable).getBitmap().recycle(); 
      } 
      Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath()); 
      BitmapDrawable drawable = new BitmapDrawable(this.getResources(), bitmap); 
      photoImage.setScaleType(ImageView.ScaleType.FIT_CENTER); 
      photoImage.setImageDrawable(drawable); 
      }  
     } 

這是我跟着教程:http://www.linux.com/learn/tutorials/722038-android-calling-the-camera

我測試的設備是JellyBean 4.1,這是鏈接到完整類:

http://hastebin.com/oqokupulol.java

+0

這可能是因爲畫面的質量。嘗試降低位圖的質量。 –

回答

1

使用BitmapOptions.inJustDecodeBounds找出尺寸像第一

通常而言,Android系統將不會加載圖像大於4000px寬/高的

如果您發現圖像過大時,可以使用BitmapOptions.inSampleSize來縮減圖像,這樣的Android會加載

而事實上,你可以直接使用ImageView.setImageBitmap(位圖),而不是setImageDrawable

相關問題