2014年10月7日 星期二

Android-筆記 ViewPager 自動撥放 & 無限循環

自動撥放的部分
可以引用第三方lib

 lib來源:https://github.com/Trinea/android-auto-scroll-view-pager 
文章來源:http://www.trinea.cn/android/auto-scroll-view-pager/

若要實現無限循環
就要改寫adapter
本法是在 getCount 的時候
回傳無限大
 

import java.util.List;

import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;

public class MyViewPagerCircleAdapter extends PagerAdapter {

 public List views;

 public MyViewPagerCircleAdapter(List views) {
  this.views = views;
 }

 @Override
 public void destroyItem(View collection, int position, Object arg2) {
 }

 @Override
 public void finishUpdate(View arg0) {
 }

 @Override
 public int getCount() {
  return Integer.MAX_VALUE;
 }

 @Override
 public Object instantiateItem(View collection, int position) {
  try {
   ((ViewPager) collection).addView(
     views.get(position % views.size()), 0);
  } catch (Exception e) {
  }
  return views.get(position % views.size());
 }

 @Override
 public boolean isViewFromObject(View view, Object object) {
  return view == (object);
 }

 @Override
 public void restoreState(Parcelable arg0, ClassLoader arg1) {
 }

 @Override
 public Parcelable saveState() {
  return null;
 }

 @Override
 public void startUpdate(View arg0) {
 }
}

沒有留言:

張貼留言