2010-12-13 6 views
0

Outils: Air 2, Flex SDK 4.1, Flash Builder, Halo ensemble composant (NO Spark utilisé du tout)Flex - Flash Builder Création ne montrant les polices incorporées correctement

polices fonctionnent parfaitement lorsque en cours d'exécution l'application, mais pas en vue de conception. Cela rend efficacement vue de la conception INUTILES, car il est impossible de positionner les composants correctement ou des étiquettes sans savoir ce que la taille réelle est (il change en fonction de la police ...)

...

CSS inclus dans le composant racine comme ceci:

<fx:Style source="style.css"/> 

fichier CSS:

/* CSS file */ 
@namespace mx "library://ns.adobe.com/flex/mx"; 

global { 
    font-family:Segoe; 
    font-size:14; 
    color:#FFFFFF; 
} 

mx|Application, mx|VBox, mx|HBox, mx|Canvas { 
    font-family:Segoe; 
    background-color:#660000; 
    border-color:#222277; 
    color:#FFFFFF; 
} 

mx|Button { 
    font-family:Segoe; 
    fill-colors:#660000, #660000, #660000, #660000; 
    color:#FFFFFF; 
} 
... 

Fait intéressant (ou buggil y?), lorsque j'essaie de coller la balise de style dans un sous-composant (inférieur au conteneur de niveau supérieur), j'obtiens un tas d'avertissements dans la vue de l'éditeur de sous-composants indiquant que les sélecteurs de type CSS ne sont pas pris en charge. la feuille de style).
Pourtant, ils fonctionnent lorsque l'application est exécutée. Huh?

Voici comment j'intégrer les polices dans le conteneur de niveau racine:

[Embed(source="/assets/segoepr.ttf", fontName="Segoe", mimeType="application/x-font-truetype", embedAsCFF='false')] 
public static const font:Class; 

[Embed(source="/assets/segoeprb.ttf", fontName="Segoe", mimeType="application/x-font-truetype", fontWeight="bold", embedAsCFF='false')] 
public static const font2:Class; 

Alors, est-il un moyen d'obtenir des polices intégrées pour travailler en vue de la conception ou quoi?

Répondre

0

Je ne sais pas si cela aide, mais ça vaut le coup. Vous n'avez pas besoin d'intégrer les polices avec la balise Meta si vous utilisez css. Essayez de supprimer l'incorporation de la classe de police et ajoutez l'incorporation dans le fichier css. Cela peut fonctionner mieux avec la vue de conception dans Flex.

// using system font 
@font-face { 
    src: local("Myriad Web Pro"); 
    fontFamily: myFontFamily; 
    advancedAntiAliasing: true; 
} 

// using url to font file 
@font-face { 
    src: url("../assets/MyriadWebPro.ttf"); 
    fontFamily: myFontFamily; 
    advancedAntiAliasing: true; 
} 

Essayez ce code en mode Création:

<?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"; 
     @namespace mx "library://ns.adobe.com/flex/mx"; 

     @font-face { 
      src: url("Arial Bold.ttf"); 
      fontFamily: "Arial Bold"; 
      embedAsCff: true; 
     } 


     s|Application 
     { 
      color: #000000; 
      fontFamily: "Arial Bold"; 
      font-size: 48; 
     } 

    </fx:Style> 

    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 

    <s:Label text="This is the first label" width="488" x="43" y="39" height="54"/> 
    <s:Label text="This is the second label" width="488" x="45" y="129" height="54" rotation="-4"/> 
    <s:Label text="This is the third label" width="488" x="43" y="208" height="54"/> 

</s:Application> 
+0

Pas encore bon :(Personne n'utilise réellement la vue de conception? Dans Flex 3 je ne pourrais pas survivre sans cela – Manius

+0

Je l'ai eu pour travailler. Mise à jour ma réponse avec mon exemple de code. – Mattias

0

Il semble que la police Verdana est prévue pour l'étiquette et les zones de texte par défaut et si nous n'intégrons pas, la vue de conception ne prend pas en compte d'autres polices incorporées.

Veuillez incorporer la police Verdana et vous devriez être en mesure de voir les étiquettes et les zones de texte en mode Création.

@font-face { 
    src: local("Verdana"); 
    font-family: verdana; 
    font-weight: normal; 
} 

Espérons que cela aide.

Questions connexes