2010-06-13 50 views
0

我想獲取在顯示textview時繪製的位圖,但不在活動中顯示textview。像這樣:從android中的textview獲取位圖

TextView t = new TextView(this); 
t.forceToDrawItself(); 
Bitmap b=t.getViewBitmap(); 

這怎麼可能?

回答

2

View#draw(Canvas)將繪製整個視圖到給定的Canvas。您可以使用構造函數Canvas(Bitmap)來創建一個繪製到給定Bitmap中的畫布。

Bitmap#createBitmap(int, int, Bitmap.Config)創建所需大小的位圖,將其包裝在畫布中,並將其傳遞到您的視圖的draw方法。

+0

確定正常工作。現在我有問題,我必須手動設置視圖的大小..是否有一種方法來計算視圖的默認大小?像t.initSize(); ? – 2010-06-14 11:13:04

+0

查看View類文檔的「佈局」部分。 (http://developer.android.com/reference/android/view/View.html)您將需要使用MeasureSpecs調用View#measure來獲取寬度和高度。 – adamp 2010-06-14 18:39:52

+0

它幫助了我。但是我面臨着一個問題。我需要居中對齊文本。我嘗試了setGravity(Gravity.CENTER),但它沒有提供所需的輸出。有什麼建議麼? – Ammar 2014-05-13 09:04:13