2015-03-02 54 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