| Paket | flash.text |
| Klasse | public dynamic class StyleSheet |
| Vererbung | StyleSheet EventDispatcher Object |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wenn Sie auf ein TextField-Objekt Stile anwenden möchten, weisen Sie das StyleSheet-Objekt der Eigenschaft styleSheet eines TextField-Objekts zu.
Hinweis: Ein Textfeld mit einem Stylesheet, das nicht bearbeitet werden kann. Mit anderen Worten: Ein Textfeld, bei dem die type-Eigenschaft auf TextFieldType.INPUT gesetzt ist, wendet das Stylesheet auf den Standardtext eines Textfelds an, aber der Inhalt kann vom Benutzer nicht mehr bearbeitet werden. Ziehen Sie es in Betracht, die TextFormat-Klasse für die Zuweisung von Stilen zu Eingabetextfeldern zu verwenden.
Flash Player unterstützt eine Untergruppe der Eigenschaften aus der ursprünglichen CSS1-Spezifikation (www.w3.org/TR/REC-CSS1). In der folgenden Tabelle finden Sie die unterstützten CSS-Eigenschaften (Cascading Style Sheet) und Werte sowie die entsprechenden ActionScript-Eigenschaftennamen. (Die Namen der einzelnen ActionScript-Eigenschaften werden von der entsprechenden Bezeichnung der CSS-Eigenschaften abgeleitet, wenn der Name einen Bindestrich enthält. Dabei fällt der Bindestrich weg, und das nachfolgende Zeichen wird groß geschrieben.)
| CSS-Eigenschaft | ActionScript-Eigenschaft | Verwendung und unterstützte Werte |
|---|---|---|
color | color | Es werden nur hexadezimale Farbwerte unterstützt. Benannte Farben (wie blue) werden nicht unterstützt. Farben werden im folgenden Format geschrieben: #FF0000. |
display | display | Unterstützte Werte sind inline, block und none. |
font-family | fontFamily | Eine zu verwendende kommagetrennte Schriftenliste, in absteigender Reihenfolge der Präferenz. Es lassen sich beliebige Namen für die Schriftart verwenden. Wenn Sie eine generische Schriftartbezeichnung wählen, wird diese in eine entsprechende Geräteschriftart konvertiert. Die folgenden Schriftkonvertierungen stehen zur Verfügung: mono wird in _typewriter konvertiert, sans-serif in _sans und serif in _serif. |
font-size | fontSize | Nur der numerische Teil des Werts wird verwendet. Einheiten (px, pt) werden nicht geparst; Pixel und Punkte sind gleichwertig. |
font-style | fontStyle | Die Werte normal und italic werden erkannt. |
font-weight | fontWeight | Die Werte normal und bold werden erkannt. |
kerning | kerning | Die Werte true und false werden erkannt. Die Unterschneidung wird nur für eingebettete Schriftarten unterstützt. Gewisse Schriftarten wie beispielsweise Courier New unterstützen die Unterschneidung nicht. Die Unterschneidungs-Eigenschaft wird nur in unter Windows erzeugten SWF-Dateien unterstützt, nicht jedoch in auf Macintosh-Systemen erzeugten SWF-Dateien. Diese SWF-Dateien können jedoch in Nicht-Windows-Versionen von Flash Player wiedergegeben werden. Die Unterschneidung bleibt hierbei erhalten. |
leading | leading | Der Platz, der gleichmäßig zwischen den Zeilen aufgeteilt wird. Der Wert gibt an, wie viele Pixel Leerraum hinter jeder Zeile einzufügen sind. Bei einem negativen Wert wird der Platz zwischen den Zeilen verkleinert. Nur der numerische Teil des Werts wird verwendet. Einheiten (px, pt) werden nicht geparst; Pixel und Punkte sind gleichwertig. |
letter-spacing | letterSpacing | Der Platz, der gleichmäßig zwischen den Zeichen aufgeteilt wird. Der Wert gibt an, wie viele Pixel Leerraum hinter jedem Zeichen einzufügen sind. Bei einem negativen Wert wird der Platz zwischen den Zeichen verkleinert. Nur der numerische Teil des Werts wird verwendet. Einheiten (px, pt) werden nicht geparst; Pixel und Punkte sind gleichwertig. |
margin-left | marginLeft | Nur der numerische Teil des Werts wird verwendet. Einheiten (px, pt) werden nicht geparst; Pixel und Punkte sind gleichwertig. |
margin-right | marginRight | Nur der numerische Teil des Werts wird verwendet. Einheiten (px, pt) werden nicht geparst; Pixel und Punkte sind gleichwertig. |
text-align | textAlign | Die Werte left, center, right und justify werden erkannt. |
text-decoration | textDecoration | Die Werte none und underline werden erkannt. |
text-indent | textIndent | Nur der numerische Teil des Werts wird verwendet. Einheiten (px, pt) werden nicht geparst; Pixel und Punkte sind gleichwertig. |
Siehe auch
| Eigenschaft | Definiert von | ||
|---|---|---|---|
![]() | constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
| Object | |
![]() | prototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
| Object | |
| styleNames : Array
[read-only] Ein Array, das die Namen aller in diesem Stylesheet registrierten Stile als Strings enthält.
| StyleSheet | ||
| Methode | Definiert von | ||
|---|---|---|---|
|
Erstellt ein neues StyleSheet-Objekt.
| StyleSheet | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
| EventDispatcher | |
|
Entfernt sämtliche Stile aus dem StyleSheet-Objekt.
| StyleSheet | ||
![]() |
Sendet ein Ereignis in den Ereignisablauf.
| EventDispatcher | |
|
Gibt eine Kopie des Stilobjekts zurück, das mit dem Stil "styleName" verknüpft ist.
| StyleSheet | ||
![]() |
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
| EventDispatcher | |
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
| Object | |
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
| Object | |
|
Parst die CSS-Datei in CSSText und lädt gleichzeitig das Stylesheet.
| StyleSheet | ||
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
| Object | |
![]() |
Entfernt einen Listener aus dem EventDispatcher-Objekt.
| EventDispatcher | |
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
| Object | |
|
Fügt dem StyleSheet-Objekt einen neuen Stil mit dem angegebenen Namen hinzu.
| StyleSheet | ||
![]() |
Gibt das angegebene Objekt als String zurück.
| Object | |
|
Erweitert die CSS-Parsingfähigkeit.
| StyleSheet | ||
![]() |
Gibt den Grundwert des angegebenen Objekts zurück.
| Object | |
![]() |
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner vorangegangenen Elementen ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
| EventDispatcher | |
| styleNames | Eigenschaft |
styleNames:Array [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Ein Array, das die Namen aller in diesem Stylesheet registrierten Stile als Strings enthält.
public function get styleNames():Array | StyleSheet | () | Konstruktor |
public function StyleSheet()
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erstellt ein neues StyleSheet-Objekt.
Siehe auch
| clear | () | Methode |
public function clear():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Entfernt sämtliche Stile aus dem StyleSheet-Objekt.
| getStyle | () | Methode |
public function getStyle(styleName:String):Object
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt eine Kopie des Stilobjekts zurück, das mit dem Stil styleName verknüpft ist. Wenn kein Stilobjekt mit styleName verknüpft ist, wird null zurückgegeben.
Parameter
styleName:String — Ein String, der den Namen des abzurufenden Stils angibt.
|
Object — Ein Objekt.
|
Siehe auch
transform() veranschaulicht.
| parseCSS | () | Methode |
public function parseCSS(CSSText:String):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Parst die CSS-Datei in CSSText und lädt gleichzeitig das Stylesheet. Wenn sich ein Stil in CSSText bereits im styleSheet-Objekt befindet, behält dieses seine styleSheet-Eigenschaften bei, und nur die Eigenschaften in CSSText werden dem styleSheet hinzugefügt oder geändert.
Wenn Sie die native CSS-Parsingfähigkeit erweitern möchten, können Sie diese Methode übersteuern, indem Sie eine Unterklasse der StyleSheet-Klasse erstellen.
Parameter
CSSText:String — Der zu parsende CSS-Text (ein String).
|
Im Konstruktor wird ein mehrzeiliges Textfeld erstellt, und der Inhalt wird auf einen HTML-formatierten String festgelegt. (Beachten Sie, dass die HTML-Tags "heading" und "span" nicht dargestellt werden, bevor der CSS-Stil angewendet wird.) Es wird ein URLRequest-Objekt erstellt, um den Speicherort der CSS-Datei anzugeben, die sich in diesem Beispiel im selben Verzeichnis wie die SWF-Datei befindet. Die Datei wird mit einem URLLoader-Objekt geladen. Zwei Ereignis-Listener werden für das URLLoader-Objekt loader hinzugefügt. Wenn ein IO-Fehler auftritt, wird die errorHandler()-Methode aufgerufen, die eine Fehlermeldung im Textfeld anzeigt. Nachdem alle Daten empfangen und in die data-Eigenschaft des URLLoader-Objekts loader platziert wurden, wird die loaderCompleteHandler()-Methode aufgerufen, die die CCS-Stile von den aus der Datei geladenen Daten parst und damit das StyleSheet-Objekt sheet füllt.
Wenn der Benutzer auf das Textfeld klickt, wird die Methode clickHandler() aufgerufen. Mit der if-Anweisung in der clickHandler()-Methode wird überprüft, ob der Dateiladevorgang abgeschlossen wurde, bevor das Stylesheet auf das Textfeld angewendet wird. Damit das Stylesheet wirksam wird, muss die htmlText-Eigenschaft dem Inhalt neu zugewiesen werden, nachdem das Stylesheet dem Textfeld zugewiesen wurde. Die Werte der CSS-Eigenschaft font-family und der color-Eigenschaft für das Heading-Tag werden ebenfalls dem Inhalt des Textfelds angehängt. (Die Werte dieser Eigenschaften sind "undefined", wenn keine Stylesheet-Werte wirksam sind.)
Nachstehend finden Sie ein Beispiel für Inhalt einer CSS-Datei, die mit diesem Beispiel verwendet werden kann. Bevor Sie dieses Beispiel ausführen, erstellen Sie eine Textdatei, kopieren Sie den nachstehenden CSS-Inhalt in diese Datei, speichern Sie sie unter dem Dateinamen test.css und legen Sie sie im selben Verzeichnis wie die SWF-Datei ab.
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 | () | Methode |
public function setStyle(styleName:String, styleObject:Object):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Fügt dem StyleSheet-Objekt einen neuen Stil mit dem angegebenen Namen hinzu. Der benannte Stil wird hinzugefügt, wenn er nicht bereits im Stylesheet vorhanden ist. Der benannte Stil wird ersetzt, wenn er bereits im Stylesheet vorhanden ist. Wenn der styleObject-Parameter auf null gesetzt ist, wird der benannte Stil entfernt.
Flash Player erstellt eine Kopie des Stilobjekts, das dieser Methode übergeben wird.
Eine Liste der unterstützten Stile finden Sie in der Tabelle zur Beschreibung der StyleSheet-Klasse.
Parameter
styleName:String — Ein String, der den Namen des Stils angibt, der dem Stylesheet hinzugefügt werden soll.
|
|
styleObject:Object — Ein Objekt, das den Stil beschreibt (oder null).
|
| transform | () | Methode |
public function transform(formatObject:Object):TextFormat
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erweitert die CSS-Parsingfähigkeit. Erfahrene Entwickler können diese Methode durch Erweitern der StyleSheet-Klasse überschreiben.
Parameter
formatObject:Object — Ein Objekt, das den Stil beschreibt und das Stilregeln als Objekteigenschaften (bzw. null) enthält.
|
TextFormat — Ein TextFormat-Objekt, das das Ergebnis der Zuordnung von CSS-Regeln zu Textformateigenschaften enthält.
|
Siehe auch
transform()-Methode ein Stil aus einer CSS-Datei auf ein TextFormat-Objekt für ein Textfeld angewendet.
CSS-Stile werden im Allgemeinen für die Formatierung von HTML-Inhalten verwendet. Mit der transform()-Methode eines StyleSheet-Objekts können bestimmte CSS-Stile jedoch einem TextFormat-Objekt zugewiesen und dann auf ein beliebiges Textfeld angewendet werden.
Die URLRequest- und URLLoader-Objekte werden zum Laden der CSS-Datei verwendet. Es wird ein Ereignis-Listener für das Event.COMPLETE-Ereignis hinzugefügt, das eintritt, nachdem alle Daten empfangen und in der data-Eigenschaft des URLLoader-Objekts loader platziert wurden. Die loaderCompleteHandler()-Methode parst dann den CSS aus den aus der Datei geladenen Daten und füllt das StyleSheet-Objekt sheet mit den Stilen. Die getStyle()-Methode des Stylesheets ruft die HTML-Absatzstile ab, die dann mit der transform()-Methode des Stylesheets dem TextFormat-Objekt cssFormat zugewiesen werden. Schließlich wird das Standardtextformat des Textfelds inputField auf das neue Textformat cssFormat gesetzt.
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);
}
}
}
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/text/StyleSheet.html