Документация
ОС Аврора 5.1.5

QML-тип PushUpMenu

Добавляет вытягиваемое снизу меню в представлениях Silica. Примечание…

Строка импорта: import Sailfish.Silica 1.0
Наследуется от: Item

Свойства

Методы

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

Тип PushUpMenu предоставляет глобальные действия для представлений SilicaFlickable, SilicaListView, SilicaGridView и SilicaWebView. Раскрывающееся меню располагается под содержимым экрана. Чтобы открыть раскрывающееся меню, следует коснуться экрана выше полосы и, не отрываясь, провести по экрану вверх. Чтобы активировать пункт такого меню, необходимо выполнить одно из следующих действий:

  • не отрывая пальца от экрана, провести вверх, остановить выбор на нужном пункте, отпустить палец от экрана;
  • проведя пальцем по экрану сверху вниз, раскрыть меню целиком, затем коснуться нужного пункта.

Вытягиваемое снизу меню заполняется путем создания объектов типа MenuItem в качестве дочерних элементов PushUpMenu. Сюда же в качестве дочерних элементов можно включить объекты типа MenuLabel (неинтерактивные метки).

import QtQuick 2.2
import Sailfish.Silica 1.0

ApplicationWindow {
    initialPage: Page {
        SilicaListView {
            PushUpMenu {
                MenuItem {
                    text: "Опция 1"
                    onClicked: console.log("Нажата опция 1")
                }
                MenuItem {
                    text: "Опция 2"
                    onClicked: console.log("Нажата опция 2")
                }
                MenuLabel { text: "Информационная метка" }
            }

            anchors.fill: parent
            header: PageHeader { title: "Заголовок" }
            model: 100
            delegate: ListItem {
                Label {
                    text: "Элемент " + model.index
                    anchors.centerIn: parent
                }
            }
        }
    }
}

Следует обратить внимание, что элементы типа PushUpMenu можно создавать только внутри контейнеров SilicaFlickable, SilicaListView, SilicaGridView или SilicaWebView. Для добавления меню проще всего "завернуть" его в контейнер типа SilicaFlickable:

// Без вытягиваемого снизу меню
Page {
    Column {
        width: parent.width

        PageHeader {}
        Slider { width: parent.width }
    }
}
// С вытягиваемым снизу меню
Page {
    SilicaFlickable {
        anchors.fill: parent
        contentHeight: column.height

        PushUpMenu {
            MenuItem {
                text: "Опция 1"
                onClicked: console.log("Нажата опция 1")
            }
        }

        Column {
            id: column
            width: parent.width

            PageHeader {}
            Slider { width: parent.width }
        }
    }
}

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

"Отступы PushUpMenu"

Элементы типов PullDownMenu и PushUpMenu позволяют создавать меню сверху и снизу экрана, соответственно.

См. также MenuItem, PullDownMenu и ContextMenu.

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

active : bool

Истинно, если вытягиваемое снизу меню частично или полностью отображается на экране.

background : Component

Содержит компонент, который используется для отрисовки фона меню. Рекомендуется, чтобы фон имел нулевой spacing относительно нижней кромки области меню. Например:

PushUpMenu {
    background: Rectangle {
        anchors {
            fill: parent
            topMargin: parent.spacing
        }
        opacity: Theme.highlightBackgroundOpacity
        color: Theme.highlightColor
    }
}
backgroundColor : color

Содержит цвет фона меню. Отрисовывается с применением эффекта градиента.

См. также highlightColor.

bottomMargin : real

Отступ между последним пунктом меню и нижней границей меню.

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

См. также topMargin и spacing.

busy : bool

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

flickable : Item

Указывает представление SilicaFlickable, SilicaListView, SilicaGridView или SilicaWebView, в которое будет добавлено меню PushUpMenu.

Если свойство flickable не задано, то меню будет добавлено в ближайший родительский элемент Flickable.

highlightColor : color

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

См. также backgroundColor.

quickSelect : bool

Если свойство quickSelect имеет истинное значение, то меню, состоящее из одного пункта, не фиксируется при вытягивании.

Это позволяет быстро выбирать пункт меню сразу же после открытия меню. Такое поведение уместно использовать в сигнализирующих диалогах, когда от пользователя требуется быстрая реакция.

spacing : real

Зазор в пикселях между содержимым страницы и индикатором меню.

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

См. также topMargin и bottomMargin.

topMargin : real

Отступ между индикатором меню и первым пунктом меню.

Значение по умолчанию учитывает возможное наличие элемента MenuLabel в начале меню. Если первым дочерним элементом меню является MenuLabel, значение этого свойства равно 0, в противном случае — высоте элемента MenuLabel. Таким образом при открытии меню как с элементом MenuLabel, так и без него обеспечивается характерное поведение пользовательского интерфейса.

См. также bottomMargin и spacing.

Описание методов

cancelBounceBack()

Обычно после того, как пункт меню выбран, выполняется короткая анимация возврата вытягиваемого снизу меню в исходное закрытое положение. Однако, в некоторых случаях это может противоречить действию, которое выполняется в результате выбора пункта меню. Чтобы отключить анимацию возврата меню после выбора пункта меню, следует вызвать метод cancelBounceBack() в обработчике onClicked соответствующего пункта меню. Анимация возврата меню в исходное положение снова будет выполняться при следующем открытии меню.

См. также close.

close(bool immediate)

Закрывает меню.

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

См. также cancelBounceBack.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.