diff options
author | Martin Jones <martin.jones@nokia.com> | 2010-06-08 01:36:49 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2010-06-08 01:36:49 (GMT) |
commit | 31de141d722a2994b98f079b5be91a98cb34a3dc (patch) | |
tree | b9adf3e476db3c898d0efbe7ed9fc06d0549a2f5 | |
parent | 315d186907c60b894b0bb1cf21e11758ee52966a (diff) | |
download | Qt-31de141d722a2994b98f079b5be91a98cb34a3dc.zip Qt-31de141d722a2994b98f079b5be91a98cb34a3dc.tar.gz Qt-31de141d722a2994b98f079b5be91a98cb34a3dc.tar.bz2 |
Add an example of animated item add/remove in ListView
-rw-r--r-- | examples/declarative/modelviews/listview/dynamic.qml | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/declarative/modelviews/listview/dynamic.qml b/examples/declarative/modelviews/listview/dynamic.qml index cf0e387..df2e094 100644 --- a/examples/declarative/modelviews/listview/dynamic.qml +++ b/examples/declarative/modelviews/listview/dynamic.qml @@ -95,6 +95,7 @@ Rectangle { id: fruitDelegate Item { + id: wrapper width: container.width; height: 55 Column { @@ -169,6 +170,38 @@ Rectangle { MouseArea { anchors.fill:parent; onClicked: fruitModel.remove(index) } } + + // Animate adding and removing items + ListView.delayRemove: true // so that the item is not destroyed immediately + ListView.onAdd: state = "add" + ListView.onRemove: state = "remove" + states: [ + State { + name: "add" + PropertyChanges { target: wrapper; height: 55; clip: true } + }, + State { + name: "remove" + PropertyChanges { target: wrapper; height: 0; clip: true } + } + ] + transitions: [ + Transition { + to: "add" + SequentialAnimation { + NumberAnimation { properties: "height"; from: 0; to: 55 } + PropertyAction { target: wrapper; property: "state"; value: "" } + } + }, + Transition { + to: "remove" + SequentialAnimation { + NumberAnimation { properties: "height" } + // Make sure delayRemove is set back to false so that the item can be destroyed + PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: false } + } + } + ] } } |