Ændre align på textfield (på timeline)

Forums: 

Fra MadsViktor

 

Hey.

Jeg har et dynamic textfield på min timeline som jeg forgæves har prøvet at ændre alignment på (left,right,center).

Textfieldet kan jeg sagtens tilgå i AS3 - da jeg kan ændre texten i det.

Hvad jeg kan finde i documentation er det det her jeg skal gøre, men det virker ikke:

var textLeft:TextFormat = new TextFormat();
textLeft.align = TextFormatAlign.LEFT;
textFieldNavn.setTextFormat(textLeft);

Jeg har ligeledes prøvet uden held med textLeft.align="LEFT".

Bliver jeg nød til at oprette mit textfield i AS for at kunne ændre alignment?

Mads.

Fra MadsViktor

 

Haha jeg har selvfølgelig netop fundet fejlen :)

setTextFormat skal først bruges efter ens tekst er sat ind i textfieldet - altså som det sidste.

Så hvis nogen har samme problem, er løsningen så:

textFieldNavn.text="Noget tekst her";

var textLeft:TextFormat = new TextFormat();
textLeft.align = TextFormatAlign.LEFT;
textFieldNavn.setTextFormat(textLeft);

Mads.

 

Det virker som om du selv fandt løsningen, god stil :-)

setTextFormat() skal kaldes efter hver ændring af indhold, som det står i beskrivelsen til klassen TextFormat:

"... Use the TextField.defaultTextFormat property to apply formatting BEFORE you add text to the TextField , and the setTextFormat() method to add formatting AFTER you add text to the TextField."

P.S: Tak fordi du selv skrev tilbage med svaret :-)