ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.text 

TextLineMetrics  - AS3

Paketflash.text
Klassepublic class TextLineMetrics
VererbungTextLineMetrics Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die TextLineMetrics-Klasse enthält Informationen zur Textposition und zu den Maßen einer Textzeile innerhalb eines Textfelds. Alle Maße werden in Pixeln angegeben. Objekte dieser Klasse werden von der Methode flash.text.TextField.getLineMetrics() zurückgegeben.

Die Maße im Zusammenhang mit dem Textfeld, das die Textzeile enthält (z. B. das Maß „Textfeldhöhe“ im Diagramm), finden Sie unter „flash.text.TextField“.

Aus dem folgenden Diagramm gehen die Punkte und Maße eines Textfelds und der Textzeile innerhalb des Textfelds hervor:

Ein Bild zur Verdeutlichung von Textkriterien

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  ascent : Number
Die Oberlänge des Texts ist die Länge von der Grundlinie bis zur Oberkante der Zeile in Pixel.
TextLineMetrics
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  descent : Number
Die Unterlänge des Texts ist die Länge von der Grundlinie bis zur Unterkante der Zeile in Pixel.
TextLineMetrics
  height : Number
Die Höhe des Texts in den ausgewählten Zeilen (nicht unbedingt des gesamten Texts) in Pixel.
TextLineMetrics
  leading : Number
Der Zeilenabstand ist der vertikale Abstand zwischen den Textzeilen.
TextLineMetrics
  width : Number
Der Wert für die Breite ist die Textbreite in den ausgewählten Zeilen (nicht unbedingt des gesamten Texts) in Pixel.
TextLineMetrics
  x : Number
Der x-Wert ist die linke Position des ersten Zeichens in Pixel.
TextLineMetrics
Öffentliche Methoden
 MethodeDefiniert von
  
TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
Erstellt ein TextLineMetrics-Objekt.
TextLineMetrics
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

ascent

Eigenschaft
public var ascent:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Oberlänge des Texts ist die Länge von der Grundlinie bis zur Oberkante der Zeile in Pixel. Siehe „Oberlänge“ im Übersichtsdiagramm für diese Klasse.

Verwandte API-Elemente

descent

Eigenschaft 
public var descent:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Unterlänge des Texts ist die Länge von der Grundlinie bis zur Unterkante der Zeile in Pixel. Siehe „Unterlänge“ im Übersichtsdiagramm für diese Klasse.

Verwandte API-Elemente

height

Eigenschaft 
public var height:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die Höhe des Texts in den ausgewählten Zeilen (nicht unbedingt des gesamten Texts) in Pixel. Die Höhe der Textzeile umfasst nicht die Höhe des Zwischenraums. Siehe „Zeilenhöhe“ im Übersichtsdiagramm für diese Klasse.

Verwandte API-Elemente

leading

Eigenschaft 
public var leading:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Der Zeilenabstand ist der vertikale Abstand zwischen den Textzeilen. Siehe „Zeilenabstand“ im Übersichtsdiagramm für diese Klasse.

Verwandte API-Elemente

width

Eigenschaft 
public var width:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Der Wert für die Breite ist die Textbreite in den ausgewählten Zeilen (nicht unbedingt des gesamten Texts) in Pixel. Die Breite der Textzeile ist nicht identisch mit der Breite des Textfelds. Die Breite der Textzeile muss relativ zur Textfeldbreite gesehen werden (abzüglich des Zwischenraums von 4 Pixel, d. h. 2 Pixel auf jeder Seite). Siehe „Breite der Textzeile“ im Übersichtsdiagramm für diese Klasse.

Verwandte API-Elemente

x

Eigenschaft 
public var x:Number

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Der x-Wert ist die linke Position des ersten Zeichens in Pixel. Dieser Wert umfasst den Rand, eventuelle Einzüge und den Zwischenraum. Siehe „x-Position der Textzeile“ im Übersichtsdiagramm für diese Klasse.

Verwandte API-Elemente

Konstruktordetails

TextLineMetrics

()Konstruktor
public function TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt ein TextLineMetrics-Objekt. Das TextLineMetrics-Objekt enthält Informationen zu den Maßen einer Textzeile innerhalb eines Textfelds. Objekte dieser Klasse werden von der Methode flash.text.TextField.getLineMetrics() zurückgegeben.

Kontextinformationen zu den verschiedenen Eigenschaften finden Sie im Übersichtsdiagramm für diese Klasse.

Parameter
x:Number — Die linke Position des ersten Zeichens in Pixel.
 
width:Number — Die Breite des Texts in den ausgewählten Zeilen (nicht unbedingt des gesamten Texts) in Pixel.
 
height:Number — Die Höhe des Texts in den ausgewählten Zeilen (nicht unbedingt des gesamten Texts) in Pixel.
 
ascent:Number — Die Länge von der Grundlinie bis zur obersten Stelle der Zeile in Pixel.
 
