Domanda

Creo un TextArea in ActionScript:

var textArea:TextArea = new TextArea();

Voglio che abbia uno sfondo nero. Ho provato

textArea.setStyle("backgroundColor", 0x000000);

e ho provato

textArea.opaqueBackground = 0x000000;

ma TextArea rimane bianco. Cosa devo fare?

È stato utile?

Soluzione

TextArea è un componente dell'interfaccia utente creato da TextField e altre classi incorporate Flash e componenti UIC. Come con la maggior parte dei componenti dell'interfaccia utente di Adobe, nulla è come sembra quando si impostano le proprietà. Per impostare il colore dell'area dietro il testo in TextArea, devi effettivamente impostare lo sfondo opaco del suo TextField interno usando la proprietà textField:

var textArea:TextArea = new TextArea()
textArea.textField.opaqueBackground = 0x000000;

Naturalmente ora che lo sfondo è nero, anche il testo non può essere nero, quindi cambiamo colore con un nuovo TextFormat:

var myFormat:TextFormat = new TextFormat();
myFormat.color = 0xffffff;
textArea.setStyle("textFormat",myFormat);

quindi imposta il testo e aggiungi allo stage:

textArea.text = "hello";
addChild(textArea); 

Inoltre, se vuoi un po 'più di controllo, qui c'è una bella classe di estensioni che risolve molti problemi con TextArea:

http://blog.bodurov.com/Post.aspx?postID=14

Altri suggerimenti

Ecco cosa ha funzionato per me, che ho scoperto da solo dopo aver esaminato la documentazione AC3 aggiornata

TextArea - Colore di sfondo, 2011 AC3

Mi ha preso per sempre per rendermi conto che in AC3, a partire da ora (2011), ti hanno ufficialmente detto di usare spark TextArea invece di mx

( s: TextArea anziché mx: TextArea )

<s:TextArea
id="joy_text"
color="0xFF0000"
contentBackgroundColor="0x000000"
text = "joy"
/>

Nota

color = font color

assicurati di includere nei tuoi spazi dei nomi: (nella parte superiore del file .mxml)

xmlns:s="library://ns.adobe.com/flex/spark"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top