在实际应用中 总会用到轮播图的效果。当然 android的话很多情况下都是通过viewpager实现的。但是通过使用发现,它的轮播效果是这样的 从最后一个切回回第一个时是重新跳转到第一个来实现的。这样效果不是很理想。那么如何让他在最后一张时还是向右滑动切换回第一张呢。最常用的方法是最大值法。就是在适配器中将参数设置成最大值。让他一直找不到边界,自然就一直向右切换了。如下段代码

 private class MyPagerAdapter  extends PagerAdapter {        @Override        public void destroyItem(View container, int position, Object object) {            // TODO Auto-generated method stub           // position %= imageViewsList.size();            //((ViewPag.er)container).removeView((View)object);          // ((ViewPager)container).removeView(imageViewsList.get(position));这里最好不要用这个方法 会报异常        }        @Override        public Object instantiateItem(View container, int position) {            position %= imageViewsList.size();            if (position < 0){                position = imageViewsList.size() + position;            }            ImageView imageView = imageViewsList.get(position);            ViewParent vp = imageView.getParent();            if (vp != null){                ViewGroup parent = (ViewGroup)vp;                parent.removeView(imageView);            }           //  ((ViewPager)container).removeView(imageViewsList.get(position));            imageLoader.displayImage(imageView.getTag() + "", imageView);            ((ViewPager)container).addView(imageViewsList.get(position));            return imageViewsList.get(position);        }        @Override        public int getCount() {            // TODO Auto-generated method stub                        return Integer.MAX_VALUE;        }        @Override        public boolean isViewFromObject(View arg0, Object arg1) {            // TODO Auto-generated method stub            return arg0 == arg1;        }        @Override        public void restoreState(Parcelable arg0, ClassLoader arg1) {            // TODO Auto-generated method stub        }        @Override        public Parcelable saveState() {            // TODO Auto-generated method stub            return null;        }        @Override        public void startUpdate(View arg0) {            // TODO Auto-generated method stub        }        @Override        public void finishUpdate(View arg0) {            // TODO Auto-generated method stub        }    }


更多相关文章

  1. Android(安卓)贝塞尔曲线实现QQ拖拽清除效果
  2. android Canvas中的clipRect、drawBitmap
  3. AndroidActivity跳转动画,让你的APP瞬间绚丽起来
  4. 【Android开源项目解析】仿支付宝付款成功及"天女散花"效果实现
  5. Android(安卓)实现书籍翻页效果----源码篇 完结篇
  6. Android(安卓)使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧
  7. 实现类似Android的网格效果的列表视图
  8. Android动画特效
  9. Android实现IOS相机滑动控件

随机推荐

  1. sqoop export导出 map100% reduce0% 卡住
  2. mysql查询条件not in 和 in的区别及原因
  3. 解决mysql使用not in 包含null值的问题
  4. 解决从集合运算到mysql的not like找不出N
  5. 使用mysql记录从url返回的http GET请求数
  6. hive从mysql导入数据量变多的解决方案
  7. navicat 连接数据库隔段时间后自动断开连
  8. 为什么在MySQL中不建议使用UTF-8
  9. mysql 8.0.22压缩包完整安装与配置教程图
  10. Windows下MySQL定时备份脚本的实现