继续创造,加速生长!这是我参加「日新方案 10 月更文应战」的第27天,点击检查活动概况

‍作者简介:一位喜爱写作,计科专业的大三菜鸟

个人主页:starry陆离 的个人主页

假如文章有帮到你的话记得点赞+保藏支持一下哦

ViewPager完成引导动画的作用

ViewPager 以可滑动的格式显现视图或 Fragment。

记载一下经过viewpager完成滑动显现图片,步骤如下

  • 1.写布局文件,增加一个viewpager控件
  • 2.在Activity中获取实例
  • 3.创立一个数据-视图适配器adapter
  • 4.创立一个myViewPagerAdapter实例
  • 5.初始化数据
  • 6.将数据增加到适配器中
  • 7.布局与适配器绑定
  • 8.addOnPageChangeListener()增加事情呼应

1.布局文件

布局文件很简略就增加一个viewpager控件即可,当然还有一个更新的控件是viewpager2,不过是新学咱们从viewpager开始,之后学viewpager2就简略很多,由于估计两者的不同不大

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  tools:context=".MainActivity">
​
  <androidx.viewpager.widget.ViewPager;
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/viewpager1">
  </androidx.viewpager.widget.ViewPager>
</androidx.constraintlayout.widget.ConstraintLayout>

2.获取viewpager控件

在MainActivity中获取viewpager控件

//     获取实例
    viewPager=findViewById(R.id.viewpager1);

3.数据-视图适配器adapter(介绍)

adapter与viewpager的关系 adapter是将数据烘托到视图的桥梁;创立适配器的步骤如下:

  • 1.承继自PagerAdapter抽象类
  • 2.重写抽象类中的办法getCount()和isViewFromObject()
  • 3.ctrl+o重写 生成:instantiateItem() 销毁:destroyItem()
  • 4.用一个imageViewList数组来存储图片数据,并创立结构函数初始化
  • 5.getCount()办法回来图片的数量
  • 6.instantiateItem()将图片数据加载到viewpager页面,回来加载的这个图片
  • 7.destroyItem()将图片从viewpager中移除

注意:需求为viewpager设置适配器,

适配器承继PagerAdapter,

并重写getCount、isViewFromObject、instantiateItem和destroyItem四个办法。

4.创立Adapter

第一步创立一个MyViewPagerAdapter承继自PagerAdapter抽象类,并重写其中的四个办法

ViewPager实现引导动画的效果|与Fragment结合实现多页面滑动

ViewPager实现引导动画的效果|与Fragment结合实现多页面滑动

5.初始化数据、布局与适配器绑定

回到MainActivity中,初始化数据、将ViewPager布局与MyViewPagerAdapter适配器绑定

ViewPager实现引导动画的效果|与Fragment结合实现多页面滑动

6.增加事情呼应

为ViewPager控件增加点击事情

ViewPager实现引导动画的效果|与Fragment结合实现多页面滑动

7.作用展现

ViewPager实现引导动画的效果|与Fragment结合实现多页面滑动

8.Gitee源码

Android_Java_Review: 学习–代码即笔记 (gitee.com)

ViewPager与Fragment结合完成多页面滑动

上次记载了ViewPager完成引导动画的作用,这次来完成一个类似的作用ViewPager与Fragment结合完成多页面滑动

主要使用到了FragmentPagerAdapter :用于连接ViewPager与Fragment的桥梁

复习ViewPager完成引导页:

  • 数据List+适配器Adapter+ViewPager

FragmentPagerAdapter的用法

  • 1.重写getItem() 获取fragment
  • 2.重写getCount() 回来fragment的实例个数

详细完成:

  • 1.设置布局,并给viewPager控件设置id
  • 2.获取到viewPager实例
  • 3.创立fragment页面(初始化数据)
  • 4.创立一个自定义的适配器myFragmentVPAdapter
  • 5.初始化数据
  • 6.获取MyFragmentVPAdapter实例,需求传入两个参数
  • 7.将ViewPager和myFragmentVPAdapter适配器绑定
  • 8.完成事情监听,和上一个demo相同

1.设置布局

布局仍是很简略便是一个ViewPager

2.获取到viewPager实例

相同的在MainActivity中获取到viewPager控件

3.创立Fragment页面

能够看到我创立了一个名为MyFragment的碎片,由于咱们等会要创立多个MyFragment目标,填充到ViewPager中,因此经过一个文本控件来区别不同的fragment页面

  • 1.声明文本控件变量
  • 2.外部经过newInstance实例化fragment,并带入外界传入的参数。参数存在Bundle目标中
  • 3.onCreate取出存在Bundle中的数据
  • 4.onViewCreated经过view找到布局中的文本控件并设置为外界传入的参数

4.创立适配器myFragmentVPAdapter

  • 1.自定义一个适配器类MyFragmentVPAdapter承继自FragmentPagerAdapter
  • 2.重写getItem()和getCount()办法
  • 3.在结构办法中初始化数据
  • 4.getItem回来当时的fragment
  • 5.getCount回来fragment的数量

这里getItem和getCount办法中我都采用的三元表达式,对fragment数据为空进行了处理。

5.初始化数据并绑定适配器

回到MainActivity中初始化数据并将ViewPager和myFragmentVPAdapter适配器绑定

6.完成事情监听

完成事情监听,和上一个demo相同

7.作用展现

ViewPager实现引导动画的效果|与Fragment结合实现多页面滑动

8.Gitee源码

Android_Java_Review: 学习–代码即笔记 (gitee.com)