2010-04-05 5 views
0
package { 
import mx.controls.LinkButton; 
import flash.text.TextLineMetrics; 

public class multiLineLinkButton extends LinkButton { 
     override protected function createChildren():void { 
      super.createChildren(); 
      if (textField){ 
       textField.wordWrap = true; 
       textField.multiline = true; 

      } 
     } 

     override public function measureText(s:String):TextLineMetrics { 
      textField.text = s; 
      var lineMetrics:TextLineMetrics = textField.getLineMetrics(0); 
      lineMetrics.width = textField.textWidth; 
      lineMetrics.height = textField.textHeight; 


      return lineMetrics; 
     } 
} 

mon problème ici est que si vous utilisez ce composant, vous verrez que le texte est regroupé dans une très petite zone. Il ne remplit pas toute la largeur du linkButton. quelquun sait pourquoi cela se passe?Comment faire pour que ce composant personnalisé linkButton fonctionne?

Répondre

0

Le conteneur n'est probablement pas assez large. Définissez le conteneur percentWidth sur 100 et vérifiez s'il résout votre problème. Vous pouvez également définir le LinkButton à une largeur fixe et voir si cela aide.

+0

quelque chose comme ça? 'textField.percentWidth = 100;' dans le composant personnalisé? cela ne semble pas fonctionner. – Adam

+0

Non, j'ai dit mettre le pourcentageWidth sur le conteneur. Essayez de définir la propriété width de LinkButton sur 80 ou 100, juste pour voir si vous pouvez en obtenir une largeur. – Robusto

+0

lorsque j'ajoute manuellement une valeur de largeur au linkButton, cela lui donne les bonnes dimensions, mais le texte est encore groupé. – Adam

Questions connexes