Autore Topic: Animazione in un oggetto Canvas  (Letto 1380 volte)

Offline Alessio_roma™

  • Utente junior
  • **
  • Post: 50
  • Respect: 0
    • Mostra profilo
    • www.blogarm.tk
  • Dispositivo Android:
    LG Nexus 4
  • Sistema operativo:
    Windows 7 ultimate x64, Ubuntu 14.04
Animazione in un oggetto Canvas
« il: 10 Marzo 2013, 22:27:34 CET »
0
Sto utilizzando una classe estesa a View,nella quale utilizzo il metodo onDraw(Canvas canvas) per disegnare alcune Bitmap,delle quali conosco le coordinate X e Y,come posso fare in modo che una delle Bitmap disegnate all'interno dell'oggetto canvas venga traslata dopo una selezione della stessa attraverso l'onTouchEvent? In breve,se tocco una delle bitmap voglio che questa si sposti di alcuni punti sull'asse y mentre le altre Bitmap rimangono al loro posto.

Ho visto che per quello che voglio fare basterebbe una TranslateAnimation ma non so come applicarla esclusivamente ad una Bitmap che viene disegnata insieme alle altre solo all'avvio dell'applicazione,tramite onDraw,c'è un modo per far aggiornare il "disegno"?
I MIEI SITI:
RPG & Fantasy -> La Fucina di Harad
Pagina personale -> Il Web di Alessio_roma™

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Animazione in un oggetto Canvas
« Risposta #1 il: 10 Marzo 2013, 22:43:37 CET »
0
View | Android Developers
Citazione
Drawing

Drawing is handled by walking the tree and rendering each view that intersects the invalid region. Because the tree is traversed in-order, this means that parents will draw before (i.e., behind) their children, with siblings drawn in the order they appear in the tree. If you set a background drawable for a View, then the View will draw it for you before calling back to its onDraw() method.

Note that the framework will not draw views that are not in the invalid region.

To force a view to draw, call invalidate().
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Alessio_roma™

  • Utente junior
  • **
  • Post: 50
  • Respect: 0
    • Mostra profilo
    • www.blogarm.tk
  • Dispositivo Android:
    LG Nexus 4
  • Sistema operativo:
    Windows 7 ultimate x64, Ubuntu 14.04
Re:Animazione in un oggetto Canvas
« Risposta #2 il: 10 Marzo 2013, 23:21:36 CET »
0
View | Android Developers
Ho capito,ma un conto è aggiornare un disegno,un conto è creare un animazione all'interno del disegno,come faccio?
I MIEI SITI:
RPG & Fantasy -> La Fucina di Harad
Pagina personale -> Il Web di Alessio_roma™

Offline Alessio_roma™

  • Utente junior
  • **
  • Post: 50
  • Respect: 0
    • Mostra profilo
    • www.blogarm.tk
  • Dispositivo Android:
    LG Nexus 4
  • Sistema operativo:
    Windows 7 ultimate x64, Ubuntu 14.04
Re:Animazione in un oggetto Canvas
« Risposta #3 il: 13 Marzo 2013, 22:20:53 CET »
0
nessuno sa aiutarmi?
I MIEI SITI:
RPG & Fantasy -> La Fucina di Harad
Pagina personale -> Il Web di Alessio_roma™

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Animazione in un oggetto Canvas
« Risposta #4 il: 14 Marzo 2013, 07:57:09 CET »
0
nessuno sa aiutarmi?

Non avevo risposto perchè ritenevo che la mia risposta non ti sarebbe stata molto di aiuto: se interagisci "manualmente" con il canvas, mi sa che devi farti tutto da solo, quindi crearti il tuo Listener per gli eventi touch, ottenere le coordinate e disegnare la bitmap nella posizione che ti serve, ovviamente facendo iniziare il trascinamento quando parte il touch e facendolo finire quando termina il touch.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Alessio_roma™

  • Utente junior
  • **
  • Post: 50
  • Respect: 0
    • Mostra profilo
    • www.blogarm.tk
  • Dispositivo Android:
    LG Nexus 4
  • Sistema operativo:
    Windows 7 ultimate x64, Ubuntu 14.04
Re:Animazione in un oggetto Canvas
« Risposta #5 il: 14 Marzo 2013, 11:01:34 CET »
0
Non avevo risposto perchè ritenevo che la mia risposta non ti sarebbe stata molto di aiuto: se interagisci "manualmente" con il canvas, mi sa che devi farti tutto da solo, quindi crearti il tuo Listener per gli eventi touch, ottenere le coordinate e disegnare la bitmap nella posizione che ti serve, ovviamente facendo iniziare il trascinamento quando parte il touch e facendolo finire quando termina il touch.
Le Bitmap già riesco a disegnarle come voglio,ovvero sovrapposte per metà,riesco anche ad ottenere le coordinate tramite l'onTouchEvent,il problema sarebbe creare un animazione facendo spostare una delle bitmap verso altre coordinate,ho provato anche con invalidate() però mi da una schermata bianca perchè vado a modificare le coordinate all'interno del metodo draw dell'oggetto Canvas.Mi sa che per fare ciò che voglio,dovrò passare ai layout e alle imageview...

qualcuno mi può dire se su un layout è possibile disporre gli elementi attraverso le coordinate x e y come fosse un oggetto Canvas? Che tipo di Layout potrei utilizzare?
I MIEI SITI:
RPG & Fantasy -> La Fucina di Harad
Pagina personale -> Il Web di Alessio_roma™

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Animazione in un oggetto Canvas
« Risposta #6 il: 14 Marzo 2013, 11:34:08 CET »
0
proprio oggi è uscito questo:
Using Touch Gestures | Android Developers
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Alessio_roma™

  • Utente junior
  • **
  • Post: 50
  • Respect: 0
    • Mostra profilo
    • www.blogarm.tk
  • Dispositivo Android:
    LG Nexus 4
  • Sistema operativo:
    Windows 7 ultimate x64, Ubuntu 14.04
Re:Animazione in un oggetto Canvas
« Risposta #7 il: 14 Marzo 2013, 19:01:16 CET »
0
proprio oggi è uscito questo:
Using Touch Gestures | Android Developers
ti ringrazio ma non è di questo che ho bisogno,già riesco a gestire le gesture,il problema ce l'ho nel ridisegnare una bitmap in una diversa posizione nella canvas,però mi sto rendendo conto che c'è un errore di fondo in quello che ho fatto,quindi quasi sicuramente dovrò utilizzare i layout e abbandonare la mia CustomView...  :'(
I MIEI SITI:
RPG & Fantasy -> La Fucina di Harad
Pagina personale -> Il Web di Alessio_roma™