ViewPager实现左右无限循环滑动
2014-10-17 15:45
281 查看
public class MyViewPagerAdapter extends PagerAdapter {
private Context mContext;
private ArrayList<ImageView> mImageViews = new ArrayList<ImageView>();
public MyViewPagerAdapter(Context mContext, ArrayList<String> mImageUrls) {
this.mContext = mContext;
initPagerView(mImageUrls);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
// 实现左右循环时不能销毁
// ((ViewPager) container).removeView(mImageViews.get(position %
// mImageViews.size()));
}
@Override
public Object instantiateItem(View container, int position) {
// 实现左右循环时添加捕获异常
try {
((ViewPager) container).addView(mImageViews.get(position % mImageViews.size()), 0);
} catch (Exception e) {
}
return mImageViews.get(position % mImageViews.size());
}
private void initPagerView(ArrayList<String> mImageUrls) {
for (int i = 0; i < mImageUrls.size(); i++) {
ImageView imageView = new ImageView(mContext);
TupoApplication.finalBitmap.display(imageView, mImageUrls.get(i),
BitmapUtils.getIconDisplayConfig());
mImageViews.add(imageView);
}
}
}
使用:
ViewPager viewPager = new ViewPager(context);
viewPager.setAdapter(new MyViewPagerAdapter(context, imageUrls));
// 实现向左滑动
viewPager.setCurrentItem(imageUrls.size() * 100);
private Context mContext;
private ArrayList<ImageView> mImageViews = new ArrayList<ImageView>();
public MyViewPagerAdapter(Context mContext, ArrayList<String> mImageUrls) {
this.mContext = mContext;
initPagerView(mImageUrls);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
// 实现左右循环时不能销毁
// ((ViewPager) container).removeView(mImageViews.get(position %
// mImageViews.size()));
}
@Override
public Object instantiateItem(View container, int position) {
// 实现左右循环时添加捕获异常
try {
((ViewPager) container).addView(mImageViews.get(position % mImageViews.size()), 0);
} catch (Exception e) {
}
return mImageViews.get(position % mImageViews.size());
}
private void initPagerView(ArrayList<String> mImageUrls) {
for (int i = 0; i < mImageUrls.size(); i++) {
ImageView imageView = new ImageView(mContext);
TupoApplication.finalBitmap.display(imageView, mImageUrls.get(i),
BitmapUtils.getIconDisplayConfig());
mImageViews.add(imageView);
}
}
}
使用:
ViewPager viewPager = new ViewPager(context);
viewPager.setAdapter(new MyViewPagerAdapter(context, imageUrls));
// 实现向左滑动
viewPager.setCurrentItem(imageUrls.size() * 100);
相关文章推荐
- ViewPager实现真正的左右无限循环滑动
- Android ViewPager 无限循环左右滑动(可自动) 实现
- Android UI开发第二十篇——仿launcher的左右滑动(用ViewPager实现欢迎引导页面)
- viewpager 实现左右滑动
- 使用ViewPager实现左右循环滑动图片
- 使用ViewPager实现左右循环滑动图片
- Android使用ViewPager实现左右滑动效果
- 利用ViewPager实现可左右滑动的Action Tab
- Android UI开发第二十篇——仿launcher的左右滑动(用ViewPager实现欢迎引导页面)
- Android实现左右滑动指引效果(使用ViewPager)
- 使用ViewPager实现左右循环滑动 总结
- 使用ViewPager实现左右“无限”滑动的万年历
- ViewPager实现左右循环滑动
- 使用ViewPager实现左右循环滑动图片1
- ActionBar(6) ActionBar+ViewPager 实现可左右滑动的Tab页布局
- android ViewPager,ViewFlipper,ViewFlow实现左右滑动
- ViewPager 实现页面左右滑动的简单案例1
- 实现android左右滑动效果:ViewFlipper、ViewPager、HorizontalScrollView
- Android 使用ViewPager实现左右循环滑动图片
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)