2012-02-07 2 views
1

Кто-нибудь знает, есть ли способ найти высоту текста в классе TextLayout?Найти текстовую высоту компонента TextLayout

Я делаю свои объекты TextLayout так:

 this._textFlow = new TextFlow(); 
     this._paragraphElement = new ParagraphElement(); 
     this._textFlow.addChild(this._paragraphElement); 

     this._span = new SpanElement(); 
     this._span.text = this._text; 
     this._paragraphElement.addChild(this._span); 
     if(this._textAlign != ''){ 
      this._paragraphElement.textAlign = this._textAlign; 
     } 

     var tempTextWidth:Number; 
     var tempTextHeight:Number; 
     if(this._textWidth > 0){ 
      tempTextWidth = this._textWidth; 
     } else { 
      tempTextWidth = NaN; 
     } 
     if(this._textHeight > 0){ 
      tempTextHeight = this._textHeight; 
     } else { 
      tempTextHeight = NaN; 
     } 

     this._containerController = new ContainerController(this, tempTextWidth, tempTextHeight); 
     this._textFlow.flowComposer.addController(this._containerController); 
     this._textFlow.flowComposer.updateAllControllers(); 

Все публичные свойства я бы ожидать, чтобы найти высоту не определены, такие как this._textFlow.lineHeight.

Спасибо,

Крис

+0

Возможно, это нужно будет отобразить один раз, прежде чем свойства, связанные с высотой, получат значения. –

ответ

1

Согласно documentation, LineHeight не определено по умолчанию, а значение не определено означает, что высота строки составляет 120% от высоты текста. Высота текста определяется свойством fontSize, которое также по умолчанию не определено, что означает, что высота текста равна 12.

Предполагая, что оба параметра не определены в вашем приложении, высота каждой строки должна быть 1,2 * 12 = 14,4. Отказ от ответственности: я никогда не работал с Text Layout Framework и не знаю, насколько надежна эта информация.

+0

Проверено ли; Ты прав. –

Смежные вопросы