我正在尝试确定在运行时变为多行的Spark标签的高度(由于设置了width
属性),以解决文本溢出问题。
(对于名为Title的火花标签)我试过:
Title.measureText(Title.text).height
- 这似乎只返回一行的高度。 (由于不同的屏幕尺寸和字体渲染,我事先并不知道文本会溢出多少行......)
Title.height
- 这似乎返回标签大小的高度(在运行时为多行文本流重新调整之前)
上面的两个属性都会返回不变的值,即使填写了不同的文本长度/多行长.text
真的没办法确定溢出Spark标签的确切高度吗?
我确实不熟悉Flex API,但经过一段时间的手册搜索后,我仍然无法以适当的间距放置此标题标签。任何帮助将不胜感激。
答案 0 :(得分:1)
我认为Spark标签的resize
事件会很有用。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" >
<fx:Script>
<![CDATA[
public var Height:String="";
public function Resize():void
{
Height=lblLabel.height.toString();
txtText.text="Label Height: "+Height;
}
public function AddText():void
{
lblLabel.text += lblLabel.text;
}
]]>
</fx:Script>
<mx:Text id="txtText" x="46" y="44" width="200"/>
<s:Label id="lblLabel" text="Label Text " x="46" y="99" width="200" resize="Resize()"/>
<s:Button id="btnClick" label="AddText" click="AddText()" x="199" y="43"/>
</s:Application>
答案 1 :(得分:0)
如果我理解你的问题,你可以听mx.events.FlexEvent.UPDATE_COMPLETE