QML-тип ButtonLayout
Контейнер, управляющий расположением элементов типа Button
. Подробнее…
Строка импорта: | import Sailfish.Silica 1.0 |
Свойства
- columnSpacing : real
- preferredWidth : real
- rowSpacing : real
Прикрепляемые свойства
- newLine : bool
Подробное описание
Тип 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"
}
}
}