このようなLabelコンポーネントを作成しています
var label:Label = new Label();
label.text = "some text";
label.styleName = "someStyle";
addChild(label);
ただし、幅と高さを明示的に設定するまでは表示されません。
テキストに応じてラベルのサイズを自動変更するにはどうすればよいですか?
このようなLabelコンポーネントを作成しています
var label:Label = new Label();
label.text = "some text";
label.styleName = "someStyle";
addChild(label);
ただし、幅と高さを明示的に設定するまでは表示されません。
テキストに応じてラベルのサイズを自動変更するにはどうすればよいですか?
ここで私の質問に対する答えを見つけました
解決策は、ラベルのmeasureText()関数を呼び出すことです
var lineMetrics:TextLineMetrics = label.measureText(label.text);
label.width = lineMetrics.width;
label.height = lineMetrics.height;
また、上記の回答はスパークコンポーネントでは機能しないようです。しかし、これは私にとってはうまくいきます。
label.width = label.measuredWidth; label.height = label.measuredHeight;
を使用label.percentWidth = 100;
して、ラベルがテキストとともに自動的に拡大できるようにする必要があります。1行のままにしておきたい場合は、maxDisplayedLines = 1;
プロパティも設定する必要があります。
addElement(label)
の代わりに使用することもできますaddChild(label)
。