У меня есть 2 просмотра: LoginScreen и MainScreen. Я использую replaceWith()
для переключения на главный экран. Они оба имеют одинаковые prefHeight
и prefWidth
. Проблема в том, что когда я перехожу с LoginScreen на MainScreen, нижняя часть окна защелкивается и увеличивается примерно на 30-40 пикселей.
Это был мой код:
loginScreen.replaceWith(mainScreen, sizeToScene = true, transition=metroAnimation)
и затем я попробовал это с sizeToScene=false
, и это сработало, больше не хватало ... однако я заметил другую проблему, около 30-40px вершины MainScreen исчезло:
sizeToScene=true
с растущим дном:
sizeToScene=false
, низ не растет, но верхняя часть съедается:
Как я могу это исправить, я что-то не так делаю?
Это мой главный экран:
class MainScreen : View("MainScreen") {
private val toolbarLayout: ToolbarLayout by inject()
override val root = borderpane {
addClass(screen)
top = toolbarLayout.root
center = flowpane {
vgap = 20.0
hgap = 20.0
paddingAll = 20
for (i in 0..14) {
add(MobileAppGridItemLayout(i))
}
}
}
}
Это мой ToolbarLayout
class ToolbarLayout : View() {
override val root = borderpane {
addClass(PanelStyle.toolbar)
paddingAll = 20
left {
hbox(20) {
label("MainView") {
addClass(PanelStyle.titleText)
textFill = Color.WHITE
}
}
}
right {
vbox {
button("Logout") {
addClass(toolbarButton)
}
}
}
}}
Это стиль по умолчанию для высоты и ширины экрана, используемый как в LoginScreen, так и в MainScreen:
screen {
prefHeight = 720.px
prefWidth = 1280.px
}
Отредактировано:
Я пробовал replaceWith()
без анимации и вот результаты:
- Когда
sizeToScene=false
, нет растущих низов и нет съеденных верхушек.
- Когда
sizeToScene=true
, дно растет.