2008-08-20 46 views
1

我有一個組合框,位於Flex 3的面板中。基本上我想在ActionScript中使用淡入淡出效果來淡入淡出面板。我可以使褪色工作正常,但組合框的標籤不會褪色。我有與按鈕相同的問題,並發現他們的字體需要嵌入。沒問題。我嵌入了我正在使用的字體,並且按鈕的標籤正確淡出。我試過類似的方法來組合框,但它不會淡化所選的項目標籤。如何讓組合框的標籤在Flex中淡入淡出

以下是我迄今所做的:在我的MXML頂部的腳本 嵌入代碼的字體:

[Embed("assets/trebuc.ttf", fontName="TrebuchetMS")] 
public var trebuchetMSFont:Class; 

在我的初始化函數

//register the font. 
Font.registerFont(trebuchetMSFont); 

組合框的MXML :

<mx:ComboBox id="FilterFields" styleName="FilterDropdown" 
    left="10" right="10" top="10" 
    fontSize="14"> 
    <mx:itemRenderer> 
    <mx:Component> 
     <mx:Label fontSize="10" /> 
    </mx:Component> 
    </mx:itemRenderer> 
</mx:ComboBox> 

而且我寫了一個樣式來讓字體應用到組合框中:

.FilterDropdown 
{ 
    embedFonts: true; 
    fontFamily: TrebuchetMS; 
    fontWeight: normal; 
    fontSize: 12; 
} 

的原因,我不得不寫的風格,而不是將其放置在「的FontFamily」屬性的是,風格的所有文本在組合框中正確的字體其中「的FontFamily」屬性只取得了下拉菜單中的項目使用正確的字體。

回答

2

嗯,我不知道爲什麼這不適合你。這裏是我如何得到它的一個例子:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="fx.play([panel])"> 
    <mx:Style> 
     @font-face { 
      src: local("Arial"); 
      fontFamily: ArialEm; 
     } 

     @font-face { 
      src: local("Arial"); 
      fontFamily: ArialEm; 
      fontWeight: bold; 
     } 

     @font-face { 
      src: local("Arial"); 
      fontFamily: ArialEm; 
      font-style: italic; 
     } 
    </mx:Style> 
    <mx:XML id="items" xmlns=""> 
     <items> 
      <item label="Item 1" /> 
      <item label="Item 2" /> 
      <item label="Item 3" /> 
     </items> 
    </mx:XML> 
    <mx:Panel id="panel" x="10" y="10" width="250" height="200" layout="absolute"> 
     <mx:ComboBox fontFamily="ArialEm" x="35" y="10" dataProvider="{items.item}" labelField="@label"></mx:ComboBox> 
    </mx:Panel> 
    <mx:Fade id="fx" alphaFrom="0" alphaTo="1" duration="5000" /> 
</mx:Application> 

希望這可以幫助你。

3

您可以經常使用< MX:將代替> < MX:淡出>,它看起來幾乎相同,並不需要嵌入字體。

0

感謝您的幫助。 有完全相同的問題。 訣竅在於嵌入您正在使用的字體的「粗體」版本。 即使ComboBox中的字體未設置爲粗體...

1

通過淡入淡出實色矩形而不是淡化實際組分來溶解作品。這很好,特別是當你想控制組件應該淡入的顏色時。但是,有時您需要透明度,因此必須使用Fade。有一個小技巧可以讓Fade與設備字體和嵌入字體一起工作:使用不模糊的模糊濾鏡。

基本上,當您設置位圖過濾器時,播放器會在內部創建一個對象的位圖副本,然後應用該過濾器。如果模糊設置爲不模糊,可以這麼說,它仍然看起來不錯,並且能夠完美地淡化。這會中斷播放器的縮放功能,因爲文本現在被柵格化了。

<mx:Label id="percentage" text="{progress} %" truncateToFit="false"> 
    <mx:filters> 
     <mx:BlurFilter blurX="0" blurY="0" /> 
    </mx:filters> 
</mx:Label> 
+0

順便說一句,有沒有人在世界上實際上考慮Flash Player功能的縮放功能?認真。 – 2009-11-17 01:34:18

0
var htm = $('#comboboxId').find('option:selected').html();