如何预测在QML中捕获flickable的好位置

时间:2015-11-27 18:54:52

标签: qt qml flickable

我有一个flickable,我想要捕捉到某些位置(我以特定的方式计算)。我看到两个选择:

  1. in movementEnded我使用数字动画
  2. 捕捉到“contentX”的最近位置
  3. 在flickEnded中我使用数字动画
  4. 捕捉到“contentX”的最近位置

    选项1看起来不太好,移动停止,然后再次开始移动闪烁(捕捉位置相隔半个屏幕)。

    在选项2中,我发现难以选择卡扣位置。如果用户以快速移动方式滑动,我宁愿捕捉到靠近位置的位置,移动将在此处结束,但这很难预测。

    以下是选项1的示例代码:

    browserify path/to/npm/parse --standalone parse > parse-browser.js
    

1 个答案:

答案 0 :(得分:3)

  

在选项2中,我发现难以选择卡扣位置。如果是用户   快速移动的幻灯片,我宁愿抓住一个位置   靠近运动结束的位置,但这很难   预测。

你有水平和垂直速度的属性,所以除了那些你可以计算复合速度,还有另一个

property bool aboutToStop: horizontalVelocity + verticalVelocity < thresholdValue

onAboutToStopChanged: if (aboutToStop) playASnapAnimationToTheNearestItem()