如何在QML ScrollView中为滚动动画?

时间:2019-06-20 08:34:32

标签: qml qtquick2

如何为QML ScrollView中的滚动动画?

我已经在<%= link_to 'Remove', delete_image_attachment_job_url(image), method: :delete, data: { confirm: 'Are you sure?' } %> 上尝试过Behavior,但这没用。

1 个答案:

答案 0 :(得分:1)

使用Qt快速控件1

您只需要为属性Date().timeIntervalSince1970上的值更改设置动画。

一个简单的例子:

flickableItem.contentY

单击该按钮时,它将以100 px的速度平滑滚动。

使用Qt快速控件2

Item { anchors.fill: parent ColumnLayout { anchors.fill: parent Button { id: btn onClicked: scroll.scrollTo(scroll.flickableItem.contentY + 100) } ScrollView { id: scroll function scrollTo(y) { scrollAnimation.to = y scrollAnimation.start() } NumberAnimation on flickableItem.contentY { id: scrollAnimation duration: 1000 } contentItem: Column { Repeater { model: 30 Rectangle { width: 100; height: 40 border.width: 1 color: "yellow" } } } } } } 不再可用。在Qt Quick Controls 2中执行相同操作的最简单方法是设置flickableItem.contentY的位置动画。

请注意,ScrollBar的位置以百分比表示(在0到1之间),而不是像素。

QScrollBar

单击按钮时,它将滚动高度的10%。