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

QML-тип ListItem

Простой элемент в стиле ОС Аврора для создания интерактивных элементов списка. Подробнее…

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

Свойства

Методы

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

Тип ListItem реализует базовый интерактивный элемент списка в стиле ОС Аврора. Он позволяет:

  • показывать контекстное меню (задается в свойстве menu) при долгом нажатии на элемент списка;
  • заменять собой элемент RemorseItem при вызове метода remorseAction() (обычно используется для отображения таймера удаления, когда пользователь вызывает команду удаления элемента из контекстного меню);
  • запускать анимацию удаления при вызове метода animateRemoval().

Например:

import QtQuick 2.2
import Sailfish.Silica 1.0

ListView {
    id: view

    delegate: ListItem {
        id: listItem
        menu: contextMenu
        contentHeight: Theme.itemSizeMedium // Делегат высотой в две строки
        ListView.onRemove: animateRemoval(listItem)

        function remove() {
            remorseAction("Удаление", function() { view.model.remove(index) })
        }

        Label {
            id: label
            text: "Элемент: " + index
        }
        Label {
            anchors.top: label.bottom
            text: "Нижняя строка текста"
            font.pixelSize: Theme.fontSizeSmall
        }

        Component {
            id: contextMenu
            ContextMenu {
                MenuItem {
                    text: "Удалить"
                    onClicked: remove()
                }
            }
        }
    }

}

Примечание: высота элемента ListItem (свойство height) не должна изменяться, т.к. она увеличивается автоматически при открытии меню. Вместо этого высоту следует задавать с помощью свойства contentHeight.

См. также GridItem и BackgroundItem.

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

contentHeight : real

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

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

hidden : bool

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

highlighted : bool

При истинном значении свойства highlighted содержимое должно быть выделено другим цветом. Данное свойство истинно при истинном значении свойства down либо при открытом меню.

Дополнительную информацию об оформлении интерактивных элементов управления в ОС Аврора можно получить в описании типа Theme.

См. также BackgroundItem::highlighted.

menu : var

Содержит контекстное меню ContextMenu, которое открывается при долгом нажатии.

Это свойство может быть задано как значение типа Component с элементом верхнего уровня ContextMenu или как предварительно созданный объект ContextMenu. Если предоставлен тип Component, то контекстное меню ContextMenu может быть создано или удалено по мере необходимости. В большинстве случаев предпочтение следует отдавать использованию типа Component, чтобы избежать ненужной загрузки меню.

[read-only] menuOpen : bool

Истинно, когда меню, заданное свойством menu, открыто.

openMenuOnPressAndHold : bool

При истинном значении данного свойства долгое нажатие на элемент разрешает открытие меню, заданное свойством menu.

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

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

animateRemoval(Item delegate)

Создаёт и запускает анимацию RemoveAnimation. Аргумент delegate данного метода должен указывать на элемент верхнего уровня делегата, если он не наследуется от ListItem.

Анимация объекта с помощью метода animateRemoval() позволяет избежать создания RemoveAnimation в делегате.

См. также RemoveAnimation.

closeMenu()

Скрывает отображаемое в данный момент меню.

openMenu(object properties)

Отображает меню, заданное свойством menu.

С помощью необязательного параметра properties указываются набор пар ключ-значение, которые будут заданы меню.

remorseAction(string text, object action, int timeout)

Создаёт RemorseItem с text и устанавливает действие обратного вызова action. Аргумент timeout является необязательным и по умолчанию равен 4 секундам, если он не задан.

Наиболее распространённым вариантом использования элемента с возможностью отмены является удаление элемента. В этом случае можно опустить параметр text и вместо него использовать функцию remorseDelete(). В случаях удаления текстовое описание полностью опускается.

text должен содержать глагол, описывающий совершаемое действие. Следует использовать прошедшее время, чтобы яснее указать, что от пользователя не требуется никаких дополнительных шагов, если он не хочет отменить действие. Например, элемент, который раньше выводил текст «Очистка данных», теперь будет отображать «Данные очищены».

С точки зрения функциональности элементы, позволяющие отменять действия, работают как раньше.

Возвращает созданный экземпляр RemorseItem, который будет уничтожен автоматически после выполнения или отмены действия.

remorseDelete(object action, int timeout)

Создаёт экземпляр элемента RemorseItem и задаёт функцию обратного вызова для обработки действия action. Аргумент timeout не является обязательным и по умолчанию будет равен 4 секундам, если он не задан.

Возвращает созданный экземпляр RemorseItem, который будет уничтожен автоматически после выполнения или отмены действия.

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

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