实现ViewPager循环滑动

在网上看了一些资料,然后自己改成功了

一.重写viewpagerAdapter

public class MyViewPagerAdapter extends PagerAdapter{

private int len; //没什么用

private Context mcontext;

private ArrayList<View> mlist;

public MyViewPagerAdapter(ArrayList<View> mlist) {   super();   this.mlist = mlist;   this.len=mlist.size();  }

@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(mlist.get(position%mlist.size()));  }

@Override  public Object instantiateItem(ViewGroup container, int position) {   ((ViewPager)container).addView(mlist.get(position%mlist.size()), 0);          return mlist.get(position%mlist.size());

}

}

二.Activity写法 只写重点的几块

private ViewPager pager;
 private MyViewPagerAdapter adapter;
 private ArrayList<View> imgs;
 private ImageView studyImage;
 private String[] url;

@Override
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState);
  setContentView(R.layout.study_layout);
  initImageView();//加载图片
  initViewPager();//加载viewpager

}

private void initViewPager() {
  pager=(ViewPager)findViewById(R.id.study_viewPager);   
  adapter=new MyViewPagerAdapter(imgs);//别继承错了
  pager.setAdapter(adapter);
  pager.setOnPageChangeListener(this);//没什么用
  pager.setCurrentItem(imgs.size()*100);//这是重点
 }

//若图片为本地图片将url类型换成int[]即可(此处我用universal-imageloader加载图片)

private void initImageView() {
  imgs=new ArrayList<View>();
  url=new String[]{"http://images.china.cn/news/attachement/jpg/site3/20100420/8329526740659646910.jpg",
    "http://img3.imgtn.bdimg.com/it/u=4025283544,1801047183&fm=23&gp=0.jpg",
    "http://img2.xue163.com/pic28.nipic.com/20130418/4344061_132656658118_2.jpg",
    "http://news.xinhuanet.com/photo/2014-09/28/127047283_14119070573481n.jpg"};  
  for(String s:url){
   studyImage=new ImageView(this);
   studyImage.setScaleType(ScaleType.FIT_XY); 
   imageLoader.displayImage(s,studyImage,options);
   imgs.add(studyImage);
  }
 }

时间: 2024-10-08 12:23:11

实现ViewPager循环滑动的相关文章

ViewPager 循环滑动+伸缩渐变过度动画实现多图片浏览

     效果图如上. 首先先实现循环: public class MyAdapter extends PagerAdapter { /** * 装ImageView数组 */ private ImageView[] mImageViews; /** * 图片资源id */ private HashMap<Integer, View> mChildrenViews = new LinkedHashMap<Integer, View>(); private int[] imgIdAr

自定义循环滑动的viewpager

今天和大家分享一下如何定制一个可以循环滑动的viewpager.其实今天更重要的提供一种组件化思想,当然你可以理解为面向对象思想. 吐槽一下网上流行的实现方式吧(为了方便说明,下文称之为方式A),方式A是重写adapter的getCount方法,返回一个很大的数(值为max),adapter中的getView方法中的position重新根据实际数量取模,把viewpager设置在max二分之一的位置.因为这个值很大所以基本不可能滑动到position=0或者position=max的位置,不过确

Android 使用ViewPager实现左右循环滑动图片

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1.    首先看一些layout下的xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layo

Android使用ViewPager实现左右循环滑动及轮播效果

ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验.此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息. 为此我查阅了网络上现有的一些关于实现这样效果的例子,但都不是很满意,经过反复实验,在这里总结并分享给大家,希望能有所帮助. 循环滑动效果的实现:PagerAdap

viewpage 循环滑动播放图片

一般来说,viewpage 只支持图片的顺序滑动播放,在滑到边界时就再也滑不动了,如果要想继续滑动,只能向两边额外增加一张相片,即把第一张相片的位置放在最后一张图片的后面,给用户的感觉我继续滑就滑到了第一张,也就有了循环滑动的效果,而我们只需要在内部对他实际滑动到的序号做相应处理就好了.原理图如下 github上的开源控件也实现了循环滑动,我还没下下来看,一并附上地址,有兴趣的朋友可以研究下, https://github.com/imbryk/LoopingViewPager 直接看代码 1.

Android利用ViewPager实现滑动广告板

•android-support-v4.jar,这是谷歌官方 给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Android3.0以上可以使用的api.而ViewPager就是其中之 一,利用它我们可以做很多事情,从最简单的导航,到页面切换菜单等等. •ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样. •本Demo向大家演示ViewPager的使用,并在用户未滑动View时,每隔5s钟自动切换到下一个View(循环切换),而当用户有Touch到

ViewDragHelper实现QQ5.0侧滑并处理与ViewPager的滑动冲突

QQ5.0的侧滑效果有多种实现方式, 如http://blog.csdn.net/lmj623565791/article/details/39257409   就是利用HorizontalScrollView实现的,简单实用; 如http://blog.csdn.net/manoel/article/details/39013095/   通过改造SlidingMenu实现,没有改变原有SlidingMenu功能,屏幕边缘侧滑也可以.... 相对来说ViewDragHelper实现方式最为复杂

android ViewPager左右滑动翻页,并可以删除page

首先新建一个Activity,继承FragmentActivity. 初始化一个Fragment的List集合,用于像FragmentStatePagerAdapter填充数据,而ViewPager由FragmentStatePagerAdapter的实例进行初始化.和ListView一样,Fragment的List集合的数据变了,就通知FragmentStatePagerAdapter进行界面刷新. ArrayList<Fragment> fragments =new ArrayList&l

Android重写ViewPager修改滑动灵敏度

使用ViewPager作为一个页面进行切换,里面可以存放很多View,但有时在操作View时不小心滑动一下就有可能跳到下一页,这并不是我们想要的,这里就需要重写ViewPager修改它的滑动条件 效果图 程序目录结构 BTViewPager.java package com.example.viewpagerdemo; import android.content.Context; import android.support.v4.view.ViewPager; import android.