2011-11-04 85 views
1

我正在使用以下代碼拍攝TableLayout的屏幕截圖。我必須補充說我的android應用程序的主題設置爲LIGHT。它在模擬器屏幕上顯示得非常好(就像它應該的那樣)...但是,一旦截圖被採用,圖像就會變成這樣......任何人都可以幫助指出我在這裏做錯了什麼?謝謝!屏幕截圖中的錯誤(Android)

private void getScreen() 
      { 
       View content = findViewById(R.id.TransactionLog); 
       content.setDrawingCacheEnabled(true); 

       content.buildDrawingCache(true); 

       Bitmap bitmap = Bitmap.createBitmap(content.getDrawingCache()); 


       content.setDrawingCacheEnabled(false); // clear drawing cache 

       File file = new File(Environment.getExternalStorageDirectory() + 
         File.separator + "logDetails.jpeg"); 




         try 
          { 
           file.createNewFile(); 
           FileOutputStream ostream = new FileOutputStream(file); 
           bitmap.compress(CompressFormat.JPEG, 100, ostream); 

           ostream.flush(); 
           ostream.close(); 

          } 
         catch (Exception e) 
          { 
           e.printStackTrace(); 
          } 

         if (!file.exists()) { 
          sendmail(); 
         } 
      } 

The background shows black

回答

2

1)你應該使用PNG。 Jpeg用於照片(基本上)。 2)因爲你使用的是Jpeg,我認爲那些黑色區域應該是透明的。 Png支持透明度。 Jpeg沒有。我還沒有嘗試drawingCache,所以也許它不支持透明度,我完全錯了,但這是我的猜測。

因此,總結,嘗試巴新。

+0

是啊!這解決了我的問題......謝謝! – BurninatorDor