#apache-flex #flex4 #flex-spark
#apache-flex #flex4 #flex-spark
Вопрос:
Я использую spark List
s и PopupAnchor
s для создания системы выпадающих меню, но у меня возникли проблемы с ее надежным размером — кажется, что список всегда хочет занимать место на 5 itemRenderers, но некоторые меню, которые мне нужно реализовать, могут содержать 3 или менее элементов. Как я могу динамически изменять размер списка в соответствии с количеством элементов в нем и не больше?
Комментарии:
1. Кстати, у меня есть многоразовое пользовательское выпадающее меню spark с иконками, и оно полностью переработано, если вы хотите позаимствовать исходный код, пришлите мне сообщение.
Ответ №1:
Это забавно. Вам нужно установить свойство в VerticalLayout списка spark.
Попробуйте этот фрагмент:
(yourSparkList.layout as VerticalLayout).requestedRowCount = yourDataProvider.length;
Предполагается, что у вас есть список с именем yourSparkList и средство предоставления данных с именем yourDataProvider, которое заполняет список.
Если ваши списки становятся длинными, вы должны установить МАКСИМАЛЬНУЮ константу следующим образом:
public static const MAXIMUM:int = 5;
if(yourDataProvider.length <= MAXIMUM){
(yourSparkList.layout as VerticalLayout).requestedRowCount = yourDataProvider.length;
}else{
(yourSparkList.layout as VerticalLayout).requestedRowCount = MAXIMUM;
}
Кстати, есть также свойство requestedMaxRowCount и свойство requestedMinRowCount.
Комментарии:
1. Спасибо! У вас есть ссылка на то, как вы реализовали это в своем собственном меню?
2. У меня его нет в открытом доступе (пока), но, надеюсь, скоро. Если вы пришлете мне электронное письмо (контакты на моем веб-сайте), я могу отправить вам исходный код того, над чем я работаю.