我正在尝试在Spark TextArea中的每行文本下面显示一条水平线。我想给文本区域看法律文件。
答案 0 :(得分:2)
为控件设置textDecoration样式。
答案 1 :(得分:2)
实际上,在Flex 3中遇到了一个类似的问题,为一个禁用的链接按钮执行删除操作,这是我们样式的一部分。刚查看代码并查看了spark标签的文档,发现我从mx标签中使用的函数明确表示它不起作用[来自spark标签中的measureText()]:
测量指定的文本,假设它显示在一个 使用UITextFormat的单行UITextField(或UIFTETextField) 由这个UIComponent的样式决定。不适用于Spark 组件,因为它们不使用UITextField(或UIFTETextField)。至 测量Spark组件中的文本,获取a的测量值 spark.components.Label或spark.components.RichText
所以我重新想出来了:
<?xml version="1.0" encoding="utf-8"?>
<s:Label xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
override protected function updateDisplayList(unscaledWidth : Number, unscaledHeight : Number) : void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
drawLines();
}
private function drawLines() : void
{
var totalHeight : Number = 0;
for (var i : int = 0; i < mx_internal::textLines.length; i++)
{
totalHeight = mx_internal::textLines[i].y;
graphics.lineStyle(1, 0x000000);
graphics.moveTo(0, totalHeight);
graphics.lineTo(width, totalHeight);
}
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:Label>