2012-04-09 175 views
0

我已經很好的看了一下,但找不到任何直接解決問題的東西。有幾條帖子沿着正確的線條,但我無法繞過它來解決問題。自動調整文字大小以適合按鈕的寬度

我需要自動調整文本的大小,使其不超過按鈕的寬度。我的大小文本的最大長度似乎是13個字符,然後它會變得太大。

-

程序開始通過動態地創建多個按鈕,與該標題和作爲一個XML文檔中設置的描述填充它們。

爲了添加文本我有這樣的代碼:

var tform:TextFormat = new TextFormat(); 
tform.size = 20; 
tform.font = "Arial"; 
tform.align = TextFormatAlign.CENTER; 
tform.color = 0xFFFFFF; 
tform.bold = true; 

var tfield:TextField = new TextField(); 
tfield.text = texttitle; 
tfield.width = button.width; 
tfield.x = 0; 
tfield.y = 30; 

tfield.setTextFormat(tform); 
addChild(tfield); 

這直接按鈕從頂部30個像素的中心位置的文本。因此,我面臨的問題是如何修改字體大小,以便將文本保留在框中。

-

現在,因爲我設置寬度與面板的大小,也看不出循環通過根據最大允許寬度設置字體大小的任何明顯的方式。

我相信這一切都很有意義,我歡迎任何修改,以使代碼更有效率,因爲我對AS3和Flash相對較新,因此仍處於學習曲線。

Regards, Jon。

回答

2

我已經過這個問題跑,並通過在文本上設置循環,直到它符合

沿着這

while (tf.textwidth > button.width){ 
    myTextFormat.size = myTextFormat.size - 1; 
    tf.setTextFormat(myTextFormat); 
    tf.autoSize = "left"; 
} 
+0

@plemarquand線的東西解決了這個問題 - 哈!我錯過了最重要的部分,感謝修正 – Daniel 2012-04-16 21:20:28

相關問題