| パッケージ | flash.text |
| クラス | public class TextLineMetrics |
| 継承 | TextLineMetrics Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
flash.text.TextField.getLineMetrics() メソッドによって返されます。
テキストの行を含むテキストフィールドに関する測定 (例えば、次の図の「テキストフィールドの高さ」の測定など) については、flash.text.TextField を参照してください。
次の図に、テキストフィールドおよびフィールドに含まれるテキストの行のポイントと測定を示します。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
| ascent : Number
テキストの ascent 値は、行のベースラインから最上部までの距離です (ピクセル単位)。 | TextLineMetrics | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
| descent : Number
テキストの descent 値は、行のベースラインから最下部までの距離です (ピクセル単位)。 | TextLineMetrics | ||
| height : Number
選択されている行のテキスト (テキスト全体とは限りません) の高さの値です (ピクセル単位)。 | TextLineMetrics | ||
| leading : Number
leading 値は、テキストの行間の垂直距離を測定した結果です。 | TextLineMetrics | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| 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 | |
| ascent | プロパティ |
public var ascent:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
テキストの ascent 値は、行のベースラインから最上部までの距離です (ピクセル単位)。このクラスの概要図の「アセント」の測定を参照してください。
関連項目
| descent | プロパティ |
public var descent:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
テキストの descent 値は、行のベースラインから最下部までの距離です (ピクセル単位)。このクラスの概要図の「ディセント」の測定を参照してください。
関連項目
| height | プロパティ |
public var height:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
選択されている行のテキストの高さの値 (ピクセル単位) です。必ずしもテキスト全体ではありません。テキスト行の高さには、ふち取りの高さは含まれません。このクラスの概要図の「行の高さ」の測定を参照してください。
関連項目
| leading | プロパティ |
public var leading:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
leading 値は、テキストの行間の垂直距離のプロパティです。このクラスの概要図の「レディング」の測定を参照してください。
関連項目
| width | プロパティ |
public var width:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
width の値は、選択されている行のテキストの幅です (ピクセル単位)。必ずしもテキスト全体ではありません。テキスト行の幅は、テキストフィールドの幅と同じではありません。テキスト行の幅はテキストフィールドの幅と相対的であり、ふち取りの幅 4 ピクセル (両側に 2 ピクセルずつ) を引いた値です。このクラスの概要図の「テキスト行の幅」の測定を参照してください。
関連項目
| x | プロパティ |
public var x:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
x 値は、最初の文字の左の位置です (ピクセル単位)。この値には、マージン、インデント (ある場合)、ふち取りの幅が含まれます。このクラスの概要図の「テキスト行の x 位置」を参照してください。
関連項目
| 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 |
TextLineMetrics オブジェクトを作成します。TextLineMetrics オブジェクトには、テキストフィールド内のテキストの行のテキストメトリックに関する情報が含まれます。このクラスのオブジェクトは、flash.text.TextField.getLineMetrics() メソッドによって返されます。
各プロパティについては、このクラスの概要にある図を参照してください。
パラメータx:Number — 最初の文字の左の位置です (ピクセル単位)。
| |
width:Number — 選択されている行のテキスト (テキスト全体とは限りません) の幅です (ピクセル単位)。
| |
height:Number — 選択されている行のテキスト (テキスト全体とは限りません) の高さです (ピクセル単位)。
| |
ascent:Number — ベースラインから行の高さの最上部までの長さです (ピクセル単位)。
| |
descent:Number — ベースラインから行の最深部までの長さです (ピクセル単位)。
| |
leading:Number — テキストの行間の垂直距離の測定です。
|
関連項目
label という名前のプロパティを作成します。configureAssets() を呼び出し、
label という名前の新しい TextField オブジェクトを作成します。label の背景を有効にし、その色を白に設定します。label のテキストを複数行にできるようにします。getLabelText() の呼び出しの結果を、text プロパティ(label)に割り当てます。getLabelText() メソッドは、タイプが XML の変数を作成し、それを body という名前の XML ノードに割り当てます。ここに、長いテキストが格納されます。label を表示リストに追加します。これには addChild() を使用します。resize イベントを受け取るメソッドが追加されます。このメソッドは、resizeHandler() () です。Flash Player のウィンドウサイズが変更されるたびに RESIZE イベントが送出され、次の処理が行われます。
draw() が呼び出されます。これで label がステージの中央に 10 ピクセルのバッファに囲まれて表示されるようになります。setTimeout() が、少し遅れて showMetrics() を実行します。この遅延が発生するのは、RESIZE イベントが完了し、ステージが完全に再描画されるまで行メトリックが更新されないためです。showMetrics() は、metrics という名前の TextLineMetrics 変数を getLineMetrics() の呼び出しの結果に割り当て、この変数が reader という名前の新しい LineMetricsReader インスタンスに渡されます。次に、2 つの変数は trace() の呼び出し内で使用され、label の最初の(唯一の)行と、LineMetricsReader インスタンスが toString() メソッドによって提供する情報を出力します。resize イベントを単独で送出し、SWF ファイルが最初にロードされるときに label が適切に描画されるようにします。
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
+ "]";
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/text/TextLineMetrics.html