How can I show a line under each row of text in a Spark TextArea

人走茶凉 提交于 2019-12-08 08:01:49

问题


I'm trying to show a horizontal line under each row of text in a Spark TextArea. I want to give the text area the look of legal paper.


回答1:


Ah actually ran into a similar problem in Flex 3 doing a strikeout for a disabled link-button that was part of our styles. Just checked out the code and looked on the docs for the spark label and found the function I was using from a mx label explicitly says it won't work [from measureText() in spark label]:

Measures the specified text, assuming that it is displayed in a single-line UITextField (or UIFTETextField) using a UITextFormat determined by the styles of this UIComponent. Does not work for Spark components since they don't use UITextField (or UIFTETextField). To measure text in Spark components, get the measurements of a spark.components.Label or spark.components.RichText

So I re-figured it out:

<?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>



回答2:


Set the textDecoration style for the control.



来源:https://stackoverflow.com/questions/9072107/how-can-i-show-a-line-under-each-row-of-text-in-a-spark-textarea

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!