Autore Topic: Swipe in una scrollview  (Letto 659 volte)

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Swipe in una scrollview
« il: 25 Novembre 2011, 19:43:49 CET »
0
Ciao a tutti, vorrei implementare una Swipe gesture per poter scorrere tra due activity e ho seguito questo tutorial:

http://www.anddev.it/index.php?topic=770.0

Ma ho la mia vista principale è costituita da una scrollview e lo swipe sembra non funzionare.. funziona solo se eseguo lo swipe con il dito sul "titolo dell'applicazione" ovvero la fascia in alto che rimane fissa poco sotto la notification bar.
Quindi desumo che è proprio la natura della scrollview a non funzionare... dove sbaglio?

Grazie, Ciao

Offline Verandi

  • Utente normale
  • ***
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Swipe in una scrollview
« Risposta #1 il: 25 Novembre 2011, 22:01:11 CET »
0
Ciao! Se il codice è uguale a quello del tutorial, prova a ritornare true  nei due casi dello swipe.
Codice (Java): [Seleziona]
class MyGestureDetector extends SimpleOnGestureListener {
                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
                        try {
                                if (Math.abs(e1.getY() - e2.getY()) > dp2px(SWIPE_MAX_OFF_PATH))
                                        return false;
                                // Swipe da destra a sinistra
                                if (e1.getX() - e2.getX() > dp2px(SWIPE_MIN_DISTANCE)
                                                && Math.abs(velocityX) > dp2px(SWIPE_THRESHOLD_VELOCITY)) {
                                        Toast.makeText(getApplicationContext(), "Swipe a sinistra", Toast.LENGTH_SHORT).show();
                                          //Ritorna true
                                          return true;
                                } else if (e2.getX() - e1.getX() > dp2px(SWIPE_MIN_DISTANCE)
                                                && Math.abs(velocityX) > dp2px(SWIPE_THRESHOLD_VELOCITY)) {
                                        Toast.makeText(getApplicationContext(), "Swipe a destra", Toast.LENGTH_SHORT).show();
                                          //Ritorna true
                                          return true;
                                }
                        } catch (Exception e) {
                                // nothing
                        }
                        return false;
                }
        }

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Swipe in una scrollview
« Risposta #2 il: 26 Novembre 2011, 11:50:53 CET »
+1

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Re:Swipe in una scrollview
« Risposta #3 il: 26 Novembre 2011, 13:00:26 CET »
0
Sì, esatto qualcosa del genere, adesso provo ad implementarlo.
Comunque ho letto un po' googlando in giro che è una "conflitto" del sistema che intercetta l'evento touch dando priorità allo scroll su-giù della scrollview rispetto a quello laterale dello swipe che noi vogliamo ottenere.

Ho modificato il tutorial di JD per far vedere come si presenta il problema, ho modificato solo il layout creand due zone, una è un semplice linearlayout con una riga di testo (verde) e l'altra è una scrollview (rossa) ... lo swipe funziona solo nella zona verde..

Questo problema è citato qui:

http://stackoverflow.com/questions/5102993/swipe-fling-tab-changing-in-conjunction-with-scrollview

Ma non riesco a capire cosa devo implementare...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3487
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Swipe in una scrollview
« Risposta #4 il: 26 Novembre 2011, 14:31:18 CET »
0
Perchè non usi il ViewPager come descritto in quell'articolo?