Flex 3-更改样式名称时,文本控件会闪烁



我的文本控件出现闪烁问题。

上下文如下:
我有一个由Text控件表示的标题(没有Label,因为它需要能够显示在几行中)。当用户滚动标题时,文本必须加下划线。

我所做的:
我已经将听众设置为标题的滚动和推出事件,如下所示:

    private function titleHandler(e : MouseEvent) : void {
        switch(e.type) {
            case MouseEvent.ROLL_OVER: 
                _title.styleName = 'accessoriesTitleHover'; 
                break;
            case MouseEvent.ROLL_OUT: 
                _title.styleName = 'accessoriesTitle'; 
                break; 
        }
    }

问题:每次更改样式名称时,标题都会闪烁(我甚至会说标题消失后又重新出现)

我尝试过的替代解决方案:

  • 使用setStyle更改下划线属性(无效)
  • 在CSS中定义.accessoriesTitle和.accessoriesTitle:悬停样式,但悬停不起作用=(

有人知道这个闪烁的东西的解决方案或变通方法吗?

感谢您的时间和帮助!!:)

问候,
BS_C3


很抱歉延误了,这是两种款式的声明:

.accessoriesTitle{
    font-size: 13pt;
    text-decoration: none;
    leading: 1pt;
}
.accessoriesTitleHover{
    font-size: 13pt;
    text-decoration: underline;
    leading: 1pt;
}

问候

试试这个

 private function titleHandler(e : MouseEvent) : void {
    switch(e.type) {
        case MouseEvent.ROLL_OVER: 
            _title.setStyle('styleName', 'accessoriesTitleHover'); 
            break;
        case MouseEvent.ROLL_OUT: 
            _title.setStyle('styleName', 'accessoriesTitle'); 
            break; 
    }
}

如果这不是工作,请立即回复。

感谢

我找到了一个"破解"来解决这个问题
如果没有黑客攻击,文本似乎在用下划线样式再次渲染之前被清空了。当文本从带下划线的样式变为无文本装饰样式时也是如此。

文本正在更改其大小(从当前大小更改为0,然后更改为新大小),或者在再次呈现之前清空内容
所以我设置了文本高度,下面是我得到的:

private function titleHandler(e : MouseEvent) : void {
    switch(e.type) {
        case MouseEvent.ROLL_OVER: 
            _title.height = _title.height;
            _title.styleName = 'accessoriesTitleHover';  
            break;
        case MouseEvent.ROLL_OUT:  
            _title.styleName = 'accessoriesTitle';  
            break; 
    }
}

一切正常:)

谢谢你抽出时间。问候,

BS_C3

相关内容

  • 没有找到相关文章

最新更新