如何在 Flex 3 的标签或文本中使用删除线?

发布于 2024-07-15 19:46:11 字数 31 浏览 2 评论 0原文

如何在 Flex 3 的标签或文本中使用删除线?

How can I use strikethrough in a Label or text in flex 3 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

流殇 2024-07-22 19:46:11

我需要同样的东西,最终稍微简化了 mediagreenhouse 解决方案:

package
{
    import flash.text.TextLineMetrics;
    import mx.core.mx_internal;
    import mx.controls.Label;

use namespace mx_internal;

public class StrikeLabel extends Label
{

    public function StrikeLabel()
    {
        super();
    }

    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {
        super.updateDisplayList( unscaledWidth, unscaledHeight );

        if( textField )
        {
            var metrics : TextLineMetrics = textField.getLineMetrics( 0 );
            var y : int = ( metrics.ascent * 0.66 ) + 2;

            graphics.clear();
            graphics.lineStyle( 1, getStyle( "color" ), 1 );
            graphics.moveTo( 0, y );
            graphics.lineTo( metrics.width, y );
        }
    }
}
}

I needed the same, and ended up simplifying the mediagreenhouse solution somewhat:

package
{
    import flash.text.TextLineMetrics;
    import mx.core.mx_internal;
    import mx.controls.Label;

use namespace mx_internal;

public class StrikeLabel extends Label
{

    public function StrikeLabel()
    {
        super();
    }

    override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
    {
        super.updateDisplayList( unscaledWidth, unscaledHeight );

        if( textField )
        {
            var metrics : TextLineMetrics = textField.getLineMetrics( 0 );
            var y : int = ( metrics.ascent * 0.66 ) + 2;

            graphics.clear();
            graphics.lineStyle( 1, getStyle( "color" ), 1 );
            graphics.moveTo( 0, y );
            graphics.lineTo( metrics.width, y );
        }
    }
}
}
知足的幸福 2024-07-22 19:46:11

根据您的具体需求,您也许可以对标签进行子类化,覆盖 updateDisplayList,然后在文本中间画一条线。

Depending on your exact needs, you might be able to subclass label, override the updateDisplayList, and just draw a line through the middle of the text.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文