Как я могу использовать зачеркивание в Label или текст в flex 3? - PullRequest
1 голос
/ 30 марта 2009

Как я могу использовать зачеркивание в Label или текст в flex 3?

Ответы [ 4 ]

3 голосов
/ 14 мая 2009

Мне нужно было то же самое, и я несколько упростил решение 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 );
        }
    }
}
}
0 голосов
/ 31 марта 2009

В зависимости от ваших конкретных потребностей, вы можете разделить метку подкласса, переопределить updateDisplayList и просто нарисовать линию по середине текста.

0 голосов
/ 04 мая 2009

Flex 3 пример здесь: http://flexsnippets.mediagreenhouse.com/?p=46

0 голосов
/ 30 марта 2009
...