viewpager
1.父布局的touch事件分发至viewPager(否则只能滑动中间的一个view对象)
//1.设置幕后item的缓存数目
viewPager.setOffscreenPageLimit(2);
//2.设置页与页之间的间距
viewPager.setPageMargin(10);
//3.将父布局的touch事件分发至viewPager,否则只能滑动中间的一个view对象
container(父布局对象,如relativelayout).setOnTouchListener(new View.onTouchListener(){
@override
public boolean onTouch(View v , MotionEvent event){
return viewPager.dispatchTouchEvent(event);
}
})
2.无限滑动
方法一:
前加1,后加1
注意如果 pics.length = 3; viewpager里的view是5;
public void onPageSelected(int position){
int pageIndex = position;
if(position == 0){
//当视图在第一个时,将页面号设置为图片的最后一张.
pageIndex = pics.length;
} else if (position == pics.length + 1){
//当视图在最后一个时,将页面号设置为图片的第一张.
pageIndex = 1;
}
if(position != pageIndex){
viewPager.setCurrentItem(pageIndex , false);
}
}
方法二:
Integer.Max
@Override
public Object instan tiateItem(ViewGroup container ,int position){
if(listviews.get(position % listviews.size()).getParent() != null) {
((ViewPager)listviews.get(position % listviews.size()).getParent()).removeView(listviews.get(position % listviews.size())); }
(ViewPager) container.addView(listviews.get(position % listviews.size()) ,0);
return listviews.get(position % listviews.size();
}