Пакет | flash.text |
Класс | public class TextLineMetrics |
Наследование | TextLineMetrics Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
flash.text.TextField.getLineMetrics()
.
Размеры, связанные с текстовым полем, содержащим строку текста (например, «Высота текстового поля» на рисунке) см. в описании flash.text.TextField.
На следующем рисунке представлены точки и размеры текстового поля и содержащейся в нем строки текста.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
ascent : Number
Значение ascent соответствует расстоянию в пикселях от базовой линии до верхнего края строки. | TextLineMetrics | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
descent : Number
Значение descent соответствует расстоянию в пикселях от базовой линии до нижнего края строки. | TextLineMetrics | ||
height : Number
Значение height соответствует высоте в пикселях для текста выбранных строк (необязательно всего текста). | TextLineMetrics | ||
leading : Number
Значение leading соответствует расстоянию между строками текста. | TextLineMetrics | ||
width : Number
Значение width соответствует ширине в пикселях для текста выбранных строк (необязательно всего текста). | TextLineMetrics | ||
x : Number
Значение x соответствует положению первого символа слева (в пикселях). | TextLineMetrics |
Метод | Определено | ||
---|---|---|---|
TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
Создает объект TextLineMetrics. | TextLineMetrics | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
ascent | свойство |
public var ascent:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Значение ascent соответствует расстоянию в пикселях от базовой линии до верхнего края строки. См. «Верхний выносной элемент» в обзорном рисунке для данного класса.
Связанные элементы API
descent | свойство |
public var descent:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Значение descent соответствует расстоянию в пикселях от базовой линии до нижнего края строки. См. «Нижний выносной элемент» в обзорном рисунке для данного класса.
Связанные элементы API
height | свойство |
public var height:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Значение height соответствует высоте в пикселях для текста выбранных строк (необязательно всего текста). Высота строки текста не включает высоту промежуточного поля. См. «Высота строки» в обзорном рисунке для данного класса.
Связанные элементы API
leading | свойство |
public var leading:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Значение leading соответствует расстоянию между строками текста. См. «Интервал» в обзорном рисунке для данного класса.
Связанные элементы API
width | свойство |
public var width:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Значение width соответствует ширине в пикселях для текста выбранных строк (необязательно всего текста). Ширина строки текста не равна ширине текстового поля. Ширина строки текста определяется относительно ширины текстового поля минус ширина промежуточного поля, равного 4 пикселям (по 2 пикселя с каждой стороны). См. «Ширина строки текста» в обзорном рисунке для данного класса.
Связанные элементы API
x | свойство |
public var x:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Значение x соответствует положению первого символа слева (в пикселях). Это значение включает значения ширины полей, отступов (если они есть) и промежуточного поля. См. «Положение строки текста по оси х» в обзорном рисунке для данного класса.
Связанные элементы API
TextLineMetrics | () | Конструктор |
public function TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает объект TextLineMetrics. Объект TextLineMetrics содержит данные о размерах строки текста в пределах текстового поля. Объекты этого класса возвращаются методом flash.text.TextField.getLineMetrics()
.
См. рисунок в описании этого класса, где данные свойства представлены в контексте.
Параметрыx:Number — Положение первого символа с левого края (в пикселях).
| |
width:Number — Ширина в пикселях для текста выбранных строк (необязательно всего текста).
| |
height:Number — Высота в пикселях для текста выбранных строк (необязательно всего текста).
| |
ascent:Number — Длина в пикселях от основной линии до верхней точки строки.
| |
descent:Number — Длина в пикселях от основной линии до нижней точки строки.
| |
leading:Number — Расстояние между строками текста по вертикали.
|
Связанные элементы API
- Создайте свойство типа TextField с именем
label
. - Конструктор вызывает метод
configureAssets()
, который выполняет следующие задачи:- задает выравнивание монтажного стола по верхнему и левому краям и запрещает масштабирование;
- создает новый объект TextField с именем
label
; - включает фон для
label
и задает ему белый цвет; - разрешает тексту объекта
label
занимать несколько линий с автоматическим переносом слов; - назначает результат вызова метода
getLabelText()
свойствуtext
объектаlabel
; методgetLabelText()
создает переменную типа XML и назначает ее узлу XML с именемbody
, который заполняется длинными предложением; - добавляет объект
label
в список отображения с помощью методаaddChild()
.
- Затем добавляется метод, который прослушивает события
resize
, происходящие на монтажном столе, и называетсяresizeHandler()
. Каждый раз, когда изменяется размер окна проигрывателя Flash Player, отправляется событиеRESIZE
, затем происходит следующее.- Вызывается метод
draw()
, чтобы объектlabel
находился в центре рабочей области и был окружен буфером с шириной, равной десяти пикселям. - Затем метод
setTimeout()
вызываетshowMetrics()
после короткой задержки. Задержка добавляется, так как показатели линии обновляются только после завершения событияRESIZE
и повторной отрисовки монтажного стола. - Метод
showMetrics()
назначает переменную TextLineMetrics с именемmetrics
результату вызоваgetLineMetrics()
, после чего эта переменная передается новому экземпляру LineMetricsReader с именемreader
. Затем эти две переменные используются в вызовах методаtrace()
для вывода первой (и единственной) строки объектаlabel
и сведений, переданных экземпляром LineMetricsReader с помощью методаtoString()
.
- Вызывается метод
- Конструктор инициирует одну отправку события
resize
чтобы обеспечить правильную отрисовку объектаlabel
при первой загрузке SWF-файла.
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 + "]"; } }
Tue Jun 12 2018, 11:34 AM Z