Ciao a tutti,
sto sviluppando un'applicazione in QML e ho bisogno di aggiungere un'animazione su una ListView al click del mouse, in modo che un certo elemento della ListView diventi visibile.

Per la parte del click del mouse non c'è problema (vi mostro la parte rilevante):

onClicked: {
    mouse.accepted = false
    goToIndex(index);
}

dove GoToIndex è questa funzione:

function goToIndex(index) {
    listView.positionViewAtIndex(index,listView.contain)
}

e, come detto, questo funziona senza problemi, l'elemento con indice index diventa visibile.

Per fare l'animazione ho aggiunto quindi:

ListView {
    id: listView

    Behavior on contentY {
        NumberAnimation {duration: 500}
    }
}

Ma non funziona. Dove sbaglio?

La documentazione che seguo è quella ufficiale per quanto riguarda Behavior, mentre per le ListView seguo quella di Ubuntu

Grazie,
R.

chiesto 28 Aug '13, 10:32

rpadovani's gravatar image

rpadovani ♦♦
3.1k51351

modificato 28 Aug '13, 11:47

Puoi aggiungere alla domanda il link alla documentazione che stai usando?

(28 Aug '13, 11:38) nico nico's gravatar image

@nico, done! :)

(28 Aug '13, 11:45) rpadovani ♦♦ rpadovani's gravatar image

Premetto che non conosco niente di QML (ne di QT, ne di programmazione ad eventi).

Behavior, per dirla alla buona, fa partire l'animazione quando cambia il valore di una proprietà (in questo caso il valore è numerico perché usi NumberAnimation). contentY è una proprietà di ListView?

Nell'esempio della doc Behavior lavora su width che è definito nell'oggetto Rectangle, quindi (se si può) o dovresti definire contentY dentro ListView o importare l'oggetto dove è definita.

Se ho detto stupidaggini mi scuso, ma la premessa era già un programma.

coll. permanente

ha risposto 28 Aug '13, 12:23

nico's gravatar image

nico
9833416

modificato 28 Aug '13, 12:26

Si, contentY è una proprietà di ListView. Per dirla tutta la mia è mera curiosità, perché un modo per fare l'animazione l'ho già trovato -> https://code.launchpad.net/~rpadovani/ubuntu-calculator-app/1214398

Volevo solo sapere se è possibile usare Behavior :)

Grazie per la risposta comunque,
R.

(28 Aug '13, 12:36) rpadovani ♦♦ rpadovani's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×45
×5
×2

domanda posta: 28 Aug '13, 10:32

domanda visualizzata: 2,667 volte

ultimo aggiornamento: 28 Aug '13, 12:36

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.