如何在flex 3中的Label或text中使用删除线?

时间:2009-03-30 15:52:55

标签: actionscript-3 flex flex3

如何在flex 3中的Label或text中使用删除线?

4 个答案:

答案 0 :(得分:3)

我需要同样的东西,并最终简化了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 );
        }
    }
}
}

答案 1 :(得分:0)

答案 2 :(得分:0)

根据您的确切需要,您可以创建子类标签,覆盖updateDisplayList,只需在文本中间画一条线。

答案 3 :(得分:0)