ViewPager的创建和使用以及加载网络数据

相信大家在日常使用App时都会看到轮播图的存在,其实轮播图就是使用了ViewPager的一种图片切换方式,下面就让我们来学习一下ViewPager的创建和使用。
首先,我们要先在我们的布局文件里定义一个ViewPager的UI控件
ViewPager的创建和使用以及加载网络数据
加载完ViewPager控件之后,我们要用findViewById来给ViewPager实例化出来,
ViewPager的创建和使用以及加载网络数据
然后我们需要创建一个存放图片的集合用来当作数据源。
ViewPager的创建和使用以及加载网络数据
在这之后,,我们需要创建一个适配器来给我们的ViewPager添加数据。
创建适配器,首先创建一个类来继承PagerAdapter类,注意不是BaseAdapter。PagerAdapter是专门用来给我们的ViewPager添加数据用的,之后重写里面的方法。
ViewPager的创建和使用以及加载网络数据
之后我们还需要手动重写两个方法,分别是destroyItem()和instantiateItem();
ViewPager的创建和使用以及加载网络数据

重写这两个方法时要注意两个地方:一是需要将destroyItem()的suoer继承的这一行代码给注释掉。二是需要在instantiateItem()这个方法中将返回值改为当前添加的图片对象

做完准备工作后,我们在MainActivity中将我们的适配器给实例化出来,并给我们的ViewPager设置适配器,这样一个简单的轮播图就做好了
ViewPager的创建和使用以及加载网络数据

但是我们会发现我们做好的轮播图只能手动的去切换,而无法做到像App上的那样自动播放,进行切换图片,其实,只需要加一个定时器,就可以让我们的轮播图给“自己”动起来了。
ViewPager的创建和使用以及加载网络数据

加上了定时器之后我们的ViewPager——轮播图就可以动起来了,在这里我给定时器加了个到最后一张图片就自动切换到第一张图片的操作,使得轮播图可以一直循环播放,如果不需要的话,可以吧if判断以后的代码给删掉。
至此,我们的ViewPager——轮播图也就做好了,但是我们会发现,我们实用的图片都是我们本地的,这就导致了我们的轮播图上的图片无法进行更新,会给用户一个不好的用户体验,
之后我们来使用ViewPager加载来自网络上的图片

首先我们需要使用我们的图片加载依赖 Glide或Picasso来先将网络上的图片加载好,然后再放入到图片集合内,这样我们就成功的实现了加载网络上的数据
以上就是关于ViewPager的使用了,希望能帮助到大家