Autore Topic: onDraw e Path  (Letto 611 volte)

Offline sergioandroid

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
onDraw e Path
« il: 14 Settembre 2011, 15:15:04 CEST »
0
Ciao a tutti! spero di aver postato nella sezione giusta
Sto realizzando un piccolo test creando un app di disegno, molto semplice.
Il dilemma all'apparenza è molto banale:

(premetto che estendo una surfaceview, e non una view)
disegno una path (supponiamo di colore rosso - tramite evento touch)  nel metodo onDraw()  (dove ho sistemato anche un background)..in onDraw ho dunque:

Codice (Java): [Seleziona]
canvas.drawBitmap(_background,0,0,null);
canvas.drawPath(path, mPaint);
   

il problema avviene quando tramite un pulsante aggiorno mPaint, per cambiare colore al pennello(supponiamo blu)..chiaramente il metodo onDraw "ridisegna" l'intera path già disegnata, trasformandola nel nuovo colore da me scelto.

una prima soluzione che ho sperimentato è quella di fare un clear della path, e ad ogni evento touch trasformarla in un bitmap.
potrei usare qualche altro trucchetto per risolvere??
Spero di essere stato chiaro, e in quanto principiante, mi affido ai vostri consigli

Sergio


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:onDraw e Path
« Risposta #1 il: 14 Settembre 2011, 16:48:07 CEST »
0
se non ho capito male, la tua tecnica è un double-buffering (o buffering singolo) che è indicata in caso di applicazioni di draw!
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 sergioandroid

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Desire
Re:onDraw e Path
« Risposta #2 il: 14 Settembre 2011, 17:39:17 CEST »
0
oddio! nn so come si chiama , se double buffering o no....
ho solo pensato che l'unica soluzione è quella di
disegnare --> trasformare in Bitmap e salvare il "tracciato" -----> disegnare  ------> trasformare in Bitmap e salvare il "tracciato" -----> disegnare  .... etc.....

spero di fare correttamente, ma ho solo paura che questi processi possano un pò rallentare il tutto...