2011-05-24 35 views
0

我對文本控件有閃爍問題。Flex 3 - 更改樣式名稱時文本控制閃爍

這裏的背景:
我有由一個文本控件(顯示在多行無標籤的事業,它需要能夠)代表的稱號。當用戶瀏覽標題時,文本必須加下劃線。

我做了什麼:
我已經設置聽衆標題的過渡和部署事件是這樣的:

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改變underline屬性(不工作)
  • 定義.accessoriesTitle和.accessoriesTitle:在CSS hover樣式,但懸停不工作=(

會有人知道的溶液或解決這個閃爍的東西?

感謝您的時間和幫助! :)

問候,
BS_C3


對不起慢,這裏有兩種風格的聲明:

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

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

問候

+0

什麼的 「accessoriesTitle」 和 「accessoriesTitleHover」 風格的定義是什麼樣子?我嘗試了一個快速示例應用程序,無法重現您的閃爍問題。 – 2011-05-25 14:47:36

+0

@bill d - 我並不總是得到pb,但是一旦有了它,它就會一直髮生...>。< – 2011-05-30 09:57:08

回答

0

我發現了一個「黑客」來解決這個問題。
沒有黑客,看起來文本在被帶下劃線樣式再次呈現之前被清空。當文本從下劃線樣式變爲無文本裝飾樣式時也是如此。

文本要麼改變其大小(從當前的大小到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

0

試試這個

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

如果這不是工作回覆immidiately。

謝謝

+0

嗨Tahir Alvi,它不會改變一件事... – 2011-05-30 09:59:59