2009-04-06 6 views
2

私は< mx:Label>タグを持っています。これは通常、表示する必要があるテキストを表示するのに十分な大きさです。テキストはちょっと長すぎると断ち切られ、 "..."が追加されますが、しばらくしています。このようなことが起こるのではなく、テキスト全体を表示できるだけのフォントサイズを小さくしたいと思います。テキストがテキストボックスのサイズが大きい場合のフレックス...より小さく

誰かがそれを行ういい方法を知っていますか?

おかげ

答えて

1

フォントが複雑獣です。指定されたテキストのために、あなたは文字列の長さを見つけて、非常に簡単に、以下の近似式を使用して、最大許容フォントサイズを計算することができます

var max_allowable_size:int = yourLabel.width/yourLabel.text.length; 

これはつまり、いくつかのフォントのための深刻な問題につながる可能性:

  • すべてのフォントが等しくなっているわけではないことを覚えておいてください。つまり、すべてのフォントを正常にサイズ変更することはできません。
  • アンチエイリアシング
  • フォントが良い/テキストが非ローマ字
  • に適用されたときに上記ナイーブ式は、おそらくまた、これは非効率的な方法です壊れる
  • 読めなくなる可能性が見えない場合が壊れることがあります。

長めのラベルテキストに遭遇したときに切り替える、font-sizeが最小に設定された2つの異なるスタイルを定義することをお勧めします。上記の数式のデフォルトのfont-sizeを使用して切り替えるためのしきい値の限度を計算することができます。もちろん、ローカリゼーション/複数言語をサポートする必要がある場合は、いくつかの実験が順番に行われます。

最後に、最も一般的なフォント以外のものを使用する場合は、常にフォントを埋め込みます。

関連する問題