Forums Développement Multimédia

Aller au contenu

[Résolu] Panel title multiline

Panel Title Multiline wordwrap CODE Actionscript

2 réponses à ce sujet

#1 okp

    Ceinture Jaune

  • Members
  • PipPip
  • 24 messages

Posté 06 March 2013 - 17:45 PM

Bonjour à tous,

j'essaie désespérément de rendre les titres de mes panels multilignes.
J'ai réussi en étendant la classe Panel (voir ci-dessous, code récupéré sur un forum)

2 problèmes avec ce code:
- La "barre" du header n'est pas agrandie en fonction de la hauteur du texte.
- Dès que mon titre dépasse 3 lignes, le texte disparait...

Des idées ?
Merci !


package
{
import mx.containers.Panel;

public class multilinePanel extends Panel
{
  // Hard coded padding above and below title text. Should be broken-out
  // into a style.
  private static const HEADER_PADDING : int = 6;

  protected override function createChildren():void
  {
   super.createChildren();
 
   titleTextField.wordWrap = true;
  }

  protected override function getHeaderHeight():Number
  {
   // Set the header height dynamically based on the height of the title
   return titleTextField.measuredHeight + HEADER_PADDING * 2;
  }

  protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
  {
   super.updateDisplayList( unscaledWidth, unscaledHeight );
 
   // Set the height of the title to fit all text
   titleTextField.height = titleTextField.measuredHeight;
 
   // Position the title
   titleTextField.y = HEADER_PADDING;
  }
}
}
 


#2 okp

    Ceinture Jaune

  • Members
  • PipPip
  • 24 messages

Posté 07 March 2013 - 11:52 AM

Bon en fait, j'ai fait autrement, plus simple.
J'ai créé une skin basé sur Panel, et supprimé maxdisplayedlines="0"

#3 Tonic

    Plop

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5712 messages

Posté 08 March 2013 - 10:25 AM

Sinon pour faire plus simple, il te suffit d'overrider la méthode partAdded qui défini l'ajout d'une skinPart, de checker si c'est la skinPart titleDiplay qui est ajouté, et à ce moment là modifier sa propriété maxdisplayedlines.

++ ^^



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)