콤보 상자의 레이블을 얻으려면 어떻게해야합니까?


1

Flex 3에서는 패널 안에 콤보 상자가 있습니다. 기본적으로 ActionScript의 페이드 효과를 사용하여 패널을 페이드하고 싶습니다. 나는 페이드가 잘 작동하도록 할 수 있지만, 콤보 박스의 라벨은 사라지지 않는다. 나는 버튼에 대해서도 똑같은 문제가 있었고 글꼴을 임베딩해야한다는 것을 알았다. 문제 없어. 나는 사용하고있는 폰트를 임베드했고 버튼의 라벨은 바랬다. 콤보 상자에 비슷한 방법을 시도했지만 선택한 항목 레이블이 사라지지 않습니다. 소스 코드를 폰트 내 MXML의 상단에 스크립트 :

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

내 init 함수

//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가 디바이스 폰트와 임베디드 폰트 모두에서 잘 동작하도록하는 약간의 트릭이 있습니다 : 블러 (blur)없는 블러 필터를 사용하십시오.

기본적으로 비트 맵 필터를 설정하면 플레이어가 내부적으로 개체의 비트 맵 복사본을 만들어 필터를 적용합니다. 흐림 효과가 흐림 효과로 설정되지 않은 경우 말하자면 여전히 좋아 보이며 완벽하게 잘 연해질 수 있습니다. 이렇게하면 텍스트가 현재 래스터 화 되었기 때문에 플레이어의 확대/축소 기능이 중단됩니다.

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

, BTW 세계에서 사람이 실제로 플래시 플레이어 기능의 줌 기능을 고려 하는가? 진지하게. 17 nov. 092009-11-17 01:34:18


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