2015-08-09 70 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; 
} 
相關問題