spark.layouts.supportClassesLayoutBase Класс LayoutBase определяет базовый класс для всех макетов Spark.The <s:LayoutBase> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

  <s:LayoutBase 
    Properties
    clipAndEnableScrolling="false"
    dropIndicator="defined by the skin class"
    horizontalScrollPosition="0"
    target="null"
    typicalLayoutElement="null"
    useVirtualLayout="false"
    verticalScrollPosition="0"
  />
  
]]>
mx.utils:OnDemandEventDispatcher Класс LayoutBase определяет базовый класс для всех макетов Spark. Для создания пользовательского макета, работающего с контейнерами Spark, необходимо расширить класс LayoutBase или один из его подклассов.

Как минимум, подклассы должны обеспечивать реализацию метода updateDisplayList(), обеспечивающего позиционирование и изменение размеров target элементов GroupBase, а также метода measure(), вычисляющего размер target по умолчанию.

Подклассы могут переопределять такие методы, как getElementBoundsAboveScrollRect() и getElementBoundsBelowScrollRect() для настройки поведения целевого объекта при подключении к полосам прокрутки.

Подклассы, поддерживающие виртуализацию, должны учитывать свойство useVirtualLayout и извлекать только элементы макета в scrollRect (значение getScrollRect()) с использованием getVirtualElementAt() из updateDisplayList().

LayoutBase Конструктор. Конструктор. calculateDragScrollDelta Вычисляет значение прокрутки для указанного dropLocation во время операции перетаскивания.Значение для прокрутки при перетаскивании или значение null, если прокрутка при перетаскивании не требуется. dropLocationspark.layouts.supportClasses:DropLocationДопустимый объект DropLocation, ранее полученный при вызове метода calculateDropLocation(). elapsedTimeПродолжительность в миллисекундах с начала прокрутки перетаскивания. Вычисляет значение прокрутки для указанного dropLocation во время операции перетаскивания. Вызывается методом showDropIndicator() для вычисления прокрутки во время прокрутки перетаскивания. spark.layouts.supportClasses.DropLocationcalculateDropIndex()calculateDropIndicatorBounds()calculateDropIndex Возвращает индекс, указывающий на то, где должен быть вставлен новый элемент, когда пользователь отпускает кнопку мыши в указанных координатах при завершении операции перетаскивания.Индекс перетаскивания или -1, если операция перетаскивания не доступна для указанных координат. xКоордината x операции перетаскивания в локальных координатах. yКоордината y операции перетаскивания в локальных координатах целевого объекта перетаскивания. Возвращает индекс, указывающий на то, где должен быть вставлен новый элемент, когда пользователь отпускает кнопку мыши в указанных координатах при завершении операции перетаскивания. Вызывается методом calculatedDropLocation(). calculateDropLocation()calculateDropIndicatorBounds Вычисляет границы для индикатора перетаскивания с целью визуального представления точки вставки элементов при завершении операции перетаскивания.Границы для индикатора перетаскивания или значение null. dropLocationspark.layouts.supportClasses:DropLocationДопустимый объект DropLocation, ранее возвращенный методом calculateDropLocation(). Вычисляет границы для индикатора перетаскивания с целью визуального представления точки вставки элементов при завершении операции перетаскивания. Вызывается методом showDropIndicator(). spark.layouts.supportClasses.DropLocationcalculateDropIndex()calculateDragScrollDelta()calculateDropLocation Вычисляет местоположение перетаскивания в поставщике данных целевого объекта перетаскивания для указанного dragEvent.Возвращает местоположение перетаскивания для этого события или значение null, если операция перетаскивания недоступна. spark.layouts.supportClasses:DropLocationdragEventСобытие перетаскивания, отправленное DragManager. Вычисляет местоположение перетаскивания в поставщике данных целевого объекта перетаскивания для указанного dragEvent. showDropIndicator()hideDropIndicator()clearVirtualLayoutCache Если useVirtualLayout имеет значение true, этот метод может использоваться целевым объектом макета для очистки кэшированной информации о макете в случае изменения целевого объекта. Если useVirtualLayout имеет значение true, этот метод может использоваться целевым объектом макета для очистки кэшированной информации о макете в случае изменения целевого объекта.

