私は固定幅と高さでなければならないダイナミックテキストフィールドを持っています。自動リサイズダイナミックテキストフォントas3
動的テキストフィールドに入力する実際のテキストは変数です。
私がしたいのは、テキストがテキストフィールドの寸法内に完全に表示されない場合、フォントサイズを小さくすることです。
これをどのように正確に実行できるかについてのアイデアはありますか? 3.
私は固定幅と高さでなければならないダイナミックテキストフィールドを持っています。自動リサイズダイナミックテキストフォントas3
動的テキストフィールドに入力する実際のテキストは変数です。
私がしたいのは、テキストがテキストフィールドの寸法内に完全に表示されない場合、フォントサイズを小さくすることです。
これをどのように正確に実行できるかについてのアイデアはありますか? 3.
は、このあなたはまだ探しているなら試してみる:(これはあなたのTextFieldが「複数行」に設定されている前提としています唯一の行が高い場合)
var smallLimit:int = 10;
var format:TextFormat = new TextFormat();
tf.text = "THIS IS WAY TOO LONG";
var testSize:int = 200;
while(testSize > smallLimit){
updateFormat(testSize);
//trace(tf.numLines );
if(tf.numLines > 1){
testSize--;
}else{
testSize = smallLimit;
}
}
function updateFormat(size:int):void{
format.size = size;
tf.setTextFormat(format);
}
はこれを試すとも
、私が使用しています:
var tfspecial:int = tfFontSize + tfInterLine;
while (tf.numLines < tf.height * tfspecial) {
tf.height += tfspecial;
}
私はこの機能を書いていますが、なぜそれが動的テキストで一度しか動作しないのかわかりません。 tf上のコンテンツを置き換えるとき、それはnocorectly tfHeightを設定する。しかし、tfHeightの値を一定に設定すると動作します。var tfHeight = tf.height;
function fitFontSize(tf:TextField){
//pobieramy oktualna wysokosc pola tekstowego
var tfHeight = tf.height;
// ustawiamy automatyczne rozszerzanie sie pola ze wzgledu na zawartosc
tf.autoSize = TextFieldAutoSize.LEFT ;
// tworzymy obiekt tekst format
var myFormat:TextFormat = new TextFormat();
//ustawiamy poczatkowa wielkosc fonta na 100
var tfFontSize:Number =100;
// przypisujemy do obiektu
myFormat.size = tfFontSize;
tf.setTextFormat(myFormat);
/*Z PETLI FOR POMNIEJSZAMY SUKCESYWNIE CZCIONKE O JEDEN
PIKSEL DO MOMENTU GDY tf TEKSTOWE OSIAGNIE POŻADANĄ
WYSOKOSC LUB MNIEJSZA*/
for (var i:int = 0; i<100; i++){
tfFontSize-=1;
myFormat.size = tfFontSize;
tf.setTextFormat(myFormat);
if (tf.height<= tfHeight){
break;
}
}
}
それは動作します!ありがとうNHubbenと他のみんな。しかし、ちょっとした問題。 1行に収まるようにテキストのサイズを変更します。余分なテキストをサイズ変更する前に次の行に移動する方法はありますか?すなわち、テキストフィールドの幅と高さに適合する。多くの感謝 – echez
行の数を確認する代わりに、ターゲットの幅と高さを設定し、それぞれを確認することができます。幅が涼しいが、高さが..でない場合は、それを小さくして再度確認してください。 TextFormatやTextFieldの操作で時間を費やす価値があります。乾杯 – NHubben
誰か他の人がこの記事を新しい投稿に投稿して同じ質問をしました:http://icodesnip.com/snippet/actionscript-3/scale-text-to-fit-in-textfield-scale-textfield-to-fit - テキスト – NHubben