Autore Topic: onFling Gallery  (Letto 780 volte)

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
onFling Gallery
« il: 10 Gennaio 2013, 16:06:43 CET »
0
Ciao ragazzi,
ho realizzato una galleria ma vorrei che allo scorrere del dito l'immagine scorra solo di 1 e non in funzione della forza con cui si swipa..

E' possibile??

Offline TheTodd

  • Utente junior
  • **
  • Post: 58
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    samsung gs2
  • Play Store ID:
    sdmdev
  • Sistema operativo:
    window xp
Re:onFling Gallery
« Risposta #1 il: 11 Gennaio 2013, 21:47:48 CET »
0
sovrascrivi il metodo onFling senza chiamare il metodo di superclass all'interno

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:onFling Gallery
« Risposta #2 il: 11 Gennaio 2013, 21:55:36 CET »
0
Scusa potresti postare un po di codice??  O:-)

Offline TheTodd

  • Utente junior
  • **
  • Post: 58
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    samsung gs2
  • Play Store ID:
    sdmdev
  • Sistema operativo:
    window xp
Re:onFling Gallery
« Risposta #3 il: 12 Gennaio 2013, 22:12:46 CET »
0
beh tu dovresti postare il tuo codice per far capire come hai implementato la gallery ...

Offline salvatore.zagarella

  • Utente normale
  • ***
  • Post: 239
  • Respect: +2
    • Mostra profilo
    • Ieeng Solution
Re:onFling Gallery
« Risposta #4 il: 14 Gennaio 2013, 09:31:02 CET »
0
Allora guardando in giro ho trovato questa classe che consente di bloccare la scroll di immagini della galleria
Codice (Java): [Seleziona]
public class ExtendedGallery extends Gallery {
        public ExtendedGallery(Context ctx, AttributeSet attrSet) {
        super(ctx, attrSet);        
    }

    private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2){
           return e2.getX() > e1.getX();
        }

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {             
        boolean leftScroll = isScrollingLeft(e1, e2);
        float velX;
        if(leftScroll) {
            velX=400;
        }
        else {
            velX=-400;
        }
        return false;                  
    }
}

Così funziona..Che ve ne pare??