如何为QML ScrollView中的滚动动画?
我已经在<%= link_to 'Remove', delete_image_attachment_job_url(image),
method: :delete,
data: { confirm: 'Are you sure?' } %>
上尝试过Behavior
,但这没用。
答案 0 :(得分:1)
您只需要为属性Date().timeIntervalSince1970
上的值更改设置动画。
一个简单的例子:
flickableItem.contentY
单击该按钮时,它将以100 px的速度平滑滚动。
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%。