2015-03-02 49 views
-1

我想截取一個活動的屏幕截圖並在按鈕單擊的下一個活動中顯示它。 我正在使用下面的代碼,但它不工作。
請讓我知道,如果有人知道了答案:在android中單擊一個活動的屏幕截圖

choose.setOnClickListener(new View.OnClickListener() { 
       public void onClick(View v) { 
        mainlayout.setDrawingCacheEnabled(true); 
        mainlayout.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), 
          View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); 
        mainlayout.layout(0, 0, mainlayout.getMeasuredWidth(), mainlayout.getMeasuredHeight()); 
        mainlayout.buildDrawingCache(true); 
        Bitmap b = Bitmap.createBitmap(mainlayout.getDrawingCache()); 
        mainlayout.setDrawingCacheEnabled(false); // clear drawing cache 
        Intent i4=new Intent(Screen3.this,Screen4.class); 
        i4.putExtra("BitmapImage", b); 
        startActivity(i4); 
       }//onclick 
      }); 
+3

「它不工作」 - >你們能不能進一步什麼解釋不工作? – 2Dee 2015-03-02 10:07:37

+0

如何在「Screen4」活動中獲得它? – Gorcyn 2015-03-02 10:10:26

+0

我想截取當前活動並在下一個意圖中顯示它。但代碼不工作.. – 2015-03-02 10:11:03

回答

0
public static Bitmap captureScreen(View v){ 

     Bitmap bitmap = null; 

     try { 
      if(v!=null) 
      { 
       int width = v.getWidth(); 
       int height = v.getHeight(); 

       Bitmap screenshot = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565); 
       v.draw(new Canvas(screenshot)); 
       } 
      } 
     catch (Exception e){ 

      Log.d("captureScreen", "Failed"); 
     } 

    return bitmap; 
    } 

v是什麼被捕獲(任何佈局)

+0

可以v imageview?或者它必須是任何佈局? – 2015-03-02 10:18:37

+0

不,它是您想要捕獲的佈局 – 2015-03-02 10:19:13

+0

以及我如何在下一活動的圖像視圖中顯示此屏幕截圖? – 2015-03-02 10:25:09