CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 4eyes81 con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

Rendere una Canvas cliccabile... idee e suggerimenti?

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Senior Droid L'avatar di Mazinkaiser


    Registrato dal
    Sep 2009
    Messaggi
    487

    Ringraziamenti
    20
    Ringraziato 10 volte in 10 Posts
    Predefinito

    Rendere una Canvas cliccabile... idee e suggerimenti?

    Ciau a tutti, vorrei sapere secondo voi, qualè il modo migliore per rappresentare a video delle forme primitive (bei rettangoloni) e renderli questi cliccabili.
    Ho fatto delle canvas e con shapedrawable le forme che mi servono a me, tuttavia non afferro il passaggio per renderli cliccabili -.-, dovrei estendere la classe con View in modo che eriditino i listener? o che altro fare...

    thx

  2.  
  3. #2
    Administrator L'avatar di Andrea


    Registrato dal
    Nov 2008
    Messaggi
    3,368
    Smartphone
    Nexus S, myTouch Slide 4g

    Ringraziamenti
    143
    Ringraziato 880 volte in 323 Posts
    Predefinito

    Credo, ma non ho mai affrontato l'argomento, che devi creare la tua classe che estende View.

    Una volta fatto questo dovresti ovveridare il metodo onDraw (se non ricordo male ) che dovrebbe ricevere come parametro un canvas nel quale credo tu ic possa mettere quello che vuoi..

    Mi pare che la view possa quindi gestire anche eventi touch.

    Twitter @veke87

  4. #3
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Crea la tua View, se devi solo disegnarci te sopra forme o grafica 2d in generale ti conviene estendere SurfaceView. Poi come ti hanno già detto, fai l'override del metodo onDraw e da li disegni quel che ti pare sulla Canvas collegata.
    Per renderli cliccabili, sempre nella tua classe fai l'override di onTouchEvent, a questo metodo viene passato un MotionEvent che contiene le coordinate a cui è avvenuto il "click", spetta a te verificare che si trovino dentro le tue forme (ad esempio la classe Rect ha il metodo contains(x, y) per sapere se x,y sono contenuti dentro la sua area)

  5. #4
    Senior Droid L'avatar di Mazinkaiser


    Registrato dal
    Sep 2009
    Messaggi
    487

    Ringraziamenti
    20
    Ringraziato 10 volte in 10 Posts
    Predefinito

    Grazie ad entrambi, ho seguito il consiglio di orochi e l'hint funziona perfettamente
    Potente il motion event, ho visto che registra anche l'evento di quando viene rilasciato il dito dal display.. Veramente valido. Vedrò di implementarci qualche altro meotodo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy