2010-06-25 4 views
3

Je reçois galerie widget contient 1-10 images à glisser. Je sais que lorsque je bande l'écran, les images défilent de gauche à droite. Je veux automatique galerie circulaire après 10 automatiquement commencer par la première image, y at-il un adaptateur circulaire automatique ou de la façon ???Android automatique circulaire Galerie

  final Gallery g = (Gallery) findViewById(R.id.gallery); 
     g.setAdapter(new ImageAdapter(this)); 
     Animation animation = AnimationUtils.loadAnimation(this, 
     R.anim.rotate_indefinitely); 

     animation.getInterpolator(); 
     animation.setDuration(1000); 
     animation.setStartOffset(200); 
     animation.setRepeatMode(2); 
     animation.setFillAfter(false); 
     animation.setFillEnabled(true); 

     g.setAnimation(animation); 
     g.startAnimation(animation); 

mais je ne vois que la première image est animée ..

Jetez un oeil à mon Video ...

Répondre

8

Écrire un SpinnerAdapter pour la galerie qui retourne Integer.MAX_VALUE dans son getCount () méthode. Ensuite, lorsque vous renvoyez une vue dans getDropDownView() et getView(), appliquez modulo du nombre d'éléments réels à l'argument position.

+0

Vous voulez une galerie infinie, à partir du premier élément après le défilement pour durer, non? Donc, vous lui faites croire qu'il contient plus d'éléments que présents, et ajoutez la position% = itemsCount dans getView() de l'adaptateur pour qu'il file le premier élément après le dernier. – ognian

1

J'ai implémenté une solution la plus simple. Juste returns Integer.MAX_VALUE in it's getCount() method Cela fera une piscine infinie à droite. Pour faire les deux côtés pass Integer.MAX_VALUE/2 in the position of child in setSelection(position, animate) Cool.

+0

Merci beaucoup Pervez Alam. Tu as sauvé ma journée. –

+0

Vous êtes les bienvenus :) –

Questions connexes