Показать сообщение отдельно
Старый 12.04.2011, 09:22
Andy Tim вне форума Посмотреть профиль Отправить личное сообщение для Andy Tim Найти все сообщения от Andy Tim
  № 5  
Ответить с цитированием
Andy Tim

Регистрация: Nov 2010
Сообщений: 9
AntonSurkont, доброго времени суток!
Слегка поэксперементировал на твою тему... На мой взгляд, самый простой вариант сделать так:

Код AS3:
         <fx:Script>
		<![CDATA[
 
                        //...
 
			[Bindable]
			protected var item_width:int;
 
			protected function application1_creationCompleteHandler(event:FlexEvent):void
			{
				//...
				item_width = int(list.width/12);
			}
 
		]]>
	</fx:Script>
	<s:List id="list" width="100%" height="50%" dataProvider="{arrMonths}">
		<s:layout>
			<s:HorizontalLayout columnWidth="{item_width}" gap="0" variableColumnWidth="false"/>
		</s:layout>
 
		<s:itemRenderer>
			<fx:Component>
				<s:ItemRenderer>
					<s:Panel width="100%" height="100%">
						<s:Label text="{data}" left="10" top="8" fontSize="15"/>
					</s:Panel>
				</s:ItemRenderer>
			</fx:Component>
		</s:itemRenderer>
	</s:List>
т.е. привязать ширину колонки из лейаута списка к переменной, высчитываемой из ширины списка. Если нужно менять в реалтайме, то можно ловить какое-нибудь событие изменения списка и соответствующим образом менять ширину.

мне кажется, этот вариант громоздкий и если еще покопаться можно найти более лаконичный способ средствами флекса, но тем не менее, работает)