2017-08-10 2 views
0

Je veux implémenter l'effet Reflection 3D ViewPager, j'ai utilisé https://github.com/akhgupta/CoverFlow Cela fonctionne très bien mais quand je balaye cela dépend de l'interception tactile de sorte que 2 ou 3 éléments défilent d'un seul coup. Je veux glisser seulement un élément à la fois au lieu de plus d'un.Balayez seulement un élément à la fois dans ViewPager en utilisant moondroid

J'ai beaucoup essayé et j'ai fait des changements dans la bibliothèque même si je n'ai pas réussi.

+0

Je l'ai déjà essayé, j'ai personnalisé la bibliothèque, mais je ne pouvais pas trouver une solution! –

Répondre

0

Je pense que vous devez télécharger les librairies de code source et l'ajouter comme un module. alors la méthode personnalisée a un balayage de fonction.

code Exemple:

private float initialX; 
private float THRESHOLD; 
@Override 
public boolean dispatchTouchEvent(MotionEvent event) { 
    int action = event.getAction(); 
    THRESHOLD = getWidth()/2; 
    switch (action) { 

     case MotionEvent.ACTION_DOWN: 
      initialX = event.getX(); 
      break; 

     case MotionEvent.ACTION_MOVE: 
      float finalX = event.getX(); 
      float deltaX = Math.abs(finalX - initialX); 
      if (deltaX > THRESHOLD) { 
       return false; 
      } 
      break; 

     case MotionEvent.ACTION_UP: 
      break; 

     case MotionEvent.ACTION_CANCEL: 
      break; 

     case MotionEvent.ACTION_OUTSIDE: 
      break; 
    } 
    return super.dispatchTouchEvent(event); 
} 
+0

Merci! mais ça ne marche pas pour moi. –

+0

c'est un exemple. vous devez lire le code et le personnaliser –

+0

Ouais j'ai essayé de personnaliser mais ça ne marche pas! Avez-vous une idée à ce sujet –