Flex 4.6 - Видимая высота метки искры - PullRequest
1 голос
/ 10 декабря 2011

Я пытаюсь определить высоту метки Spark, которая становится многострочной во время выполнения (из-за установленного свойства width), чтобы учесть переполнение текста.

(Для метки зажигания с названием Title) я пробовал:

Title.measureText(Title.text).height - похоже, возвращает только высоту одной строки. (Из-за различий в размерах экрана и рендеринге шрифта я заранее не знаю, на сколько строк будет перетекать текст ...)

Title.height - похоже, это возвращает высоту размера метки (перед повторной настройкой во время выполнения для многострочного текстового потока)

Оба вышеуказанных свойства возвращают неизменное значение , даже если в текст .Tech

введена разная длина текста / длина строки.

Неужели нет способа определить точную высоту метки искры переполнения ?


По общему признанию, я не настолько знаком с Flex API, но после того, как в течение некоторого времени изучал руководство, я все еще не могу разместить этот заголовок с правильным интервалом. Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 10 декабря 2011

Я думаю, resize событие метки Spark будет полезным.
просто попробуйте этот пример приложения. Это может помочь вам

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" >

<fx:Script>
    <![CDATA[
        public var Height:String="";
        public function Resize():void
        {
            Height=lblLabel.height.toString();
            txtText.text="Label Height:  "+Height;
        }
        public function AddText():void
        {
            lblLabel.text += lblLabel.text;
        }


    ]]>
</fx:Script>
    <mx:Text id="txtText"  x="46" y="44" width="200"/>
    <s:Label  id="lblLabel" text="Label Text " x="46" y="99" width="200"  resize="Resize()"/>
    <s:Button id="btnClick" label="AddText" click="AddText()" x="199" y="43"/>
</s:Application>
0 голосов
/ 10 декабря 2011

Если я правильно понял ваш вопрос, вы можете прослушать mx.events.FlexEvent.UPDATE_COMPLETE

...