Russian Qt Forum

Qt => Qt Quick => Тема начата: shtrix от Ноябрь 14, 2016, 12:09



Название: позиционирование элементов под разные размеры экранов (андроид)
Отправлено: shtrix от Ноябрь 14, 2016, 12:09
Написал программку.
Возникла проблема.
При использовании :
Код:
ColumnLayout {
        id: columnLayout2
        anchors.bottomMargin: 1
        anchors.topMargin: 1
        anchors.leftMargin: 1
        anchors.rightMargin: 1
        anchors.fill: parent
элементам в ColumnLayout устанавливаю свойство:
Код:
Layout.fillWidth: true

получаю :
(https://dl.dropboxusercontent.com/u/67078862/image/1.PNG)
при увеличении экрана:
(https://dl.dropboxusercontent.com/u/67078862/image/2.PNG)
получается не красиво.
Если ставить в центр
Код:
    ColumnLayout {
        id: columnLayout2
        anchors.centerIn: parent
на большом экране будет тоже не красиво:
(https://dl.dropboxusercontent.com/u/67078862/image/3.PNG)
Есть ли какие нибудь варианты как это сделать более эстетично(красиво)?


Название: Re: позиционирование элементов под разные размеры экранов (андроид)
Отправлено: navrocky от Декабрь 12, 2016, 22:57
Обычно делается несколько версток экрана под разные разрешения с помощью states либо в отдельных файлах. Переключать можно по условию:
Код:
Loader {
   id: loader
}

states: [
State {
   when: root.width > 800
   PropertyChanges { target: loader; url: "Form800.qml" }
}
]