使用QML Stackview滑动手势

问题描述 投票:0回答:1

因此QML StackView提供了一种通过pop()函数使用向后导航的方法。我正在寻找一种方法,只需通过跟随用户手指(有点像SwipeView)的UI元素向右滑动就可以到达上一页。我该如何实现?我环顾四周,我发现的只是这个https://github.com/alejoasotelo/SwipePageStackWindow,这是一个旧项目,与旧PageStack做类似的事情。

qml qt5 swipe swipe-gesture
1个回答
0
投票

一种可能的方法是创建一个名为swiper的自定义元素,该元素具有3页的swipeview。 1和3为空白,但2有内容。当页面1处于活动状态时,除非检测到向左滑动,否则它将允许所有事件通过。第2页有一个加载程序,因此您可以更改内容。

如果在彼此之上创建其中两个,则可以在需要切换视图时将它们移到另一个前面。两个加载程序意味着内容永远不会占用过多的内存。

所以您将拥有一个变量isBottomActive

和一种方法函数pushNewView(view)现在,如果您需要后退,只需向右滑动即可。滑动器视图索引更改(您可以在此处绑定方法,以使旧的滑动视图也以不同的视图移回到底部)

© www.soinside.com 2019 - 2024. All rights reserved.