2009-05-01 6 views
11

私は、テキストをテキストコンポーネント全体に埋め込むようにフォントのサイズを自動的に調整しようとしています。テキストボックスの高さ/幅に合わせてフォントサイズを自動的に変更する方法は?

私の現在のアプローチは、テキスト文字数とテキストコンポーネントの高さと幅の関数としてフォントサイズを設定することですが、この作業をうまく行えるように適切な係数を見つけることはできません。

もっとシンプルで洗練された方法がありますか?

truncateToFitはテキストに対して機能しますか?私はそれがうまくいかないところを読んでいます。

編集:私はそれが最大フォントサイズ(これは私が信じている127)を超えて拡大したいと言いました。これはどうですか? scaleX?

答えて

21

AS3サンプル機能。 TextFieldのコンテンツが変更されたときにいつでも呼び出す必要があります

function Autosize(txt:TextField):void 
{ 
    //You set this according to your TextField's dimensions 
    var maxTextWidth:int = 145; 
    var maxTextHeight:int = 30; 

    var f:TextFormat = txt.getTextFormat(); 

    //decrease font size until the text fits 
    while (txt.textWidth > maxTextWidth || txt.textHeight > maxTextHeight) { 
    f.size = int(f.size) - 1; 
    txt.setTextFormat(f); 
    } 

} 
+0

私は投票しました。 145を超えてどのようにスケールアップするのか知っていますか? – Brandon

+0

私は最大のフォントサイズを意味しました。 – Brandon

+0

申し訳ありませんが、私はフォントサイズを145以上に拡大する方法はありません –

関連する問題