Например, при изменении свойств dataProvider или itemRenderer DataGroup кэшированные размеры элементов станут недействительными.

При изменении значения свойства useVirtualLayout на false этот метод вызывается автоматически.

Подклассы, поддерживающие useVirtualLayout = true, должны перезаписывать этот метод.

elementAdded Вызывается целевым объектом после добавления элемента макета и до того, как размер целевого объекта и список отображения будут проверены.indexИндекс добавленного элемента. Вызывается целевым объектом после добавления элемента макета и до того, как размер целевого объекта и список отображения будут проверены. Макеты, кэширующие состояние для каждого элемента, такие как виртуальные макеты, могут переопределить этот метод для обновления собственного кэша.

При вызове метода целевым объектом гарантируется только то, что элемент макета будет существовать в указанной позиции индекса в момент выполнения updateDisplayList(). Так, например, элемент DataGroup с виртуальным макетом обеспечит вызов этого метода после добавления элемента к dataProvider целевого объекта.

По умолчанию данный метод не выполняет никаких действий.

elementRemoved
elementRemoved Этот метод должен вызываться целевым объектом после удаления элемента макета и до того, как размер целевого объекта и список отображения будут проверены.indexИндекс добавленного элемента. Этот метод должен вызываться целевым объектом после удаления элемента макета и до того, как размер целевого объекта и список отображения будут проверены. Макеты, кэширующие состояние для каждого элемента, такие как виртуальные макеты, могут переопределить этот метод для обновления собственного кэша.

При вызове метода целевым объектом гарантируется только то, что элемент макета не будет существовать в указанной позиции индекса в момент выполнения updateDisplayList(). Например, DataGroup с виртуальным макетом вызывает этот метод, когда элемент добавляется к свойству dataProvider.

По умолчанию данный метод не выполняет никаких действий.

elementAdded
getElementBoundsAboveScrollRect Возвращает границы первого элемента макета, охватывающего верхний край scrollRect или находящегося над ним.Границы первого элемента макета, охватывающего верхний край scrollRect или находящегося над ним. scrollRectScrollRect целевого объекта. Возвращает границы первого элемента макета, охватывающего верхний край scrollRect или находящегося над ним.

Это стандартный метод, используемый реализацией метода getHorizontalScrollPositionDelta()по умолчанию. Подклассы, зависящие от реализации getVerticalScrollPositionDelta() по умолчанию, должны обеспечить изменение этого метода для предоставления точного ограничивающего прямоугольника, имеющего допустимые значения свойств top и bottom .

По умолчанию этот метод возвращает Rectangle со значениями width=0, height=1, верхний край которого меньше верхнего края scrollRect, и left=0.

Подклассы должны обеспечить переопределение этого метода для предоставления точного ограничивающего прямоугольника, имеющего допустимые значения свойств top и bottom.

getElementBoundsLeftOfScrollRectgetElementBoundsRightScrollRectgetElementBoundsBelowScrollRectgetVerticalScrollPositionDelta
getElementBoundsBelowScrollRect Возвращает границы первого элемента макета, охватывающего нижний край scrollRect или находящегося ниже края.Границы первого элемента, охватывающего нижнюю границу scrollRect или находящегося ниже края. scrollRectScrollRect целевого объекта. Возвращает границы первого элемента макета, охватывающего нижний край scrollRect или находящегося ниже края.

Это стандартный метод, используемый реализацией метода getHorizontalScrollPositionDelta()по умолчанию. Подклассы, зависящие от реализации getVerticalScrollPositionDelta() по умолчанию, должны обеспечить изменение этого метода для предоставления точного ограничивающего прямоугольника, имеющего допустимые значения свойств top и bottom .

По умолчанию этот метод возвращает Rectangle со значениями width=0, height=1, нижний край которого больше нижнего края scrollRect, и left=0.

getElementBoundsLeftOfScrollRectgetElementBoundsRightScrollRectgetElementBoundsAboveScrollRectgetVerticalScrollPositionDelta
getElementBoundsLeftOfScrollRect Возвращает границы первого элемента макета, охватывающего левый край scrollRect или находящегося слева от него.Границы первого элемента, охватывающего левый край scrollRect или находящегося слева от него. scrollRectScrollRect целевого объекта. Возвращает границы первого элемента макета, охватывающего левый край scrollRect или находящегося слева от него.

Это стандартный метод, используемый реализацией метода getHorizontalScrollPositionDelta() по умолчанию. Подклассы, зависящие от реализации getHorizontalScrollPositionDelta() по умолчанию должны обеспечить изменение этого метода для предоставления точной ограничивающего прямоугольника, имеющего допустимые свойства left и right.

По умолчанию этот метод возвращает Rectangle со значениями width=1, height=0, левый край которого меньше левого края scrollRect, и top=0.

getElementBoundsRightOfScrollRectgetElementBoundsAboveScrollRectgetElementBoundsBelowScrollRectgetHorizontalScrollPositionDelta
getElementBoundsRightOfScrollRect Возвращает границы первого элемента макета, охватывающего правый край scrollRect или находящегося справа от нее.Границы первого элемента, охватывающего правый край scrollRect или находящегося справа от него. scrollRectScrollRect целевого объекта. Возвращает границы первого элемента макета, охватывающего правый край scrollRect или находящегося справа от нее.

Это стандартный метод, используемый реализацией метода getHorizontalScrollPositionDelta() по умолчанию. Подклассы, зависящие от реализации getHorizontalScrollPositionDelta() по умолчанию должны обеспечить изменение этого метода для предоставления точной ограничивающего прямоугольника, имеющего допустимые свойства left и right.

По умолчанию этот метод возвращает Rectangle со значениями width=1, height=0, правый край которого больше правого края scrollRect, и top=0.

getElementBoundsLeftOfScrollRectgetElementBoundsAboveScrollRectgetElementBoundsBelowScrollRectgetHorizontalScrollPositionDelta
getElementBounds Возвращает границы макета указанного элемента в виде элемента Rectangle или значения null, если индекс недействителен, соответствующий элемент имеет значение null, includeInLayout=false или значением свойства target этого макета является null.Границы макета указанного элемента. indexИндекс элемента макета. Возвращает границы макета указанного элемента в виде элемента Rectangle или значения null, если индекс недействителен, соответствующий элемент имеет значение null, includeInLayout=false или значением свойства target этого макета является null.

Подклассы макета, поддерживающие соотношение useVirtualLayout=true, должны обеспечить переопределение этого метода для вычисления возможного приблизительного значения элементов, отсутствующих в области отображения.

mx.core.ILayoutElement.getLayoutBoundsX()mx.core.ILayoutElement.getLayoutBoundsY()mx.core.ILayoutElement.getLayoutBoundsWidth()mx.core.ILayoutElement.getLayoutBoundsHeight()
getHorizontalScrollPositionDelta Возвращает изменение горизонтального положения прокрутки для работы с различными параметрами прокрутки.Изменение горизонтального положения прокрутки. navigationUnitПринимает следующие значения:
  • END Возвращает дельту прокрутки, обеспечивающую выравнивание scrollRect по правому краю в области содержимого.
  • HOME Возвращает дельту прокрутки, обеспечивающую выравнивание элемента scrollRect по левому краю в области содержимого.
  • LEFT Возвращает дельту прокрутки, обеспечивающую выравнивание по левому краю scrollRect с первым элементом, охватывающим левый край scrollRect или находящимся слева от него.
  • PAGE_LEFT Возвращает дельту прокрутки, обеспечивающую выравнивание по правому краю scrollRect с первым элементом, охватывающим левый край scrollRect или находящимся слева от него.
  • PAGE_RIGHT Возвращает дельту прокрутки, обеспечивающую выравнивание по левому краю scrollRect с первым элементом, охватывающим правый край scrollRect или находящимся справа от него.
  • LEFT Возвращает дельту прокрутки, обеспечивающую выравнивание по правому краю scrollRect с первым элементом, охватывающим правый край scrollRect или находящимся справа от него.

Реализация вызывает методы getElementBoundsLeftOfScrollRect() и getElementBoundsRightOfScrollRect() для определения границ элементов. Классы макета обычно переопределяют эти методы вместо метода getHorizontalScrollPositionDelta().

Возвращает изменение горизонтального положения прокрутки для работы с различными параметрами прокрутки. Эти параметры определяются классом NavigationUnit: END, HOME, LEFT, PAGE_LEFT, PAGE_RIGHT и RIGHT.
spark.core.NavigationUnitgetElementBoundsLeftOfScrollRectgetElementBoundsRightOfScrollRectgetHorizontalScrollPositionDelta
getNavigationDestinationIndex Метод делегирования, определяющий, к какому элементу необходимо перейти на основе текущего элемента в фокусе и данных, вводимых пользователем в виде константы NavigationUnit.Индекс следующего элемента, к которому необходимо перейти. Возвращает -1, если константа navigationUnit не распознается макетом. currentIndexТекущий индекс элемента, находящегося в фокусе. navigationUnitКонстанта NavigationUnit, определяющая следующий элемент, к которому необходимо перейти. arrowKeysWrapFocusЕсли значение true, навигация с помощью клавиш стрелок внутри компонента приведет к переносу при достижении любого из концов. Метод делегирования, определяющий, к какому элементу необходимо перейти на основе текущего элемента в фокусе и данных, вводимых пользователем в виде константы NavigationUnit. Этот метод используется подклассами ListBase для обработки навигации с помощью клавиатуры. ListBase обеспечивает сопоставление данных, введенных пользователем, с константами NavigationUnit.

Подклассы позволяют изменить этот метод для вычисления других значений на основе текущего индекса и выявленных нажатий клавиш.

getScrollPositionDeltaToElement Вычисляет дельты verticalScrollPosition и horizontalScrollPosition, необходимые для прокрутки элемента под заданным индексом в видимую область.Объект Point, содержащий смещения для horizontalScrollPosition и verticalScrollPosition, обеспечивающие прокрутку определенного элемента с его переводом в видимую область, или значение null, если изменения не требуются. Если указанный элемент является частично видимым и больше прямоугольника прокрутки, и при этом он уже является единственным видимым элементом, возвращается значение null. Если указанный индекс недействителен или целевому объекту соответствует значение null, возвращается значение null. Если элемент в указанном индексе имеет значение null или значением свойства includeInLayout является false, возвращается null. indexИндекс элемента, который должен быть прокручен с переводом в видимую область. Вычисляет дельты verticalScrollPosition и horizontalScrollPosition, необходимые для прокрутки элемента под заданным индексом в видимую область.

Этот метод обеспечивает попытку минимизации изменений verticalScrollPosition и horizontalScrollPosition.

Если clipAndEnableScrolling имеет значение true и элемент в указанной позиции индекса не полностью видим относительно прямоугольника прокрутки целевого объекта, необходимо вернуть значение дельты, которое должно быть добавлено к свойствам horizontalScrollPosition и verticalScrollPosition обеспечивающим полную прокрутку элемента в пределах границ прямоугольника прокрутки.

clipAndEnableScrollingverticalScrollPositionhorizontalScrollPositionudpdateScrollRect()
getScrollRect Возвращает границы прямоугольника прокрутки целевого объекта в координатах макета.Границы scrollRect целевого объекта в координатах макета; null, если целевому объекту или clipAndEnableScrolling соответствует значение false. Возвращает границы прямоугольника прокрутки целевого объекта в координатах макета. Методы макета не должны обеспечивать непосредственное получение прямоугольника прокрутки целевого объекта. getVerticalScrollPositionDelta Возвращает изменение вертикального положения прокрутки для работы с различными параметрами прокрутки.Изменение вертикального положения прокрутки. navigationUnitПринимает следующие значения:
  • DOWN Возвращает дельту прокрутки, обеспечивающую выравнивание по нижнему краю scrollRect с первым элементом, охватывающим нижний край scrollRect или находящимся ниже него.
  • END Возвращает дельту прокрутки, обеспечивающую выравнивание scrollRect по нижнему краю в области содержимого.
  • HOME Возвращает дельту прокрутки, обеспечивающую выравнивание элемента scrollRect по верхнему краю в области содержимого.
  • PAGE_DOWN Возвращает дельту прокрутки, обеспечивающую выравнивание по верхнему краю scrollRect с первым элементом, охватывающим нижний край scrollRect или находящимся ниже него.
  • PAGE_UP
  • Возвращает дельту прокрутки, обеспечивающую выравнивание по нижнему краю scrollRect с первым элементом, охватывающим верхний край scrollRect или находящимся выше него.
  • UP Возвращает дельту прокрутки, обеспечивающую выравнивание по верхнему краю scrollRect с первым элементом, охватывающим верхний край scrollRect или находящимся выше него.

Реализация вызывает методы getElementBoundsAboveScrollRect() и getElementBoundsBelowScrollRect() для определения границ элементов. Классы макета обычно переопределяют эти методы вместо метода getVerticalScrollPositionDelta().

Возвращает изменение вертикального положения прокрутки для работы с различными параметрами прокрутки. Эти параметры определяются классом NavigationUnit: DOWN, END, HOME, PAGE_DOWN, PAGE_UP и UP.
spark.core.NavigationUnitgetElementBoundsAboveScrollRectgetElementBoundsBelowScrollRectgetVerticalScrollPositionDelta
hideDropIndicator Скрывает показанный ранее индикатор перетаскивания, созданный методом showDropIndicator(), удаляет его из списка отображения и также останавливает прокрутку перетаскивания. Скрывает показанный ранее индикатор перетаскивания, созданный методом showDropIndicator(), удаляет его из списка отображения и также останавливает прокрутку перетаскивания. showDropIndicator()dropIndicatormeasure Обеспечивает измерение размера целевого объекта по умолчанию на основе его содержимого и дополнительно измеряет минимальный размер целевого объекта по умолчанию. Обеспечивает измерение размера целевого объекта по умолчанию на основе его содержимого и дополнительно измеряет минимальный размер целевого объекта по умолчанию.

Это один из тех методов, которые должны быть переопределены при создании подкласса LayoutBase. Другим методом является updateDisplayList(). Вызов этих методов напрямую не требуется. Этот метод вызывается в среде Flex при передаче макета. Передача макета включает в себя три этапа.

Сначала, если свойства целевого объекта являются недопустимыми, LayoutManager обеспечивает вызов метода commitProperties для целевого объекта.

Сначала, если свойства целевого объекта являются недопустимыми, LayoutManager обеспечивает вызов метода validateSize() для целевого объекта. Метод целевого объекта validateSize() в свою очередь вызовет метод макета measure() для вычисления размера целевого объекта по умолчанию, если он не был явным образом задан с помощью свойств explicitWidth и explicitHeight целевого объекта. При изменении размера по умолчанию список отображения целевого объекта в среде Flex будет признан недействительным.

На последнем этапе, если список отображения целевого объекта является недействительным, LayoutManager обеспечит вызов метода validateDisplayList для целевого объекта. Метод validateDisplayList, в свою очередь, вызовет метод макета updateDisplayList для изменения размера и позиционирования элементов целевого объекта.

При реализации данного метода необходимо установить свойства measuredWidth и measuredHeight для определения размера целевого объекта по умолчанию. Свойства measuredMinWidth и measuredMinHeight можно дополнительно настроить для определения минимального размера по умолчанию. Типичная реализация обеспечивает итерации для элементов целевого объекта и использование методов, определенных ILayoutElement, для накопления предпочтительных и/или минимальных размеров элементов и последующей установки свойств measuredWidth, measuredHeight, measuredMinWidth и measuredMinHeight целевых объектов.

updateDisplayList
scrollPositionChanged Вызывается при изменении свойств verticalScrollPosition или horizontalScrollPosition. Вызывается при изменении свойств verticalScrollPosition или horizontalScrollPosition.

Реализация по умолчанию обеспечивает обновление свойства scrollRect целевого объекта путем вызова updateScrollRect(). Этот метод может быть переопределен подклассами для вычисления других значений, основанных на текущих значениях scrollPosition или scrollRect.

updateScrollRect()
showDropIndicator Размеры, положение и вышестоящие объекты индикатора перетаскивания, основанные на указанном местоположении перетаскивания.dropLocationspark.layouts.supportClasses:DropLocationОпределяет местоположение для отображения индикатора перетаскивания. Местоположение перетаскивания определяется методом computeDropLocation(). Размеры, положение и вышестоящие объекты индикатора перетаскивания, основанные на указанном местоположении перетаскивания. Метод calculateDropLocation() используется для получения объекта DropLocation.

Начинает/останавливает прокрутку при перетаскивании при соблюдении соответствующих условий.

dropIndicatorhideDropIndicator()
updateDisplayList Размеры и местоположения элементов целевого объекта.widthУказывает ширину целевого объекта в пикселях по его координатам. heightУказывает высоту компонента в пикселях по координатам целевого объекта. Размеры и местоположения элементов целевого объекта.

Это один из тех методов, которые должны быть переопределены при создании подкласса LayoutBase. Другим методом является measure(). Вызов этих методов напрямую не требуется. Этот метод вызывается в среде Flex при передаче макета. Передача макета включает в себя три этапа.

Сначала, если свойства целевого объекта являются недопустимыми, LayoutManager обеспечивает вызов метода commitProperties для целевого объекта.

Сначала, если свойства целевого объекта являются недопустимыми, LayoutManager обеспечивает вызов метода validateSize() для целевого объекта. Метод целевого объекта validateSize() в свою очередь вызовет метод макета measure() для вычисления размера целевого объекта по умолчанию, если он не был явным образом задан с помощью свойств explicitWidth и explicitHeight целевого объекта. При изменении размера по умолчанию список отображения целевого объекта в среде Flex будет признан недействительным.

На последнем этапе, если список отображения целевого объекта является недействительным, LayoutManager обеспечит вызов метода validateDisplayList для целевого объекта. Метод validateDisplayList, в свою очередь, вызовет метод макета updateDisplayList для изменения размера и позиционирования элементов целевого объекта.

Типичная реализация обеспечивает выполнение итераций для элементов целевого объекта и использование методов, определенных ILayoutElement для позиционирования и изменения размера элементов. После этого макет также должен обеспечивать вычисление и установку значений свойств contentWidth и contentHeightдля определения области прокрутки целевого объекта.

measure
updateScrollRect Вызывается целевым объектом в конце updateDisplayList для обновления scrollRect макета.wШирина целевого объекта. hВысота целевого объекта. Вызывается целевым объектом в конце updateDisplayList для обновления свойства scrollRect макета.

Если clipAndEnableScrolling имеет значение true, реализация по умолчанию используется для установки происхождения scrollRect целевого объекта на verticalScrollPosition, horizontalScrollPosition. Устанавливает свой размер в параметрах width, height (немасштабированная ширина и высота целевого объекта).

Если clipAndEnableScrolling имеет значение false, реализация по умолчанию обеспечивает установку значения null для свойства scrollRect.

targetflash.display.DisplayObject.scrollRectupdateDisplayList()
clipAndEnableScrolling false dropIndicator DisplayObject, который этот макет использует для индикатора перетаскивания во время операции перетаскивания. DisplayObject, который этот макет использует для индикатора перетаскивания во время операции перетаскивания. Как правило, это свойство не устанавливается напрямую, вместо этого определяется элемент темы оформления dropIndicator в классе темы оформления объекта перетаскивания.

Элемент управления List назначает это свойство в ответ на событие DragEvent.DRAG_ENTER. List инициализирует это свойство с помощью экземпляра его компонента темы оформления dropIndicator. List устанавливает это свойство в ответ на событие DragEvent.DRAG_EXIT.

horizontalScrollPosition 0 target Контейнер GroupBase, элементы которого измеряются, получают размер и располагаются с использованием этого макета.spark.components.supportClasses:GroupBasenull Контейнер GroupBase, элементы которого измеряются, получают размер и располагаются с использованием этого макета.

Подклассы могут обеспечить повторное определение этого установщика для выполнения операций, специфичных для целевого объекта. Например, трехмерным макетом здесь может быть установлено свойство maintainProjectionCenter целевого объекта.

updateDisplayListmeasure
typicalLayoutElement Используется макетами в тех случаях, когда необходимы фиксированные размеры строк/столбцов, но при этом определенные размеры не указаны.null Используется макетами в тех случаях, когда необходимы фиксированные размеры строк/столбцов, но при этом определенные размеры не указаны. Используется виртуальными макетами для оценки размера элементов макета, которые не были прокручены с переводом в видимую область.

Это свойство ссылается на компонент, который Flex использует для определения высоты всех нижестоящих элементов контейнера, как показано в следующем примере:

      <s:Group>
        <s:layout>
          <s:VerticalLayout variableRowHeight="false"
              typicalLayoutElement="{b3}"/> 
        </s:layout>
        <s:Button id="b1" label="Button 1"/>
        <s:Button id="b2" label="Button 2"/>
        <s:Button id="b3" label="Button 3" fontSize="36"/>
        <s:Button id="b4" label="Button 4" fontSize="24"/>
      </s:Group>

Если это свойство не было установлено и целевому объекту не соответствует значение null, кэшируется и возвращается первый элемент макета.

Значением по умолчанию является первый элемент макета целевого объекта.

targetspark.layouts.VerticalLayout.variableRowHeightspark.layouts.HorizontalLayout.variableColumnWidth
useVirtualLayout В контейнере может находиться любое число нижестоящих элементов.false В контейнере может находиться любое число нижестоящих элементов. Однако каждому нижестоящему элементу требуется экземпляр средства визуализации. Если контейнер содержит много нижестоящих элементов, возможно уменьшение производительности при последующем добавлении дополнительных нижестоящих элементов в контейнер.

Вместо создания средства визуализации для каждого нижестоящего элемента можно настроить контейнер для использования виртуального макета. При работе с виртуальным макетом контейнер повторно использует средства визуализации элементов, создавая, таким образом, средства визуализации только для текущих нижестоящих элементов контейнера. Когда нижестоящий элемент перемещается за пределы экрана, например при прокрутке контейнера, его средство визуализации может использоваться новым нижестоящим элементом, который появляется на экране при прокрутке.

Для настройки контейнера с целью использования виртуального макета необходимо установить свойство useVirtualLayout на значение true для макета, ассоциированного с данным контейнером. Виртуальный макет поддерживается только DataGroup или SkinnableDataContainer с макетом, для которого установлено значение VerticalLayout, HorizontalLayout или TileLayout. Не поддерживающие виртуализацию подклассы макета должны предотвращать изменение этого свойства.

Примечание: Класс BasicLayout создает ошибку во время выполнения программы, если Вы устанавливаете useVirtualLayout к true.

При значении true поддерживающие виртуализацию макеты должны использовать метод target.getVirtualElementAt(), а не getElementAt(), а также должны получать только элементы, ожидаемые ими, которые будут видимы при выдаче значения getScrollRect().

При значении true, класс Layout должен обеспечивать вычисление индексов элементов макета, которые перекрывают scrollRect в его методе updateDisplayList(), основанного исключительно на кэшируемой информации, а не путем получения элементов макета и определения их границ.

Как правило, виртуальные макеты обновляют кэшируемую информацию через метод updateDisplayList()на основе размеров и местоположений, вычисленных для элементов в представлении.

Подобным образом, в методе measure() виртуальные макеты должны не измерять элементы, а обновить свойства измеренного размера целевого объекта, основанные на typicalLayoutElement и другой кэшируемой информации макета.

Контейнеры обмениваются данными с макетами, имеющими useVirtualLayout = true, путем повторного использования средств визуализации элементов, которые были созданы ранее, но более не используются. Элемент считается неиспользуемым, если его индекс находится вне диапазона индексов getVirtualElementAt() запрашиваемых в процессе самого последнего вызова updateDisplayList() контейнера.

getScrollRecttypicalLayoutElement
verticalScrollPosition 0
DropLocation Класс DropLocation содержит информацию, описывающую местоположение перетаскивания для перетаскиваемых данных при операции перетаскивания.Object Класс DropLocation содержит информацию, описывающую местоположение перетаскивания для перетаскиваемых данных при операции перетаскивания.

DropLocation создается классом LayoutBase, когда List вызывает метод calculateDropLocation() макета в ответ на dragOver.

Класс DropLocation используется макетом для различных операций, например для вычисления границ индикатора перетаскивания и дельт прокрутки при перетаскивании.

spark.layouts.supportClasses.LayoutBase.calculateDropLocation()spark.layouts.supportClasses.LayoutBase.calculateDropIndicatorBounds()DropLocation Конструктор. Конструктор. dragEvent DragEvent, ассоциированный с этим местоположением.null DragEvent, ассоциированный с этим местоположением. dropIndex Индекс перетаскивания, соответствующий событию.-1 Индекс перетаскивания, соответствующий событию. dropPoint Точка события в локальных координатах целевого объекта макета.null Точка события в локальных координатах целевого объекта макета.