2010-06-11 13 views
2

J'essaye d'ajouter une icône différente à chacun de mes boutons. J'ai mon dossier de peau prêt mais je ne suis pas sûr si je dois créer une classe différente de peau pour chaque bouton. Cela semble inefficace. Aucune suggestion?Ajouter une icône sur la peau du bouton spark

<s:Button id="pass" 
    width="110" 
    height="35" 
    fontWeight="bold" 
    fontSize="12" 
    fontFamily="arial" 
    label="Past Track" 
    click="pass_clickHandler(event)" 
    skinClass="skins.CustomSkin"/>  
<s:Button id="future" 
    width="110" 
    height="20" 
    fontWeight="bold" 
    fontSize="12" 
    fontFamily="arial" 
    label="Future Plan" 
    click="future_clickHandler(event)" 
    skinClass="skins.CustomSkin"/> 

La peau:

<!-- layer 2: fill --> 
<!--- @private --> 
<s:Rect id="fill" left="1" right="1" top="1" bottom="1" radiusX="2"> 
    <s:fill> 
     <s:LinearGradient rotation="90"> 
      <s:GradientEntry color="#304fd7" 
          color.over="#4b6bf6" 
          color.down="0xAAAAAA" 
          alpha="0.85" /> 
      <s:GradientEntry color="#1f38a3" 
          color.over="#3653cf" 
          color.down="0x929496" 
          alpha="0.85" /> 
     </s:LinearGradient> 
    </s:fill> 
</s:Rect> 

<!-- icon --> // I could add my icon here but that would make me create 
       // a different icon image for different button 

Répondre

3

Installer 10.2 Flash Player et stable Hero SDK (4.5.0.19786). Vous pouvez ensuite utiliser la propriété d'icône du bouton Spark.

http://labs.adobe.com/downloads/flashplayer10.html http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+Hero

Note pour votre projet, vous devrez cibler spécifiquement la version 10.2.0 lecteur. Sauf s'il s'agit d'un problème avec mon environnement, l'utilisation de l'option 'Utiliser la version minimale requise par le Flex SDK' dans les paramètres du compilateur de projet de Flash Builder ne fonctionne pas avec ce 'sdk' 'stable'. Je ne comprends pas pourquoi des choses comme ça ne se comportent pas comme vous le pensez. Si quelqu'un sait où FB trouve cette version minimum du joueur s'il vous plaît entrer. Je vois ce qui suit dans le fichier flex-config.xml (dans le dossier frameworks de sdk):

< - Spécifie la version minimale du lecteur qui fonctionnera le fichier SWF compilé. - >
< cible joueur > 10.2.0 </target-joueur >

Flash Builder semble ignorer, comme essayant toujours de regarder dans le libs/lecteur/10.1 dossier lorsque vous utilisez la version minimale requise paramètre dans les propriétés du projet. C'est un problème majeur avec Adobe, et il semble que chaque version présente des pièges mineurs qui finissent par frustrer les gens au point d'abandonner Flash comme une plate-forme viable avec laquelle développer. S'il y a un correctif pour cette adobe, s'il vous plaît aidez-nous et publiez-le ici.

+0

Le 4.5.0.19786 est une solution partielle. Dans Hero SDK (4.5.0.19786), il ne fonctionne pas correctement si vous spécifiez skin pour le bouton pour lequel vous voulez utiliser l'icône, en plus 4.5.0.19786 n'a pas de partie mobile. Si vous avez des skins, je vous recommande d'utiliser votre skin personnalisé à la place qui peut rendre l'icône. –