是否可以根据堆栈视图中加载的下一个QML文件动态更改replaceEnter/Exit过渡动画。情况:
我有一个中心QML文件有4个按钮在屏幕的4个侧面。另外还有4个QML文件,分别是Top、Bottm、Right和Left。按下中心QML上的顶部按钮时,顶部qml文件应从上到下转换,并替换中心文件。同样,当按下中央QML上的左按钮时,左边的QML应从左到右进入那里的显示区,并替换中间的QML。
我尝试使用replaceEnter/Exit属性。但是不能理解如何根据要显示的下一个QML动态地改变它。
发布于 2020-06-15 03:13:31
看看doc中关于自定义Stackview过渡的信息。
如果您需要多个转换,您可以分别定义它们,然后在使用它们之前分配它们。下面是一个示例:
StackView {
id: control
pushEnter: topTransition
Transition {
id: topTransition
XAnimator {
from: (control.mirrored ? -1 : 1) * -control.width
to: 0
duration: 400
easing.type: Easing.OutCubic
}
}
Transition {
id: bottomTransition
XAnimator {
from: 0
to: (control.mirrored ? -1 : 1) * control.width
duration: 400
easing.type: Easing.OutCubic
}
}
Button {
text: "Push page from bottom"
onClicked: {
control.pushEnter = bottomTransition
control.push(bottomPage)
}
}
}
您必须在每次单击按钮之前显式设置所需的所有push/pop/replace转换。
https://stackoverflow.com/questions/62375186
复制相似问题