2012-12-12 44 views
3

我想知道是否有任何方法在用畫布繪製時分別修改文本高度和寬度。要設置文本大小,您可以簡單地執行paint.setTextSize(x);,但它會更改X和Y中的文本大小,並且我需要單獨更改X和Y中的文本大小,就像您使用paint.setTextScaleX(x);時所做的那樣,但是沒有任何內容像paint.setTextScaleY(y);用畫布繪製時分別更改文本高度和寬度

是否有任何方式來實現這一點,或者它已經存在於Android?

謝謝

回答

4

沒有setTextScaleY方法,因爲沒有必要爲一個setTextSize乘以X和Y比例因子,setTextScaleX僅乘以X比例因子。所以,你可以達到任何需要的縮放scaleXscaleY這樣:

setTextSize(scaleY); 
setTextScaleX(scaleX/scaleY); //setTextScaleX scales according to the CURRENT size (setTextScaleX(1) does nothing). 
+0

但setTextSize我不能放一個秤1.25,因爲文字是非常小的,但如果我把setTextScaleX(1.25);文字是好的。我無法關聯(scaleX/scaleY),因爲scaleY應該是一個像30的數字,而scale X應該是一個1.5這樣的數字,所以它給了我一個非常小的數字,並且文本被拉伸了。我不能在這種方式上修改X尺寸或僅Y尺寸,或者我不理解它是正確的。 – Andres

+0

這是要麼你不明白我,或者我不明白你:(你最終要達到什麼樣的縮放? – Jong

+3

沒關係我得到它 只修改Y值我做: setTextSize(actualTextSize * scaleFactor ); setTextScaleX(actualXScale /比例因子); 只修改X值我做的: setTextScaleX(actualXScale /比例因子); 謝謝你的幫助;) – Andres