如何让组合框的标签在Flex中淡入淡出


1

我有一个组合框,位于Flex 3的面板中。基本上我想在ActionScript中使用淡入淡出效果来淡入淡出面板。我可以使褪色工作正常,但组合框的标签不会褪色。我有与按钮相同的问题,并发现他们的字体需要嵌入。没问题。我嵌入了我正在使用的字体,并且按钮的标签正确淡出。我试过类似的方法来组合框,但它不会淡化所选的项目标签。

以下是我迄今所做的:在我的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功能的缩放功能?认真。 17 11月. 092009-11-17 01:34:18


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