2014-01-30 4 views
1

Я использую библиотеку viewpager для реализации слайдера изображения, но не знаю, как реализовать его для автоматического прокрутки. вот мой код.Viewpager с автоматической прокруткой android

ViewPagerAdapter.java

public class ViewPagerAdapter extends FragmentPagerAdapter implements IconPagerAdapter{ 

private int[] Images = new int[] { R.drawable.viewpager, R.drawable.viewpager, 
     R.drawable.viewpager, R.drawable.viewpager,R.drawable.viewpager, R.drawable.viewpager 

}; 

protected static final int[] ICONS = new int[] { R.drawable.logo, 
     R.drawable.logo, R.drawable.logo, R.drawable.logo,R.drawable.logo, R.drawable.logo }; 

private int mCount = Images.length; 

public ViewPagerAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public Fragment getItem(int position) { 
    return new SliderFragment(Images[position]); 
} 

@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return mCount; 
} 

public int getIconResId(int index) { 
    return ICONS[index % ICONS.length]; 
} 

public void setCount(int count) { 
    if (count > 0 && count <= 10) { 
     mCount = count; 
     notifyDataSetChanged(); 
    } 
} 

}

SliderFragment.java

public class SliderFragment extends SherlockFragment { 

int imageResourceId; 

public SliderFragment(int i) { 
    imageResourceId = i; 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    ImageView image = new ImageView(getActivity()); 
    image.setImageResource(imageResourceId); 

    LinearLayout layout = new LinearLayout(getActivity()); 
    layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 
      LayoutParams.MATCH_PARENT)); 

    layout.setGravity(Gravity.CENTER); 
    layout.addView(image); 

    return layout; 
} 

}

MainAc tivity.java

mAdapter = new ViewPagerAdapter(getSupportFragmentManager()); 
    vPager = (ViewPager) findViewById(R.id.pager); 
    pIndicator = (PageIndicator) findViewById(R.id.indicator); 
    vPager.setAdapter(mAdapter); 
    pIndicator.setViewPager(vPager); 
    ((CirclePageIndicator) pIndicator).setSnap(true); 

Пожалуйста, руководство меня, как я могу реализовать его с автоматической прокруткой, так что изображения прокрутки автоматически после заданного времени.

+0

Zeeshan. Пришел узнать об ответе? –

+0

привет, может кто-нибудь помочь мне для listview с переводом карты с переворотом элемента. Когда я нажимаю какой-либо элемент, переверните все листы. – Harsha

ответ

0

Я решил использовать его с использованием резьбы таймера. После определенного времени я изменяю изображение пейджера представления, которое становится автоматической прокруткой.

2
page=0; 

timer=new TimerTask() { 
      @Override 
    enter code here 
      public void run() { 
       handler.post(new Runnable() { 

        @Override 
        public void run() { 
         viewPager.setCurrentItem(page % 4); // 4= no. of page in viewpager 

         page++; 
        } 
       }); 
      } 
     }; 
     Timer time=new Timer(); 
     time.schedule(timer, 0, 3000); //3000 millisecond for replace the viewpager page 
+1

Пожалуйста, старайтесь избегать просто сдачи кода в качестве ответа и попытаться объяснить, что он делает и почему. Ваш код может быть не очевидным для людей, у которых нет соответствующего опыта в кодировании. – Frits

Смежные вопросы