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

QML-тип ButtonLayout

Контейнер, управляющий расположением элементов типа Button. Подробнее…

Строка импорта: import Sailfish.Silica 1.0

Свойства

Прикрепляемые свойства

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

Тип ButtonLayout — контейнер, управляющий расположением элементов типа Button (кнопок) согласно правилам стилизации ОС Аврора.

Обычно он используется для группировки кнопок, управления их размерами и положением на экране. Это позволяет достичь приятного вида на различных типах устройств и разных языковых переводах, так как после перевода текста количество символов может различаться.

import QtQuick 2.2
import Sailfish.Silica 1.0

Page {
    ButtonLayout {
        Button {
            text: "Кнопка 1"
        }
        Button {
            text: "Кнопка 2"
        }
        Button {
            text: "Кнопка 3"
        }
    }
}

ButtonLayout позволяет убедиться, что все элементы Button выстроены в ряд и имеют одинаковый размер. Для кнопок в контейнере ButtonLayout будут всегда выбираться стандартные размеры (Button::preferredWidth) до тех пор, пока текст не перестанет умещаться в кнопку с размером Theme.buttonSizeLarge.

Размер для кнопок определяется максимумом:

  • самой широкой кнопки в ряду из кнопок;
  • ширины кнопки, достаточной для того, чтобы вместить текст;
  • свойства preferredWidth, указанного для кнопки;
  • свойства preferredWidth, указанного в контейнере ButtonLayout.

В дополнение к этому, соседние ряды с тем же количеством элементов получат такую же ширину кнопки.

См. также Button.

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

columnSpacing : real

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

preferredWidth : real

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

Данное свойство может принимать следующие значения:

  • Theme.buttonWidthExtraSmall — значение ширины самой маленькой кнопки в интерфейсе ОС Аврора, которое используется только в случае плотной компоновки кнопок. На экране с портретной ориентацией могут быть размещены три такие кнопки. В большинстве приложений следует избегать использования данного варианта.
  • Theme.buttonWidthSmall — значение ширины маленькой кнопки, которое используется по умолчанию. Данное значение подобрано так, что на экране с портретной ориентацией могут быть размещены две такие кнопки. На больших экранах или на экранах с альбомной ориентацией может быть размещено больше двух маленьких кнопок.
  • Theme.buttonWidthMedium — значение ширины средней кнопки. На экране (в зависимости от его размера и ориентации), как правило, может быть размещена только одна средняя кнопка.
  • Theme.buttonWidthLarge — значение ширины большой кнопки. На экране (в зависимости от его размера и ориентации), как правило, может быть размещена только одна большая кнопка.
rowSpacing : real

Содержит значение расстояния между рядами из кнопок.

Описание прикрепляемых свойств

ButtonLayout.newLine : bool

Данное прикрепляемое свойство определяет, будет ли элемент Button отрисован на новой строке.

Код в примере ниже должен был бы расположить две кнопки в один ряд. Однако, установка прикрепляемого свойства ButtonLayout.newLine в значение true для второго элемента Button приводит к тому, что кнопки будут отрисованы на двух строках.

import QtQuick 2.2
import Sailfish.Silica 1.0

Page {
    ButtonLayout {
        Button {
            text: "Кнопка 1"
        }
        Button {
            ButtonLayout.newLine: true
            text: "Кнопка 2"
        }
    }
}

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

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