descent:Number — Die Länge von der Grundlinie bis zur untersten Stelle der Zeile in Pixel.
 
leading:Number — Der vertikale Abstand zwischen den Textzeilen.

Verwandte API-Elemente

TextLineMetricsExample.as

Im folgenden Beispiel werden die Klassen TextLineMetricsExample und LineMetricsReader zum Druck einer Meldung im Flash Player über ein XML-Objekt erstellt. Dies wird in den folgenden Schritten erreicht:
  1. Erstellen Sie die Eigenschaft label vom Typ „TextField“.
  2. Der Konstruktor ruft die configureAssets()-Methode auf, die Folgendes durchführt:
    • Die Bühne wird oben links ausgerichtet und ohne Skalierung angezeigt.
    • Es wird das neue TextField-Objekt label erstellt.
    • Der Hintergrund von label wird aktiviert, und die Farbe wird auf weiß eingestellt.
    • Es wird festgelegt, dass sich der Text von label über mehrere Zeilen mit automatischem Zeilenumbruch erstrecken kann.
    • Das Ergebnis eines Aufrufs an getLabelText() wird der text-Eigenschaft von label zugewiesen. Mit der Methode getLabelText() wird eine Variable vom Typ XML erstellt und dem XML-Knoten body zugewiesen, der einen langen Satz enthält.
    • label wird der Anzeigeliste mithilfe von addChild() hinzugefügt.
  3. Anschließend wird die resizeHandler()-Methode hinzugefügt, die als Listener für resize-Ereignisse auf der Bühne fungiert. Bei jeder Größenänderung des Flash Player-Fensters wird ein RESIZE-Ereignis ausgelöst. Dies hat die folgenden Auswirkungen:
    • draw() wird aufgerufen, damit label in der Mitte der Bühne, umgeben von einem 10-Pixel-Puffer, angezeigt wird.
    • setTimeout() führt showMetrics() anschließend nach einer kurzen Verzögerung aus. Die Verzögerung wird dadurch verursacht, dass die Textzeilenmaße erst nach Abschluss des RESIZE-Ereignisses und nach der vollständigen Neuzeichnung der Bühne aktualisiert werden.
    • Mit showMetrics() wird die TextLineMetrics-Variable metrics dem Ergebnis eines Aufrufs von getLineMetrics() zugewiesen. Diese Variable wird anschließend an eine neue Instanz der LineMetricsReader-Instanz reader übergeben. Die beiden Variablen werden anschließend in Aufrufen von trace() zum Drucken der ersten (und einzigen) Zeile von label und Informationen aus der LineMetricsReader-Instanz (über die toString()-Methode) verwendet.
  4. Der Konstruktor erzwingt eine einmalige Auslösung resize-Ereignisses, damit label beim ersten Laden der SWF-Datei richtig gezeichnet wird.
package {
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.*;
    import flash.text.TextField;
    import flash.text.TextLineMetrics;
    import flash.utils.setTimeout;

    public class TextLineMetricsExample extends Sprite {
        private var gutter:int = 10;
        private var label:TextField;

        public function TextLineMetricsExample() {
            configureAssets();
            configureListeners();
            resizeHandler(new Event(Event.RESIZE));
        }

        private function showMetrics():void {
            var metrics:TextLineMetrics = label.getLineMetrics(0);
            var reader:LineMetricsReader = new LineMetricsReader(metrics);
            trace("lineText: " + label.getLineText(0));
            trace("metrics: " + reader);
        }

        private function configureAssets():void {
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

            label = new TextField();
            label.background = true;
            label.backgroundColor = 0xFFFFFF;
            label.multiline = true;
            label.wordWrap = true;
            label.text = getLabelText();
            addChild(label);
        }

        private function configureListeners():void {
            stage.addEventListener(Event.RESIZE, resizeHandler);
        }

        private function resizeHandler(event:Event):void {
            draw();
            setTimeout(showMetrics, 100);
        }

        private function draw():void {
            label.x = gutter;
            label.y = gutter;
            label.width = stage.stageWidth - (gutter * 2);
            label.height = stage.stageHeight - (gutter * 2);
        }

        private function getLabelText():String {
            var text:XML = <body>The Flex product line enables developers to build rich Internet applications that blend the responsiveness of desktop software, the cross-platform reach of the web, and the expressiveness of the Flash Platform.</body>
            return text.toString();
        }
    }
}

import flash.text.TextLineMetrics;

class LineMetricsReader {
    private var metrics:TextLineMetrics;

    public function LineMetricsReader(metrics:TextLineMetrics) {
        this.metrics = metrics;
    }

    public function toString():String {
        return "[TextLineMetrics ascent:" + metrics.ascent
            + ", descent:" + metrics.descent
            + ", leading:" + metrics.leading
            + ", width:" + metrics.width
            + ", height:" + metrics.height
            + ", x:" + metrics.x
            + "]";
    }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.