2012-03-14 61 views
0

我的應用程序中有一些方形的TextView(具有不同的動態尺寸(我不知道它們在我開發過程中))並且想設置它們的文本。但如果我說TextView.setText();文字字體很小。如果我設置TextView.setFontSize,有時文本沒有完全顯示(請記住:它們具有動態大小)。所以我的問題是:我怎樣才能給文本提供完美的字體(使用按鈕的全部空間並且完全顯示)或者使文本方形化,以便填充TextView的整個空間? 謝謝如何提高Android上TextButton的字體

回答

0

您可以使用Paint.getTextBounds()這樣的:

int textViewWidth = textView.getMeasuredWidth(); 
float textSize = 1.0; 
do { 
    textSize += 0.5 
    textView.setTextSize(textSize); 
    Paint textPaint = textView.getPaint(); 
    textPaint.getTextBounds(text, 0, text.length(), rect); 
    int width = rect.width(); 
} while (width < textViewWidth); 

textView.setTextSize(textSize - 0.5); 
+0

//在循環中增加此值,直到它符合textview的邊界 - 我應該如何知道在我的程序中?(我無法做到這一點靜態(textview尺寸是動態的)) – user1200226 2012-03-14 16:06:35

+0

它會如果您能告訴我如何更改TextView的「文本矩形」(幫助我縮放文本以使它具有寬度...和高度...) – user1200226 2012-03-14 16:08:26

+1

現在,您已將文本高度變大或更小以適應textview(通過遞增或遞減文本大小),你不知道如何比較文本高度和TextView的高度嗎? – neevek 2012-03-14 16:19:28

0

回顧過去的documentation,它看起來像你應該能夠使用這樣的事情:

TextView tv = (TextView) findViewById(R.id.myTextView); 
tv.setTextScaleX(tv.getWidth()); 

這將縮放文本的寬度與TextView的寬度。

+0

這是行不通的。我已經嘗試過了。文字看起來很奇怪。 (我無法上傳圖片:-() – user1200226 2012-03-14 16:02:32

0

我想你需要計算按鈕的高度和你想設置的文本。您需要的API是:Paint.getTextBounds()和View.getHeight()。

+0

我已經計算了TextViews的高度(我沒有按鈕),問題是TextView的文本沒有填充TextView的孔,這就是爲什麼我'm writing ... – user1200226 2012-03-14 15:58:37