QML-тип Page
Одна страница внутри приложения. Подробнее…
Строка импорта: | import Sailfish.Silica 1.0 |
Наследуется от: | SilicaControl |
Наследники: | ColorPickerPage, DatePickerDialog, Dialog и TimePickerDialog |
Свойства
- allowedOrientations : enumeration
- backNavigation : bool
- background : Component
(preliminary)
- backgroundColor : color
(preliminary)
- canNavigateForward : bool
- defaultOrientationTransition : Transition
- forwardNavigation : bool
- highContrast : bool
(preliminary)
- isLandscape : bool
- isPortrait : bool
- navigationStyle : enumeration
- orientation : enumeration
- orientationTransitionRunning : bool
- orientationTransitions : list<Transition>
- pageContainer : Item
- showNavigationIndicator : bool
- status : enumeration
Подробное описание
Тип 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: "Список элементов" }
Label { text: "Элемент 1" }
Label { text: "Элемент 2" }
Label { text: "Элемент 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
.
background : Component
Это свойство QML находится в стадии разработки и может быть изменено.
Фон Page
.
Фоны Page
строятся позади элемента страницы и исключаются из некоторых трансформаций, например, переходов с
угасанием при изменении атмосферы и ориентации, которые обычно вызывают временное отображение фона приложения.
Некоторые элементы, такие как DialogHeader, скрывают контент, который прокручивается за элементом,
создавая копию фона страницы, поэтому важно использовать элемент с независимым от позиции рендерингом, например,
Sailfish.Silica.Background
. Таким образом, эти меньшие обрезанные элементы
отображают то же содержимое, что и более крупный элемент полной страницы за ними.
Свойства ApplicationWindow::background.wallpaper и ApplicationWindow::background.image могут также использоваться для установки широкого фона приложения.
backgroundColor : color
Это свойство QML находится в стадии разработки и может быть изменено.
Цвет фона страницы.
По умолчанию он прозрачный, и фон приложения будет виден за страницей.
canNavigateForward : bool
Определяет, разрешено ли совершать действие перемещения вперед по стеку в данный момент.
Например, данное свойство применимо, когда требуется не допустить перемещение по стеку вперед до того, как все данные
будут добавлены на страницу Page
.
См. также forwardNavigation.
defaultOrientationTransition : Transition
Содержит объект типа Transition
, который используется по умолчанию при изменении ориентации устройства.
См. также orientation и orientationTransitions.
forwardNavigation : bool
Определяет, возможно ли совершать действие перемещения вперед по стеку относительно страницы Page
.
Истинно, если страница Page
имеет прикреплённую страницу.
См. также canNavigateForward.
highContrast : bool
Это свойство QML находится в стадии разработки и может быть изменено.
Увеличивает контраст между фоном приложения и текстом на переднем плане.
Полезно для ввода текста и чтения крупных страниц, где требуется высокая контрастность для максимальной разборчивости.
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
, используемых для анимации перехода от одной ориентации к другой.
Объект Transition
должен создавать анимированный переход между следующими состояниями:
Portrait
;Landscape
;PortraitInverted
;LandscapeInverted
.
С помощью объекта PropertyChanges разрешено переопределить
следующие свойства типа Page
:
Кроме того, изменяется значение свойства 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
.
Следует обратить внимание, что изменения состояния приложения не влияют на состояние страниц в стеке.