| Пакет | 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
Показать синтаксис MXML