Пакет | spark.layouts |
Класс | public class BasicLayout |
Наследование | BasicLayout LayoutBase OnDemandEventDispatcher Object |
Подклассы | StackLayout |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
x
и y
каждого нижестоящего элемента или ограничения.
Примечание. Элементы управления Spark на основе списка (элемент управления Spark List и его подклассы, такие как ButtonBar, ComboBox, DropDownList и TabBar) не поддерживают класс BasicLayout. Не следует использовать BasicLayout с элементами управления Spark на основе списка.
Для каждого элемента поддерживаются такие ограничения, как left
, right
, top
, bottom
, horizontalCenter
, verticalCenter
, baseline
, percentWidth
и percentHeight
. При этом всегда учитываются минимальные и максимальные размеры элемента.
Измеренный размер контейнера вычисляется на основе элементов, их ограничений и соответствующих предпочтительных размеров. Измеренный размер контейнера является достаточным для того, чтобы вместить все элементы с учетом их предпочтительных размеров и ограничений.
Вот несколько примеров вычисления измеренного размера:
- Если контейнер содержит единственный элемент, для которого указано ограничение
left
, то измеренная ширина контейнера будет равна сумме предпочтительной ширины элемента плюс значение ограниченияleft
. - Если контейнер содержит единственный элемент, для которого указано значение свойства
percentWidth
, то измеренная ширина контейнера будет равна предпочтительной ширине элемента. Даже еслиpercentWidth
элемента непосредственно не разложен на множители при вычислении, он будет учитываться во время вызова методаupdateDisplayList()
. - Если контейнер содержит единственный элемент, для которого указано ограничение
baseline
, то измеренная высота контейнера будет равна сумме предпочтительной высоты элемента иbaseline
за вычетом значения свойстваbaselinePosition
элемента. - Если контейнер содержит единственный элемент, для которого указано ограничение
verticalCenter
, то измеренная высота контейнера будет равна сумме предпочтительной высоты элемента и значения ограниченияverticalCenter
, умноженного на два.
При выполнении метода updateDisplayList()
вычисляется размер элемента в соответствии с правилами, перечисленными согласно следующим приоритетам (при этом всегда учитывается минимальный и максимальный размер элемента):
- Если для элемента установлено значение
percentWidth
илиpercentHeight
, то его размер вычисляется как процентное значение от размера контейнера за вычетом всех ограничений:left
,right
,top
илиbottom
. - Если элемент имеет и ограничение left, и ограничение right, его ширина определяется как ширина контейнера за вычетом ограничений
left
иright
. - Если элемент имеет и ограничение
top
, и ограничениеbottom
, его высота определяется как высота контейнера за вычетом ограниченийtop
иbottom
. - Размер элемента устанавливается в соответствии с его предпочтительной шириной и/или высотой.
Класс BasicLayout вычисляет свой минимальный размер как максимальное значение минимальных размеров нижестоящих элементов:
- Для каждого нижестоящего элемента в контейнере следует определить минимальный размер, до которого можно сжать нижестоящий элемент:
- Если границы нижестоящего элемента определены по высоте или ширине вышестоящего элемента, то этот нижестоящий элемент можно сжать до соответствующих минимальных размеров высоты и ширины. Используйте минимальный размер нижестоящего элемента.
- Если пропорции нижестоящего элемента не ограничены размерами вышестоящего элемента, то для него сохраняется предпочтительный размер. Используйте предпочтительный размер нижестоящего элемента.
- Найдите максимальное значение размеров из шага 1.
Таким образом, если нижестоящий элемент ограничен размерами вышестоящего элемента, в макете используется минимальный размер нижестоящего элемента. В ином случае для вычисления минимального размера контейнера используется предпочтительный размер нижестоящего элемента.
Позиция элемента определяется согласно правилам с учетом следующих приоритетов:
- Ограничения
horizontalCenter
илиverticalCenter
указывают расстояние между центром контейнера и центром элемента. Установите ограниченияhorizontalCenter
илиverticalCenter
на нулевое значение, чтобы разместить элемент по центру контейнера по горизонтали или вертикали. - Если для элемента указано ограничение baseline, то элемент позиционируется в вертикальном направлении таким образом, что его
baselinePosition
(как правило, базовая линия первой линии текста) выравнивается по ограничениюbaseline
. - Если для элемента указаны ограничения
top
илиleft
, то элемент позиционируется таким образом, что верхний левый угол границ макета элемента смещается от верхнего левого угла контейнера в соответствии с указанными значениями. - Если для элемента указаны ограничения
bottom
илиright
, то элемент позиционируется таким образом, что правый нижний угол границ макета элемента смещается от правого нижнего угла контейнера в соответствии с указанными значениями. - Если ограничения относительно позиции в горизонтальном или вертикальном направлении не определены, то элемент размещается в соответствии с его координатами x и y.
Размер содержимого контейнера вычисляется как максимальная из координат правого нижнего угла всех элементов макета.
Синтаксис MXMLСкрыть синтаксис MXMLThe <s:BasicLayout>
tag inherits all of the tag
attributes of its superclass and adds no additional tag attributes:
<s:BasicLayout/>
Метод | Определено | ||
---|---|---|---|
Конструктор. | BasicLayout | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | OnDemandEventDispatcher | ||
Вычисляет местоположение перетаскивания в поставщике данных целевого объекта перетаскивания для указанного dragEvent. | LayoutBase | ||
Если useVirtualLayout имеет значение true, этот метод может использоваться целевым объектом макета для очистки кэшированной информации о макете в случае изменения целевого объекта. | LayoutBase | ||
Посылает событие в поток событий. | OnDemandEventDispatcher | ||
Вызывается целевым объектом после добавления элемента макета и до того, как размер целевого объекта и список отображения будут проверены. | LayoutBase | ||
Этот метод должен вызываться целевым объектом после удаления элемента макета и до того, как размер целевого объекта и список отображения будут проверены. | LayoutBase | ||
Возвращает границы макета указанного элемента в виде элемента Rectangle или значения null, если индекс недействителен, соответствующий элемент имеет значение null, includeInLayout=false или значением свойства target этого макета является null. | LayoutBase | ||
Возвращает изменение горизонтального положения прокрутки для работы с различными параметрами прокрутки. | LayoutBase | ||
getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint, arrowKeysWrapFocus:Boolean):int
Метод делегирования, определяющий, к какому элементу необходимо перейти на основе текущего элемента в фокусе и данных, вводимых пользователем в виде константы NavigationUnit. | LayoutBase | ||
Вычисляет дельты verticalScrollPosition и horizontalScrollPosition, необходимые для прокрутки элемента под заданным индексом в видимую область. | LayoutBase | ||
Возвращает изменение вертикального положения прокрутки для работы с различными параметрами прокрутки. | LayoutBase | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | OnDemandEventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Скрывает показанный ранее индикатор перетаскивания, созданный методом showDropIndicator(), удаляет его из списка отображения и также останавливает прокрутку перетаскивания. | LayoutBase | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Обеспечивает измерение размера целевого объекта по умолчанию на основе его содержимого и дополнительно измеряет минимальный размер целевого объекта по умолчанию. | LayoutBase | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет прослушиватель из объекта EventDispatcher. | OnDemandEventDispatcher | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Размеры, положение и вышестоящие объекты индикатора перетаскивания, основанные на указанном местоположении перетаскивания. | LayoutBase | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Размеры и местоположения элементов целевого объекта. | LayoutBase | ||
Вызывается целевым объектом в конце updateDisplayList для обновления scrollRect макета. | LayoutBase | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | OnDemandEventDispatcher |
BasicLayout | () | Конструктор |
public function BasicLayout()
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Конструктор.
Tue Jun 12 2018, 11:34 AM Z