Pakket | flash.text |
Klasse | public class TextLineMetrics |
Overerving | TextLineMetrics Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
flash.text.TextField.getLineMetrics()
.
Zie flash.text.TextField voor meetwaarden die betrekking hebben op het tekstveld dat de tekstregel bevat (bijvoorbeeld de meetwaarde 'Hoogte van tekstveld' in het diagram).
In het volgende diagram worden de punten en meetwaarden van een tekstveld en de tekstregel die het veld bevat aangegeven:
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
ascent : Number
De waarde ascent is de tekstlengte vanaf de basislijn tot de bovenkant van de regel in pixels. | TextLineMetrics | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
descent : Number
De waarde descent is de tekstlengte vanaf de basislijn tot de onderkant van de regel in pixels. | TextLineMetrics | ||
height : Number
De waarde height is de teksthoogte van de geselecteerde regels (niet noodzakelijkerwijs de gehele tekst) in pixels. | TextLineMetrics | ||
leading : Number
De waarde leading is de verticale afstand tussen de tekstregels. | TextLineMetrics | ||
width : Number
De waarde width is de tekstbreedte van de geselecteerde regels (niet noodzakelijkerwijs de gehele tekst) in pixels. | TextLineMetrics | ||
x : Number
De waarde x is de linkerpositie van het eerste teken in pixels. | TextLineMetrics |
Methode | Gedefinieerd door | ||
---|---|---|---|
TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
Maakt een object TextLineMetrics. | TextLineMetrics | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
ascent | eigenschap |
public var ascent:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De waarde ascent is de tekstlengte vanaf de basislijn tot de bovenkant van de regel in pixels. Zie Ascent in het overzichtsdiagram voor deze klasse.
Verwante API-elementen
descent | eigenschap |
public var descent:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De waarde descent is de tekstlengte vanaf de basislijn tot de onderkant van de regel in pixels. Zie Descent in het overzichtsdiagram voor deze klasse.
Verwante API-elementen
height | eigenschap |
public var height:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De waarde height is de teksthoogte van de geselecteerde regels (niet noodzakelijkerwijs de gehele tekst) in pixels. In de hoogte van de tekstregel wordt de hoogte van de tussenruimte niet verwerkt. Zie Line Height in het overzichtsdiagram voor deze klasse.
Verwante API-elementen
leading | eigenschap |
public var leading:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De waarde leading is de verticale afstand tussen de tekstregels. Zie Leading in het overzichtsdiagram voor deze klasse.
Verwante API-elementen
width | eigenschap |
public var width:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De waarde width is de tekstbreedte van de geselecteerde regels (niet noodzakelijkerwijs de gehele tekst) in pixels. De breedte van de tekstregel is niet hetzelfde als de breedte van het tekstveld. De breedte van de tekstregel is relatief ten opzichte van de breedte van het tekstveld, min de breedte van de tussenruimte (4 pixels, 2 pixels aan elke zijde). Zie Text Line width in het overzichtsdiagram voor deze klasse.
Verwante API-elementen
x | eigenschap |
public var x:Number
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De waarde x is de linkerpositie van het eerste teken in pixels. In deze waarde zijn de marge, inspringing (indien van toepassing) en breedte van tussenruimtes verwerkt. Zie Text Line x-position in het overzichtsdiagram voor deze klasse.
Verwante API-elementen
TextLineMetrics | () | Constructor |
public function TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Maakt een object TextLineMetrics. Het object TextLineMetrics bevat informatie over de afmetingen van een tekstregel binnen een tekstveld. Objecten van deze klasse worden geretourneerd door de methode flash.text.TextField.getLineMetrics()
.
Zie het diagram in het overzicht voor deze klasse om de eigenschappen in context weer te geven.
Parametersx:Number — De linkerpositie van het eerste teken, in pixels.
| |
width:Number — De breedte van de tekst van de geselecteerde regels (niet noodzakelijkerwijs de gehele tekst), in pixels.
| |
height:Number — De hoogte van de tekst van de geselecteerde regels (niet noodzakelijkerwijs de gehele tekst), in pixels.
| |
ascent:Number — De lengte vanaf de basislijn tot de bovenkant van de regel, in pixels.
| |
descent:Number — De lengte vanaf de basislijn tot de onderkant van de regel, in pixels.
| |
leading:Number — De verticale afstand tussen de tekstregels.
|
Verwante API-elementen
- Maak een eigenschap met de naam
label
van het type TextField. - De constructor roept
configureAssets()
aan, die als volgt te werk gaat:- Het werkgebied wordt uitgelijnd op de linkerbovenhoek en er wordt geen schaling toegepast.
- Het nieuwe TextField-object
label
wordt gemaakt. - De achtergrond van
label
wordt ingeschakeld en de kleur wordt op wit ingesteld. - Er wordt toegestaan dat tekst van
label
uit meerdere regels bestaat met automatische tekstomloop. - Het resultaat van een aanroep van
getLabelText()
wordt aan de eigenschaptext
vanlabel
toegewezen De methodegetLabelText()
maakt een variabele van het type XML en wijst deze toe aan een XML-knooppunt met de naambody
dat met een lange zin wordt gevuld. label
wordt toegevoegd aan het weergaveoverzicht metaddChild()
.
- Een methode die luistert naar gebeurtenissen
resize
die in het werkgebied worden uitgevoerd, wordt vervolgens toegevoegd met de naamresizeHandler()
. Telkens wanneer de grootte van het Flash Player-venster verandert, wordt een gebeurtenisRESIZE
verzonden en gebeurt het volgende:draw()
wordt aangeroepen om er zeker van te zijn datlabel
in het midden van het werkgebied wordt weergegeven en wordt omringd door een buffer van 10 pixels.setTimeout()
voert vervolgens na een kort vertragingshowMetrics()
uit. Deze vertraging treedt op omdat de metrische gegevens van de regel pas worden bijgewerkt nadat de gebeurtenisRESIZE
is voltooid en het werkgebied volledig opnieuw is getekend.showMetrics()
wijst een variabele TextLineMetrics met de naammetrics
toe aan het resultaat van een aanroep vangetLineMetrics()
. Deze variabele wordt vervolgens doorgegeven aan een nieuwe instantie van een instantie LineMetricsReader met de naamreader
. De twee variabelen worden vervolgens gebruikt in aanroepen vantrace()
om de eerste (en enige) regel vanlabel
en gegevens af te drukken die zijn geleverd door de instantie LineMetricsReader via de methodetoString()
ervan.
- De constructor dwingt één verzending van de gebeurtenis
resize
af om ervoor te zorgen datlabel
correct wordt getekend wanneer het SWF-bestand voor het eerst wordt geladen.
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 + "]"; } }
Wed Jun 13 2018, 11:42 AM Z