|
|
|||||
Регистрация: Dec 2008
Сообщений: 88
|
Как подсчитать высоту <mx:Text/>
Дамы и Господа может кто нибудь сталкивался с такой проблемой.
создал List <mx:List rollOverColor="White" selectionColor="White" creationComplete="OnInit()" dataProvider="{lData}" itemRenderer="{new ClassFactory(ReportsListBoxItem)}" height="100%" width="100%" variableRowHeight="true" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ [Bindable] private var lData:ArrayCollection = new ArrayCollection(); public function SetData(lXMLData:XMLList):void { lData = new ArrayCollection(); for each(var xmlItem:XML in lXMLData) { var objItem:Object = new Object(); objItem.XML = xmlItem; objItem.label = String(xmlItem.@label); lData.addItem(objItem); } this.selectedIndex = 0; } ]]> </mx:Script> </mx:List> // ReportsListBoxItem.mxml <?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="OnInit()" width="100%"> <mx:Script> <![CDATA[ [Bindable] public var m_strLabel:String = ""; public override function set data(value:Object):void { super.data = value; if (value != null) { m_strLabel = value.label; } } override protected function measure():void { super.measure(); if (m_strLabel.length > 0) { measuredHeight = this.getExplicitOrMeasuredHeight(); } } ]]> </mx:Script> <mx:Text id="lblItem" text="{m_strLabel}" color="Red" styleName="ItemRender" selectable="false" width="100%"/> </mx:HBox> Если хардкодить measuredHeight к примеру measuredHeight = 50; то высота у каждого элемента фиксированная и лист работает коректно, но сами рендереры неправильной высоты. Как вариант решения вижу подсчет высоты <mx:Text id="lblItem"/> только как это сделать не подозреваю. |
Часовой пояс GMT +4, время: 07:20. |
|
« Предыдущая тема | Следующая тема » |
|
|