2010-06-25 3 views
3

У меня есть виджет галереи, содержащий 1-10 изображений для слайдов. Я знаю, что, когда я полосаю экран, изображения прокручиваются слева направо. Я хочу, чтобы автоматическая круговая галерея после 10 автоматически начиналась с первого изображения, есть ли какой-либо автоматический круговой адаптер или способ ???Android Circular Gallery

  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); 

, но я вижу только первое изображение анимированное ..

Посмотрите на моих Video ...

ответ

8

Написать SpinnerAdapter для галереи, которая возвращает Integer.MAX_VALUE в этом GetCount (). Затем, возвращая представление в getDropDownView() и getView(), применяйте по модулю счетчик фактических предметов к аргументу position.

+0

Вы хотите бесконечную галерею, начиная с первого элемента после прокрутки до последней, правильно? Таким образом, вы заставляете его думать, что он содержит больше элементов, чем существующих, и добавьте позицию% = itemsCount в getView() для адаптера, чтобы он оставил первый элемент после последнего. – ognian

1

Я реализовал простейшее решение. Just returns Integer.MAX_VALUE in it's getCount() method Это сделает бесконечный пул с правой стороны. Чтобы сделать это двустороннее pass Integer.MAX_VALUE/2 in the position of child in setSelection(position, animate) Cool.

+0

Спасибо большое Первез Алам. Ты спас свой день. –

+0

Добро пожаловать :) –