Dunque, ho un textField creato dinamicamente che deve avere una larghezza fissa. Il testo contenuto in alcuni casi eccede la larghezza del textField. Nei casi in cui eccede vorrei attivare un listener che visualizzi la parte finale del testo.
es.:
testo = " il mio testo è troppo lungo"
visualizzazione base = |il mio testo è|
passandoci sopra (visto che eccede la larghezza) vorrei che visualizzasse: | è troppo lungo|.
Ovviamente cambiando l'allineamento del testo non funziona. Usando l'autosize si allarga il campo (cosa non voluta).
Il testo assegnato al textBox deve rimanere lo stesso, deve solo partire la visualizzazione da destra mostrando gli ultimi caratteri.
Codice PHP:private var myTextField_2:TextField = new TextField();
private var originalFormat:TextFormat = new TextFormat();
private var newFormat:TextFormat = new TextFormat();
originalFormat = myTextField.getTextFormat(0);
newFormat.align = TextFormatAlign.RIGHT;
myTextField_2.width = 80;
myTextField_2.height = 20;
myTextField_2.appendText("frase moolto lunga per il textField");
this.addChild(myTextField_2);
var lungh:int = myTextField_2.text.length;
var lastShowedChr:int = myTextField_2.getCharIndexAtPoint(myTextField_2.width-3, myTextField_2.height/2);
if (lungh > lastShowedChr ) {
myTextField_2.border = true;
myTextField_2.addEventListener(MouseEvent.MOUSE_OVER, clickHandler2);
myTextField_2.addEventListener(MouseEvent.MOUSE_OUT, clickHandler2);
}
private function clickHandler2(e:MouseEvent):void {
if (myTextField_2.getTextFormat(1).align == originalFormat.align) {
myTextField_2.setTextFormat(newFormat);
}else {
myTextField_2.setTextFormat(originalFormat);
}
}

Rispondi quotando