Rect { width: 400 height: 300 color: "white" // MyPets model is defined in dummydata/MyPetsModel.qml // The viewer automatically loads files in dummydata/* to assist // development without a real data source. // This one contains my pets. // Define a delegate component. A component will be // instantiated for each visible item in the list. Component { id: PetDelegate Item { id: Wrapper width: 200 height: 50 VerticalLayout { Text { text: 'Name: ' + name } Text { text: 'Type: ' + type } Text { text: 'Age: ' + age } } // Use the ListView.isCurrentItem attached property to // indent the item if it is the current item. states: [ State { name: "Current" when: Wrapper.ListView.isCurrentItem SetProperty { target: Wrapper property: "x" value: 10 } } ] transitions: [ Transition { NumericAnimation { properties: "x" duration: 200 } } ] } } // Specify a highlight with custom movement. Note that autoHighlight // is set to false in the ListView so that we can control how the // highlight moves to the current item. Component { id: PetHighlight Rect { width: 200 height: 50 color: "#FFFF88" y: Follow { source: List1.current.y spring: 3 damping: 0.1 } } } ListView { id: List1 width: 200 height: parent.height model: MyPetsModel delegate: PetDelegate highlight: PetHighlight autoHighlight: false focus: true } }