0

動的テキストを事前に定義されたサイズ(x、y、幅、高さ)のテキストボックスにドロップし、テキストを同じ大きさに拡大または縮小できるアクションスクリプトソリューションが必要です。スクロールせずにこれらのディメンション内に配置できます。ワードラップは自動的に行われ、段落の区切りはありません。

FlashのClassicテキストを使用した作業モデルがありますが、TLFが提供するインラインスタイルを利用できるようにしたいと思います。私はまだすべてのTLF機能に頭を悩ませていません。

この状況に対する既存の解​​決策があるかどうか、またはおそらく私を正しい方向に導くことができるかどうかを誰かが知っていますか?

4

2 に答える 2

2

@phil:これは役立つはずです: http ://aaronhardy.com/flex/size-text-to-container/

オンラインデモ、ソースコードを右クリックします。

于 2010-09-02T15:35:19.983 に答える
1

うーん-これはうまくいくはずですが、TLFフォントサイズがどれほど正確かはわかりません... とにかく:

newFormat:TextFormat = new TextFormat();
newFormat.size *= myText.width / myText.textWidth;
myText.setTextFormat(newFormat);

さて、これは基本的にTextFormatオブジェクトを作成し、そのフォントサイズをmyTextの ( TextField ) コンテナー幅 (最大幅) を実際のテキスト幅で割った値に設定します。繰り返しますが、TLF フォント サイズがそれほど正確でない場合、サイズ ラインは次のようになります。

newFormat.size *= Math.round(myText.width / myText.textWidth * 100) / 100;

100 は、100 分の 1 に丸められることを意味します。

編集:この方法ははるかに単純であるだけでなく、効率的でもあると本当に信じています...つまり、それがTextField.textWidthのポイントです...

于 2010-09-02T15:16:43.523 に答える