2013-02-24 75 views
1

我試圖嵌入字體,這樣我可以旋轉的Spark按鈕組件,但我沒能做到這一點。該按鈕始終顯示爲空白,沒有文字。無法應用嵌入字體Spark按鈕Flex 4中

的代碼看起來是這樣的:

<fx:Style> 
    @namespace s "library://ns.adobe.com/flex/spark"; 

    @font-face { 
     fontFamily: verdana; 
     src: url("VERDANA.TTF"); 
     embedAsCFF: true; 
     fontWeight: normal; 
    } 

</fx:Style> 


<s:Group> 
    <s:layout> 
     <s:HorizontalLayout /> 
    </s:layout> 

    <s:Button id="back" 
       includeInLayout="{data.thisLevel.getParent() != null}" 
       label="Back" 
       fontFamily="verdana" 
       fontWeight="normal" 
       height="100%" 
       rotation="270" /> 
</s:Group> 

我的研究表明,你需要玩一些遊戲與fontWeight設置拿到MX:按鈕的工作,但是這所謂固定的火花。 (而瞎搞與fontWeight設置沒有做任何事情。)當我打開按鈕變成一個標籤,它的行爲我所期望的方式,所以我顯然是正確的嵌入字體 - 按鈕就不能看到它。

我在這裏做錯了什麼?

回答

2

你已經做了所有正確的。你的代碼對我很好。我添加了第二個按鈕,讓您看到效果。

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 


<fx:Style> 
    @namespace s "library://ns.adobe.com/flex/spark"; 

    @font-face { 
     fontFamily: verdana; 
     src: url("assets/fonts/verdana.ttf"); 
     embedAsCFF: true; 
     fontWeight: normal; 
    } 

    @font-face { 
     fontFamily: snap; 
     src: url("assets/fonts/snap.ttf"); 
     embedAsCFF: true; 
     fontWeight: normal; 
    } 

</fx:Style> 

<s:Group x="100" y="100"> 
    <s:layout> 
     <s:HorizontalLayout /> 
    </s:layout> 

    <s:Button id="back" 
       includeInLayout="true" 
       label="Back" 
       fontFamily="verdana" 
       fontWeight="normal" 
       height="100%" 
       rotation="270" /> 

    <s:Button id="back2" 
       includeInLayout="true" 
       label="Back" 
       fontFamily="snap" 
       fontWeight="normal" 
       height="100%" 
       rotation="270" /> 
</s:Group> 
</s:Application> 
+1

他的代碼工作對我來說,不同的是你和我提供的路徑字體文件。如果字體文件與應用程序在同一個目錄中,他的代碼就可以工作。 – 2013-02-26 05:43:35