| Пакет | 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
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства