Mashup Builder > Мэшапы > Адаптивные мэшапы > Конфигурирование прокрутки контейнера
Конфигурирование прокрутки контейнера
В адаптивной компоновке контейнеры используются для разделения и организации виджетов на разделы, к которым можно применять опции компоновки. По умолчанию все содержимое адаптивного мэшапа отображается в соответствии с доступным размером экрана. Если содержимое в пределах одного контейнера превышает доступное пространство, необходимое для отображения содержимого, в контейнере отображаются полосы прокрутки. Это позволяет сохранить уже определенную компоновку контейнера при изменении доступного пространства на экране. Требуемый размер контейнера также может изменяться в зависимости от типа виджетов, которые должны отображаться в контейнере. Например, можно сгруппировать кнопки со статическими текстовыми метками в контейнере с минимальной шириной и высотой, необходимыми для отображения кнопок. В этом примере не предполагается увеличивать контейнер, поскольку он имеет статические элементы интерфейса пользователя.
При добавлении вложенных контейнеров и использовании вложенных мэшапов для построения более сложных компоновок пространство, доступное для каждого контейнера, становится меньше. Это может повлиять на такие виджеты, как сетки, списки и другие виджеты, используемые для динамического отображения данных, загруженных из сервисов данных или пользовательского ввода. Если размер одного или нескольких виджетов начинает превышать доступное пространство в контейнере, часть контейнера скрывается и отображаются полосы прокрутки. В некоторых случаях это может повлиять на взаимодействие с пользователем, а также может потребоваться отображение полного содержимого контейнера без отображения полосы прокрутки.
Можно использовать опции Прокрутка контейнера на панели Компоновка, чтобы сконфигурировать поведение контейнера, в случае если содержимое слишком велико, чтобы поместиться в доступном пространстве. Эти опции доступны для любых контейнеров в компоновке, содержащей два или более вложенных контейнера. Если компоновка мэшапа содержит два или более вложенных контейнера с полосами прокрутки, можно отображать полосу прокрутки на родительском элементе и предусматривать увеличение вложенных контейнеров по мере необходимости. Это позволяет скрыть все полосы прокрутки внутри встроенных контейнеров и отображать их полное содержимое. В зависимости от количества уровней контейнеров, существующих в компоновке, можно выбрать отображение полосы прокрутки в контейнере верхнего уровня или вложенного контейнера с несколькими вложенными контейнерами. Эта опция позволяет создавать адаптивные мэшапы, более динамичные при работе с виджетами или вложенными мэшапами, размеры которых могут быть непредсказуемыми.
Конфигурирование прокрутки в ThingWorx 9.3 или более поздних версиях
По умолчанию в мэшапе отображаются горизонтальные и вертикальные полосы прокрутки, если содержимое превышает доступное пространство. Положение полосы прокрутки определяется содержимым каждого контейнера в компоновке. Тем не менее включение полос прокрутки для каждого контейнера может привести к тому, что в сложных компоновках будут отображаться несколько полос прокрутки, что может повлиять на удобство использования. Теперь можно сконфигурировать горизонтальную и вертикальную прокрутку, чтобы управлять расположением полос прокрутки в компоновке.
Прокрутку контейнера можно отключить, только если он содержит один из следующих элементов:
Неадаптивные виджеты, такие как кнопки, метки и текстовые поля.
Адаптивные виджеты, для которых задан фиксированный размер.
Виджет "Расширенная сетка" с заданным значением true для свойства EnableContainerScroll.
Чтобы отключить вертикальную прокрутку, выполните следующие действия.
1. На панели Проводник выберите контейнер, а затем откройте панель Компоновка.
2. В разделе Прокрутка контейнера > Вертикальная выберите Отключено.
3. Щелкните Сохранить.
Чтобы отключить горизонтальную прокрутку, выполните следующие действия.
На панели Проводник выберите контейнер, а затем откройте панель Компоновка.
В разделе Прокрутка контейнера > Горизонтальная выберите Отключено.
Можно также использовать панель Свойства, чтобы задать минимальный размер для каждого виджета в контейнере.
* 
При задании минимального размера виджеты не становятся слишком маленькими, если доступное пространство ограничено. Кроме того, метки для таких виджетов, как "Кнопка", "Ссылка" и "Метка", отсекаются.
Щелкните Сохранить.
Конфигурирование прокрутки в ThingWorx 9.2 или более поздних версиях
* 
Эта опция влияет только на текущий мэшап. Чтобы применить эту опцию к компоновке с вложенными мэшапами, выключите встроенную прокрутку для контейнера верхнего уровня каждого вложенного мэшапа в компоновке.
Чтобы сконфигурировать опции прокрутки для контейнера, выполните следующие действия.
1. На панели Проводник выберите любой контейнер с двумя или более прямыми потомками. Выбранный контейнер подсвечивается в дереве модели и на канве.
Древовидное представление контейнеров мэшапов. Выбирается мэшап с тремя вложенными контейнерами.
2. На панели Компоновка в разделе Прокрутка контейнера выберите Прокрутить текущий контейнер.
3. Убедитесь, что опции выравнивания и распределения для контейнера не центрированы.
Если задана Вертикальная ориентация, выровняйте элементы по верхнему или нижнему краю.
Если задана Горизонтальная ориентация, выровняйте элементы по левому или правому краю.
* 
Использование выравнивания по центру может скрыть часть содержимого во вложенных контейнерах.
Если размер вложенного контейнера начинает превышать доступное пространство, в выбранном контейнере отображаются полосы прокрутки. В следующих случаях вложенные контейнеры с содержимым, требующим большего пространства, разворачиваются и отображается их полное содержимое:
Если виджет или дочерний контейнер имеет фиксированный размер, превышающий размер родительского контейнера.
Если высота или ширина адаптивного виджета изменяется в соответствии с содержимым и становится больше размеров родительского контейнера.
При выключении встроенной прокрутки для одного контейнера та же самая опция автоматически применяется ко всем контейнерам на этом же уровне. Чтобы включить встроенную прокрутку в одном из этих контейнеров, необходимо выбрать контейнер, а затем задать фиксированный размер или диапазон размеров на панели Компоновка.
Рассмотрим следующий пример компоновки, в котором мэшап разделен на несколько контейнеров:
Контейнер меню с фиксированной высотой - сверху
Контейнер боковой панели с фиксированной шириной - слева
Главный контейнер с тремя вложенными контейнерами, расположенными вертикально, - в середине
Фиксированный контейнер с кнопками - внизу
На следующем рисунке показана структура компоновки главного контейнера на панели Проводник.
Средний контейнер называется container-7. Для каждого из его вложенных контейнеров имеется метка и виджет текстового поля, отображающий данные из сервиса данных. По умолчанию при переполнении содержимого из доступного пространства в конкретном контейнере отображается полоса прокрутки. На следующем рисунке показан мэшап со средним контейнером, разделенным на три контейнера. В каждом контейнере имеются адаптивные виджеты с размером, превышающим доступное пространство, и отображается полоса прокрутки.
Для просмотра содержимого каждого контейнера необходимо прокручивать каждый контейнер отдельно. Для управления размером вложенных контейнеров можно использовать опции прокрутки контейнера на панели Компоновка. На следующем рисунке показан мэшап с опцией Прокрутить текущий контейнер, выбранной для контейнера container-7. Элементы в контейнере выравниваются по верхнему краю.
Вложенные контейнеры разворачиваются в компоновке в соответствии с содержимым, а в родительском контейнере отображается одна полоса прокрутки. Можно прокручивать родительский контейнер для просмотра содержимого всех трех вложенных контейнеров.
Было ли это полезно?