Autore Topic: Passaggio da un'activity ad un'altra attraverso lo sfoglia a sinistra e a destra  (Letto 828 volte)

Offline Giusy

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    ACER liquid Mini
  • Sistema operativo:
    Mac OS X 10.5
Salve, dovrei realizzare il passaggio da un'activity ad un'altra attraverso "sfoglia a destra" e "sfoglia a sinistra". Qualcuno di voi sa come realizzare questa cosa oppure sa dirmi quale libreria potrei guardarmi??? Vi ringrazio  ;-)

Offline mikeblue

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: +3
    • @MikeBlue3003
    • Mostra profilo
    • home page
  • Sistema operativo:
    Ubuntu 11.04, Windows 7
"Si ha la sensazione che ogni qualvolta si esca di casa, al proprio ritorno ci sia un nuovo prodotto Google appena lanciato. " (Philipp Lenssen)

Offline Giusy

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    ACER liquid Mini
  • Sistema operativo:
    Mac OS X 10.5
0
Ciao, prima di tutto ti ringrazio per questo suggerimento. Ho dato un'occhiata al codice del tutorial ma non riesco a capire come fare a  dire quale deve essere la schermata da visualizzare dopo aver fatto lo swipe a destra o a sinistra..... grazie!!!! :-)

Offline mikeblue

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: +3
    • @MikeBlue3003
    • Mostra profilo
    • home page
  • Sistema operativo:
    Ubuntu 11.04, Windows 7
+1
Ciao, prima di tutto ti ringrazio per questo suggerimento. Ho dato un'occhiata al codice del tutorial ma non riesco a capire come fare a  dire quale deve essere la schermata da visualizzare dopo aver fatto lo swipe a destra o a sinistra..... grazie!!!! :-)

puoi usare il classico intent per andare all'activity che vuoi

esempio
Codice (Java): [Seleziona]
public class MainActivity extends Activity {
        // Distanza minima richiesta sull'asse X
        private static final int SWIPE_MIN_DISTANCE = 160;
        // Distanza massima consentita sull'asse Y
        private static final int SWIPE_MAX_OFF_PATH = 400;
        // Velocità minima richiesta sull'asse X
        private static final int SWIPE_THRESHOLD_VELOCITY = 150;

        private GestureDetector gestureDetector;
        View.OnTouchListener gestureListener;

        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);

                gestureDetector = new GestureDetector(new MyGestureDetector());
                gestureListener = new View.OnTouchListener() {
                        public boolean onTouch(View v, MotionEvent event) {
                                if (gestureDetector.onTouchEvent(event)) {
                                        return true;
                                }
                                return false;
                        }
                };
        }

        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)) {
                                        startactivity(new Intent(MainActivity.this, SecondaActivity.class)); //ovviamente le classi vanno cambiate
                                } else if (e2.getX() - e1.getX() > dp2px(SWIPE_MIN_DISTANCE)
                                                && Math.abs(velocityX) > dp2px(SWIPE_THRESHOLD_VELOCITY)) {
                                        startactivity(new Intent(MainActivity.this, SecondaActivity.class)); //ovviamente le classi vanno cambiate
                                }
                        } catch (Exception e) {
                                // nothing
                        }
                        return false;
                }
        }

        @Override
        public boolean onTouchEvent(MotionEvent event) {
                if (gestureDetector.onTouchEvent(event))
                        return true;
                else
                        return false;
        }

        public float dp2px(int dip) {
                float scale = getResources().getDisplayMetrics().density;
                return dip * scale + 0.5f;
        }
}
"Si ha la sensazione che ogni qualvolta si esca di casa, al proprio ritorno ci sia un nuovo prodotto Google appena lanciato. " (Philipp Lenssen)

Offline Giusy

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    ACER liquid Mini
  • Sistema operativo:
    Mac OS X 10.5
0
Ok grazie .... avevo provato a fare qualcosa di simile ma in modo scorretto.... !!!!Grazie ancora ti farò sapere se funziona!!!

Offline Giusy

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    ACER liquid Mini
  • Sistema operativo:
    Mac OS X 10.5
0
Funziona, grazie per il tuo aiuto!!!