ViewPager自动循环播放

来源:互联网 发布:微软官网的windows 7 编辑:程序博客网 时间:2024/04/27 14:19

ViewPager自动播放是用handler来实现的,如下:

private final long delay = 5 * 1000;
private final int AUTO = 0;

private Handler mHandler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
switch (msg.what) {
case AUTO:
int index = vPager.getCurrentItem();
vPager.setCurrentItem(index + 1);
mHandler.sendEmptyMessageDelayed(AUTO, delay);
break;
}
};
};


ViewPager循环播放是通过自定义Adapter来实现的,如下:

@Override
public int getCount() {
if(list.size() != 0){
return Integer.MAX_VALUE;
}else{
return 0;
}
}

@Override
public Object instantiateItem(ViewGroup container, int position) {

View imageLayout = inflater.inflate(R.layout.viewpager_item,container, false);
ImageView viewpager_item_iv = (ImageView) imageLayout.findViewById(R.id.viewpager_item_iv);
AdResult ad = list.get(position%list.size());
ImageLoader.getInstance().displayImage(ad.getAdImage(), viewpager_item_iv,options);
container.addView(imageLayout, 0);
return imageLayout;

}


0 0