QML-тип Page

Предоставляет контейнер для содержимого одной страницы внутри приложения. Подробнее...

Строка импорта: import Sailfish.Silica 1.0
Наследуется от: SilicaControl
Наследники: ColorPickerPage, DatePickerDialog, Dialog и TimePickerDialog

Свойства

Подробное описание

Тип Page предоставляет контейнер для содержимого одной страницы внутри приложения.

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

Тип Page — это просто контейнер для содержимого страницы, значения свойств width и height которого автоматически принимают значения ширины и высоты экрана для текущей ориентации. Не следует использовать свойство anchors, т. к. это будет приводить к неправильному изменению размера. Отображение заголовка страницы обеспечивает тип PageHeader.

Следует обратить внимание, что при изменении ориентации или отображении панели ввода происходит изменение размеров страницы. Если размер страницы не позволяет отобразить все содержимое, то размещение содержимого в контейнере SilicaFlickable обеспечивает возможность прокрутки.

Ниже приведен пример страницы, на которой отображается простой список:

 import QtQuick 2.2
 import Sailfish.Silica 1.0

 Page {
     SilicaFlickable {
         anchors.fill: parent
         contentHeight: column.height
         Column {
             id: column
             width: parent.width
             spacing: 20

             PageHeader { title: "List of items" }
             Label { text: "Item 1" }
             Label { text: "Item 2" }
             Label { text: "Item 3" }
         }
     }
 }

Включение изменений ориентации

По умолчанию страницы поддерживают только портретную ориентацию, но возможна поддержка и других ориентаций, что задается значением свойства allowedOrientations. ApplicationWindow изменяет ориентацию пользовательского интерфейса в соответствии с ориентацией объекта типа Page, который в данный момент находится на вершине PageStack.

Чтобы обеспечить расположение элементов, оптимальное для текущей ориентации, следует использовать свойство orientation. Для упрощения выбора компоновки можно использовать свойства isPortrait и isLandscape.

При каждом изменении ориентации пользовательского интерфейса для анимации перехода применяется orientationTransitions. В анимации перехода по умолчанию выполняется затухание страницы, обновляются значения задействованных свойств (включая orientation), затем страница проявляется в новой ориентации. Для страницы можно создать пользовательскую анимацию перехода путем переопределения анимации, используемую по умолчанию. С помощью свойства defaultOrientationTransition можно задать анимацию перехода, которая будет использоваться по умолчанию.

Описание свойств

allowedOrientations : enumeration

Определяет разрешенные ориентации. Значение может быть любой комбинацией из:

  • Orientation.Portrait;
  • Orientation.Landscape;
  • Orientation.PortraitInverted;
  • Orientation.LandscapeInverted.

Кроме этого, могут быть использованы следующие значения:

  • Orientation.PortraitMask;
  • Orientation.LandscapeMask;
  • Orientation.All.

Ориентация интерфейса пользователя управляется путем изменения значения свойства allowedOrientations. Если текущая ориентация устройства разрешена маской allowedOrientations страницы Page в вершине PageStack, то каждый раз при изменении ориентации устройства она будет автоматически выбрана в качестве текущей ориентации пользовательского интерфейса.

Если текущая ориентация устройства разрешена, то при изменении свойства allowedOrientations она сразу будет выбрана в качестве ориентации интерфейса пользователя. В противном случае, будет проверена следующая последовательность ориентаций относительно маски, и будет выбрана первая разрешенная ориентация: Portrait, Landscape, LandscapeInverted, PortraitInverted.

Значение по умолчанию: Orientation.All.

См. также orientation и ApplicationWindow.deviceOrientation.

backNavigation : bool

Определяет, возможно ли совершать действие перемещения назад по стеку относительно страницы Page.

Значение по умолчанию: true.

canNavigateForward : bool

Определяет, разрешено ли совершать действие перемещения вперед по стеку в данный момент.

Например, данное свойство применимо, когда требуется не допустить перемещение по стеку вперед до того, как все данные будут добавлены на страницу Page.

См. также forwardNavigation.

defaultOrientationTransition : Transition

Содержит объект типа Transition, который используется по умолчанию при изменении ориентации устройства.

См. также orientation и orientationTransitions.

forwardNavigation : bool

Определяет, возможно ли совершать действие перемещения вперед по стеку относительно страницы Page.

Истинно, если страница Page имеет прикрепленную страницу.

См. также canNavigateForward.

isLandscape : bool

Истинно, если текущая ориентация является альбомной (landscape).

См. также orientation и isPortrait.

isPortrait : bool

Истинно, если текущая ориентация является портретной (portrait).

См. также orientation и isLandscape.

navigationStyle : enumeration

Определяет стиль навигации страницы. Данное свойство может принимать одно из двух значений:

  • PageNavigation.Horizontal — горизонтальный стиль навигации;
  • PageNavigation.Vertical — вертикальный стиль навигации.

Горизонтальный стиль навигации используется в большинстве случаев: новые страницы добавляются в стек справа, возврат к старым страницам осуществляется путем проведения по экрану слева направо. Вертикальный стиль навигации может быть полезен, если жесты по горизонтали уже зарезервированы под какие-нибудь другие действия. Например, страница может показывать карусель изображений, которая прокручивается по горизонтали. С помощью вертикального стиля навигации можно организовать перемещение между страницами путем проведения по экрану вверх и вниз.

Значение по умолчанию: PageNavigation::Horizontal.

orientation : enumeration

Содержит текущую ориентацию интерфейса пользователя.

  • Orientation.Portrait;
  • Orientation.Landscape;
  • Orientation.PortraitInverted;
  • Orientation.LandscapeInverted.

Для проверки портретной и альбомной ориентации, без учета естественных или инвертированных вариантов, могут быть использованы следующие маски:

  • Orientation.PortraitMask;
  • Orientation.LandscapeMask;

Данное свойство описывает текущую ориентацию интерфейса пользователя, выбранную маской allowedOrientations. Она может использоваться для настройки расположения элементов пользовательского интерфейса в соответствии с текущей ориентацией. Изменение значения свойства orientation сопровождается анимацией перехода.

Значение по умолчанию: Orientation.All.

См. также allowedOrientations, isPortrait, isLandscape и ApplicationWindow.

orientationTransitionRunning : bool

Истинно в течение времени выполнения анимации перехода ориентации.

См. также orientationTransitions.

orientationTransitions : list

Содержит список объектов Transition, используемых для анимации перехода от одной ориентации к другой.

Объект Transition должен создавать анимированный переход между следующими состояниями:

  • Portrait
  • Landscape
  • PortraitInverted
  • LandscapeInverted

С помощью объекта PropertyChanges разрешено переопределить следующие свойства страницы:

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

См. также defaultOrientationTransition.

pageContainer : Item

Содержит объект типа PageStack, который управляет страницей Page. Значение данного свойства равно null, если страница находится не в стеке.

showNavigationIndicator : bool

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

Значение по умолчанию: true.

status : enumeration

Содержит текущий статус страницы в объекте типа PageStack и принимает одно из следующих значений:

  • PageStatus.Inactive — страница не активна в стеке страниц и не отображается;
  • PageStatus.Activating — страница переходит в статус PageStatus.Active;
  • PageStatus.Active — страница является активной страницей;
  • PageStatus.Deactivating — страница переходит в статус PageStatus.Inactive.

Следует обратить внимание, что изменения состояния приложения не влияют на состояние страниц в стеке страниц.