Autore Topic: listener onTouch che distingua la direzione  (Letto 632 volte)

Offline sergio

  • Nuovo arrivato
  • *
  • Post: 26
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC Legend
listener onTouch che distingua la direzione
« il: 27 Agosto 2010, 11:28:19 CEST »
0
la mia app di prova passa da activity1 ad activity2 con un intent che viene fatto partire al click di un particolare imageButton
come segue
 
Codice (Java): [Seleziona]
        final Intent intention = new Intent(getApplicationContext(), SecondActivity.class);
        ImageButton imagebutton=(ImageButton)findViewById(R.id.first_playbill_button);

        imagebutton.setOnClickListener(new OnClickListener() {
           
            public void onClick(View v) {
                startActivity(intention);
            }
    });


vorrei modificarla facendo queste due cose:
1) il listener deve essere su tutta la superficie della Activity
2) ci deve essere un listener per il movimento dx->snx ed un altro per quello da snx->dx

avete qualche idea per farlo o qualche link che mi possa aiutare nel farlo?
grazie mille anticipatamente

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:listener onTouch che distingua la direzione
« Risposta #1 il: 27 Agosto 2010, 12:45:21 CEST »
0
Tempo fa stavo smanettando per delle gestures custom e posso dirti che le soluzioni sono 2:

1) La prima è di utilizzare onTouchListener per monitorare i movimenti fatti sullo schermo, e capire (facendo la differenza delle coordinate x dei punti di stop e start della gesture) se il movimento è da sx->dx o viceversa
In questo modo non devi necessariamente tracciare una simil-retta, ma puoi benissimo tracciare un segno da un lato all'altro dello schermo.
Purtroppo non ho con me i miei codici, te li avrei postati volentieri, ma comunque è una cosa molto semplice da realizzare.

2) La seconda è quella di crearti una (o più) gesture tue, attraverso il Gestures Builder, e utilizzare le GestureLibraries di Android per farti aiutare a riconoscere la gesture e capire se si avvicina o meno alla tua, per poter poi scatenare gli eventi che vuoi.
Per questo caso, puoi fare riferimento al libro di Carli, e anche controllare al seguente link:
Android Developers Blog: Gestures on Android 1.6
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:listener onTouch che distingua la direzione
« Risposta #2 il: 27 Agosto 2010, 12:52:10 CEST »
0
Ho pronta quella che dovrebbe essere una soluzione, sto preparando un Tutorial sull'argomento ;)

ETA: 15-20 min.

ETA: 1-2 ore (devo andare a pranzo :P)
« Ultima modifica: 27 Agosto 2010, 13:29:34 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !