| Pacchetto | flash.text |
| Classe | public dynamic class StyleSheet |
| Ereditarietà | StyleSheet EventDispatcher Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Per applicare gli stili a un oggetto TextField, assegnare l'oggetto StyleSheet alla proprietà styleSheet dell'oggetto TextField.
Nota: un campo di testo con un foglio di stile non è modificabile. In altre parole, un campo di testo la cui proprietà type è impostata su TextFieldType.INPUT applica la formattazione dell'oggetto StyleSheet al testo predefinito del campo, ma il contenuto non può più essere modificato dall'utente. Valutare come alternativa l'uso della classe TextFormat per assegnare degli stili ai campi di testo di input.
Flash Player supporta un sottoinsieme di proprietà della specifica CSS1 originale (www.w3.org/TR/REC-CSS1). Nella tabella seguente sono riportati le proprietà e i valori CSS (Cascading Style Sheet) supportati e i nomi di proprietà di ActionScript corrispondenti. Ogni nome di proprietà di ActionScript deriva dal nome della proprietà CSS corrispondente; se il nome contiene un trattino, questo viene omesso e il carattere successivo è in maiuscolo.
| Proprietà CSS | Proprietà ActionScript | Uso e valori supportati |
|---|---|---|
color | color | Sono supportati solo i valori colore esadecimali. Non sono supportati i nomi dei colori, ad esempio blue. I colori devono essere scritti nel seguente formato: #FF0000;. |
display | display | Sono supportati i valori inline, block e none. |
font-family | fontFamily | Elenco di caratteri utilizzabili separati da una virgola, in ordine discendente di preferenza. È possibile utilizzare qualsiasi nome della famiglia di caratteri. Se si specifica un nome di carattere generico, questo viene convertito in un carattere di dispositivo adeguato. Sono disponibili le seguenti conversioni di caratteri: mono viene convertito in _typewriter, sans-serif viene convertito in _sans e serif diviene _serif. |
font-size | fontSize | Viene utilizzata solo la parte numerica del valore. Le unità (px, pt) non vengono analizzate; i pixel e i punti sono equivalenti. |
font-style | fontStyle | I valori riconosciuti sono normal e italic. |
font-weight | fontWeight | I valori riconosciuti sono normal e bold. |
crenatura | crenatura | I valori riconosciuti sono true e false. La crenatura è supportata solo per i caratteri incorporati. Alcuni caratteri, ad esempio Courier New, non supportano la crenatura. La proprietà di crenatura è supportata solo nei file SWF creati in Windows e non in quelli creati su Macintosh. Questi file SWF possono comunque essere riprodotti con versioni non Windows di Flash Player, e la crenatura risulterà visibile. |
leading | leading | Quantità di spazio uniformemente distribuita tra le righe. Il valore specifica il numero di pixel aggiunti dopo ogni riga. Un valore negativo comprime lo spazio tra le righe. Viene utilizzata solo la parte numerica del valore. Le unità (px, pt) non vengono analizzate; i pixel e i punti sono equivalenti. |
letter-spacing | letterSpacing | Quantità di spazio uniformemente distribuita tra i caratteri. Il valore specifica il numero di pixel aggiunti dopo ogni carattere. Un valore negativo comprime lo spazio tra i caratteri. Viene utilizzata solo la parte numerica del valore. Le unità (px, pt) non vengono analizzate; i pixel e i punti sono equivalenti. |
margin-left | marginLeft | Viene utilizzata solo la parte numerica del valore. Le unità (px, pt) non vengono analizzate; i pixel e i punti sono equivalenti. |
margin-right | marginRight | Viene utilizzata solo la parte numerica del valore. Le unità (px, pt) non vengono analizzate; i pixel e i punti sono equivalenti. |
text-align | textAlign | I valori riconosciuti sono left, center, right e justify. |
text-decoration | textDecoration | I valori riconosciuti sono none e underline. |
text-indent | textIndent | Viene utilizzata solo la parte numerica del valore. Le unità (px, pt) non vengono analizzate; i pixel e i punti sono equivalenti. |
Vedere anche
| Proprietà | Definito da | ||
|---|---|---|---|
![]() | constructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
| Object | |
![]() | prototype: Object
[statico]
Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
| Object | |
| styleNames: Array
[sola lettura]
Un array che contiene i nomi (sotto forma di stringhe) di tutti gli stili registrati nel foglio di stile.
| StyleSheet | ||
| Metodo | Definito da | ||
|---|---|---|---|
|
Crea un nuovo oggetto StyleSheet.
| StyleSheet | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
| EventDispatcher | |
|
Rimuove tutti gli stili dall'oggetto StyleSheet.
| StyleSheet | ||
![]() |
Invia un evento nel flusso di eventi.
| EventDispatcher | |
|
Restituisce una copia dell'oggetto stile associato allo stile denominato styleName.
| StyleSheet | ||
![]() |
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
| EventDispatcher | |
![]() |
Indica se per un oggetto è definita una proprietà specifica.
| Object | |
![]() |
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
| Object | |
|
Analizza il file CSS in CSSText e lo carica con il foglio di stile.
| StyleSheet | ||
![]() |
Indica se la proprietà specificata esiste ed è enumerabile.
| Object | |
![]() |
Rimuove un listener dall'oggetto EventDispatcher.
| EventDispatcher | |
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
| Object | |
|
Aggiunge all'oggetto foglio di stile un nuovo stile con il nome specificato.
| StyleSheet | ||
![]() |
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
| Object | |
|
Estende la funzione di analisi dei file CSS.
| StyleSheet | ||
![]() |
Restituisce il valore di base dell'oggetto specificato.
| Object | |
![]() |
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
| EventDispatcher | |
| styleNames | proprietà |
styleNames:Array [sola lettura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Un array che contiene i nomi (sotto forma di stringhe) di tutti gli stili registrati nel foglio di stile.
public function get styleNames():Array
| StyleSheet | () | Funzione di costruzione |
public function StyleSheet()
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Crea un nuovo oggetto StyleSheet.
Vedere anche
| clear | () | metodo |
public function clear():void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Rimuove tutti gli stili dall'oggetto StyleSheet.
| getStyle | () | metodo |
public function getStyle(styleName:String):Object
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Restituisce una copia dell'oggetto stile associato allo stile denominato styleName. Se a styleName non è associato alcun oggetto stile, viene restituito il valore null.
Parametri
styleName:String — Una stringa che specifica il nome dello stile da recuperare.
|
Object — Un oggetto.
|
Vedere anche
getStyle(), fare riferimento all'esempio relativo ai metodi parseCSS() o transform().
| parseCSS | () | metodo |
public function parseCSS(CSSText:String):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Analizza il file CSS in CSSText e lo carica con il foglio di stile. Se uno stile in CSSText è già in styleSheet, le proprietà in styleSheet vengono mantenute, e solo quelle in CSSText vengono aggiunte o modificate in styleSheet.
Per estendere la funzione di analisi dei file CSS, è possibile ignorare questo metodo creando una sottoclasse della classe StyleSheet.
Parametri
CSSText:String — Il testo CSS da analizzare (una stringa).
|
Nella funzione di costruzione, viene creato un campo di testo multiriga e il suo contenuto viene applicato ad una stringa con formato HTML. Si noti che i tag HTML heading e span non verranno rappresentati prima dell'applicazione dello stile CSS. Per identificare la posizione del file CSS che, in questo esempio, si trova nella stessa directory del file SWF, viene creato un oggetto URLRequest Il file viene caricato con un oggetto URLLoader. Vengono poi aggiunti due listener di evento per l'oggetto URLLoader loader. Se si verifica un evento IO_ERROR, viene richiamato il metodo errorHandler() il quale scrive un messaggio di errore nel campo di testo. Quando tutti i dati vengono ricevuti e situati nella proprietà dati dell'oggetto URLLoader loader, viene richiamato il metodo loaderCompleteHandler() il quale analizza gli stili CSS attraverso i dati caricati dal file e li usa per riempire l'oggetto StyleSheet StyleSheet sheet.
Quando l'utente fa clic sul campo di testo, viene richiamato il metodo clickHandler(). Prima di applicare il foglio di stile al campo di testo la dichiarazione if contenuta nel metodo clickHandler() effettua un controllo per assicurarsi che il caricamento del file sia completo. Dopo l'assegnazione del foglio di stile al campo di testo, affinché il foglio di stile venga applicato, la proprietà htmlText deve essere riassegnata al contenuto. Anche i valori delle proprietà font-family e color relative all'intestazione del CSS vengono allegate al contenuto del campo di testo. I valori di tali proprietà non saranno definiti se i valori del foglio di stile non sono attivi.
Di seguito viene riportato il contenuto di un file CSS che può essere utilizzato con il codice fornito in questo esempio. Prima di eseguire il codice dell'esempio occorre creare un file di testo nel quale copiare il seguente contenuto CSS, salvarlo con il nome test.css e quindi inserirlo nella stessa directory del file SWF.
p { font-family: Times New Roman, Times, _serif; font-size: 14; font-Style: italic; margin-left: 10; } h1 { font-family: Arial, Helvetica, _sans; font-size: 20; font-weight: bold; } .bluetext { color: #0000CC; }
package {
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.StyleSheet;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.IOErrorEvent;
import flash.events.Event;
import flash.events.MouseEvent;
public class StyleSheet_parseCSSExample extends Sprite {
private var loader:URLLoader = new URLLoader();
private var field:TextField = new TextField();
private var exampleText:String = "<h1>This is a headline</h1>"
+ "<p>This is a line of text. <span class='bluetext'>"
+ "This line of text is colored blue.</span></p>";
private var sheet:StyleSheet = new StyleSheet();
private var cssReady:Boolean = false;
public function StyleSheet_parseCSSExample() {
field.x = 10;
field.y = 10;
field.background = true;
field.multiline = true;
field.autoSize = TextFieldAutoSize.LEFT;
field.htmlText = exampleText;
field.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(field);
var req:URLRequest = new URLRequest("test.css");
loader.load(req);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
}
public function errorHandler(e:IOErrorEvent):void {
field.htmlText = "Couldn't load the style sheet file.";
}
public function loaderCompleteHandler(event:Event):void {
sheet.parseCSS(loader.data);
cssReady = true;
}
public function clickHandler(e:MouseEvent):void {
if (cssReady) {
field.styleSheet = sheet;
field.htmlText = exampleText;
var style:Object = sheet.getStyle("h1");
field.htmlText += "<p>Headline font-family is: " + style.fontFamily + "</p>";
field.htmlText += "<p>Headline color is: " + style.color + "</p>";
} else {
field.htmlText = "Couldn't apply the CSS styles.";
}
}
}
}
| setStyle | () | metodo |
public function setStyle(styleName:String, styleObject:Object):void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Aggiunge all'oggetto foglio di stile un nuovo stile con il nome specificato. Se non esiste già nel foglio di stile, lo stile con nome viene aggiunto. Se esiste già nel foglio di stile, lo stile con nome viene sostituito. Se il parametro styleObject è null, lo stile con nome viene rimosso.
Flash Player crea una copia dell'oggetto stile che si passa a questo metodo.
L'elenco degli stili supportati è riportato nella tabella della descrizione della classe StyleSheet.
Parametri
styleName:String — Una stringa che specifica il nome dello stile da aggiungere al foglio di stile.
|
|
styleObject:Object — Un oggetto che descrive lo stile, oppure null.
|
| transform | () | metodo |
public function transform(formatObject:Object):TextFormat
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Estende la funzione di analisi dei file CSS. Gli sviluppatori avanzati possono ignorare questo metodo estendendo la classe StyleSheet.
Parametri
formatObject:Object — Un oggetto che descrive lo stile, contenente regole di stile sotto forma di proprietà dell'oggetto, oppure null.
|
TextFormat — Un oggetto TextFormat che contiene il risultato della mappatura delle regole CSS alle proprietà di formattazione del testo.
|
Vedere anche
transform() per applicare uno stile contenuto in un file CSS a un oggetto TextFormat relativo a un campo di testo.
Gli stili CSS vengono generalmente utilizzati per formattare dei contenuti HTML. Tuttavia attraverso il metodo transform() di un oggetto StyleSheet, alcuni stili CSS possono essere assegnati a un oggetto TextFormat e quindi applicati a qualsiasi campo di testo.
Per caricare il file CSS vengono utilizzati gli oggetti URLRequest e URLLoader. Per l'evento Event.COMPLETE viene aggiunto un listener di eventi, che si attiva ogniqualvolta i dati vengono ricevuti e situati nella proprietà dati dell'oggetto URLLoader loader. Successivamente il metodo loaderCompleteHandler() analizza il CSS attraverso i dati caricati dal file e riempie l'oggetto StyleSheet sheet con gli stili in esso contenuti. Il metodo getStyle() del foglio di stile recupera gli stili di paragrafo HTML, i quali vengono poi assegnati all'oggetto TextFormat cssFormat utilizzando il metodo transform() del foglio di stile. Infine il formato predefinito del testo del campo di testo inputField viene sostituito dal nuovo formato cssFormat.
package {
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.StyleSheet;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldType;
import flash.events.IOErrorEvent;
import flash.events.Event;
public class StyleSheet_transformExample extends Sprite {
private var loader:URLLoader = new URLLoader();
private var inputField:TextField = new TextField();
private var sheet:StyleSheet = new StyleSheet();
public function StyleSheet_transformExample() {
inputField.x = 10;
inputField.y = 10;
inputField.background = true;
inputField.width = 300;
inputField.height = 200;
inputField.wordWrap = true;
inputField.multiline = true;
inputField.type = TextFieldType.INPUT;
addChild(inputField);
var req:URLRequest = new URLRequest("test.css");
loader.load(req);
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
}
public function errorHandler(e:IOErrorEvent):void {
inputField.htmlText = "Couldn't load the style sheet file.";
}
public function loaderCompleteHandler(event:Event):void {
var cssFormat:TextFormat = new TextFormat();
sheet.parseCSS(loader.data);
var style:Object = sheet.getStyle("p");
cssFormat = sheet.transform(style);
inputField.defaultTextFormat = cssFormat;
}
}
}
package {
import flash.display.Sprite;
import flash.text.StyleSheet;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class StyleSheetExample extends Sprite {
public function StyleSheetExample() {
var style:StyleSheet = new StyleSheet();
var heading:Object = new Object();
heading.fontWeight = "bold";
heading.color = "#FF0000";
var body:Object = new Object();
body.fontStyle = "italic";
style.setStyle(".heading", heading);
style.setStyle("body", body);
var label:TextField = new TextField();
label.styleSheet = style;
label.htmlText = "<body><span class='heading'>Hello </span>World...</body>";
addChild(label);
}
}
}
Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti
Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/text/StyleSheet.html