2015-08-09 71 views

回答

5

是的,有两种方法可以做到这一点。

可以使用buildDrawingCache()getDrawingCache()

TextView tv = (TextView)findViewById(R.id.textview); 
tv.buildDrawingCache(); 
ImageView img = (ImageView)findViewById(R.id.imageview); 
img.setImageBitmap(tv.getDrawingCache()); 

您还可以检查this答案备查创建任何视图的位图。

另一种方式是,您可以将整个rootview作为屏幕截图,然后将其保存到光盘中。

这将有助于实现上述How to programatically take a screenshot on Android?

0
public static Bitmap convertViewToBitmap(View view) 
{ 
    view.measure(
     MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
     MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED) 
    ); 
    view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); 
    view.buildDrawingCache(); 
    Bitmap bitmap = view.getDrawingCache(); 

    return bitmap; 
} 
相关问题