特定の位置にスナップしたいフリック可能があります(特定の方法で計算します)。2 つのオプションが表示されます。
- 数字のアニメーションで「contentX」に最も近い位置にスナップします
- in flickEnded 数字のアニメーションで「contentX」に一番近い位置にスナップ
オプション 1 は見栄えが悪く、動きが停止し、その後フリック可能オブジェクトが再び動き始めます (スナップ位置は画面の半分離れています)。
オプション 2 では、スナップ位置の選択が難しいと思います。ユーザーが速い動きでスライドする場合、動きが終了する位置に近い位置にスナップしたいのですが、それを予測するのは困難です。
オプション 1 のコード例を次に示します。
NumberAnimation on contentY {
id: yAnimation
to: 0
duration: 200
}
onMovementEnded: {
var index = Math.round(contentY / (itemHeight))
yAnimation.to = index * itemHeight
yAnimation.start()
}