Italiano English Spanish

Hai mai desiderato fare in modo che quando l’utente fa clic su qualcosa, si scatenino una serie di effetti ritardati? Ad esempio, l’apertura e la chiusura di una lista?

Il seguente esempio parte con un cerchio rosso. Quando l’utente fa clic sul cerchio, anima un rettangolo e fa partire un timer. Quando il timer scatta, anima il rettangolo e lo fa ritornare dentro il cerchio.

  1. import QtQuick 1.0
  2.  
  3. Rectangle {
  4.     property int time: 800
  5.     property int size: 300
  6.     width: size; height: size; radius: size
  7.     color: "red"
  8.     Behavior on radius { NumberAnimation { duration: time } }
  9.     Timer {
  10.         id: reset
  11.         interval: time;
  12.         onTriggered: parent.radius = size
  13.     }
  14.  
  15.     MouseArea {
  16.         anchors.fill: parent
  17.         onClicked: {
  18.             parent.radius = 0;
  19.             reset.start()
  20.         }
  21.     }
  22. }

Nota che se vuoi che l’animazione inizi subito dopo la precedente puoi usare SequentialAnimation. Questo esempio ha lo scopo di mostrare i ritardi arbitrari nelle animazioni.

Relativo thread nel forum: http://developer.qt.nokia.com/forums/viewthread/2085/

Categories: