【问题标题】:Flex 3 - Text control flickers when changing stylenameFlex 3 - 更改样式名称时文本控件闪烁
【发布时间】:2011-05-24 08:57:44
【问题描述】:

文本控件出现闪烁问题。

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

我做了什么:
我已将标题的翻转和转出事件的侦听器设置为:

    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:hover 样式,但悬停不起作用 =(

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

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

问候,
BS_C3


抱歉耽搁了,这是两种样式的声明:

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

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

问候

【问题讨论】:

  • “accessoriesTitle”和“accessoriesTitleHover”样式定义是什么样的?我尝试了一个快速示例应用程序,但无法重现您的闪烁问题。
  • @bill d - 我并不总是得到 pb,但一旦我得到它,它就会不断发生...... >.

标签: apache-flex text flex3 styles


【解决方案1】:

试试这个

 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; 
    }
}

如果这不起作用,请立即回复。

谢谢

【讨论】:

    【解决方案2】:

    我找到了一个“hack”来解决这个问题。
    如果没有 hack,文本似乎在以带下划线的样式再次呈现之前被清空。当文本从下划线样式变为无文本装饰样式时也是如此。

    文本要么更改其大小(从当前大小变为 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 2014-06-25
      • 2015-09-27
      • 1970-01-01
      相关资源
      最近更新 更多