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 // two line delegate
         ListView.onRemove: animateRemoval(listItem)

         function remove() {
             remorseAction("Deleting", function() { view.model.remove(index) })
         }

         Label {
             id: label
             text: "Item: " + index
             color: listItem.highlighted ? Theme.highlightColor : Theme.primaryColor
         }
         Label {
             anchors.top: label.bottom
             text: "Bottom line of text"
             font.pixelSize: Theme.fontSizeSmall
             color: listItem.highlighted ? Theme.highlightColor : Theme.secondaryColor
         }

         Component {
             id: contextMenu
             ContextMenu {
                 MenuItem {
                     text: "Remove"
                     onClicked: remove()
                 }
             }
         }
     }

 }

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

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

См. также BackgroundItem.

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

contentHeight : real

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

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

highlighted : bool

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

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

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

menu : var

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

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

[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 title,  object action,  int timeout)

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

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