У меня есть флип, который я хочу привязать к определенным позициям (которые я вычисляю определенным образом). Я вижу два варианта:Как предсказать хорошую позицию для привязки движущихся объектов в QML
- в movementEnded я привязываюсь к ближайшей позиции к «contentX» с номером анимацией в 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()
}
Что делает ваш код выглядит как? Похоже, вы знаете, что вам нужно делать (вариант 2), но у вас пока нет правильной формулы. Если вы покажете нам, как вы пытаетесь предсказать движение, мы можем вам помочь. Как всегда, минимальный, полный пример означает, что вы получите больше ответов. – Mitch