ViewPager 视图翻页工具

视图翻页工具

先创建三个布局,用于当做翻页

ViewPager 视图翻页工具_第1张图片

ViewPager 视图翻页工具_第2张图片

其他俩个类似

回到activity_main.xml

我们可以看到这里是androidx里的全类名

然后去java代码中

ViewPager 视图翻页工具_第3张图片

创建一个MyAdapter

这里MyAdapter继承的是PagerAdapter

ViewPager 视图翻页工具_第4张图片

实现里面的方法

ViewPager 视图翻页工具_第5张图片

ViewPager 视图翻页工具_第6张图片

ViewPager 视图翻页工具_第7张图片

一般PagerAdapter会实现这四个方法,我们先实现getCount()和isViewFromObject()

那么布局怎么添加进来呢?显然我们还需要一个构造方法把数据放进来

alt+enter创建构造方法

ViewPager 视图翻页工具_第8张图片

再看getCount()中

然后我们传入数据

思路:在MainActivity中添加这些数据的集合。先创建每一个view,然后创建集合把这些view添加到集合中去

首先通过getLayoutInFlater把view渲染出来

ViewPager 视图翻页工具_第9张图片

有了这些集合后,我们再new一个Adapter

这样就设置好了

然后我们MyAdapter里面还需要设置一下

先添加instantiateItem()

alt+ins快捷键

ViewPager 视图翻页工具_第10张图片

ViewPager 视图翻页工具_第11张图片

ViewPager 视图翻页工具_第12张图片

可以看到,这个构造方法中有俩个参数ViewGroup container和int position:

方法的用意是:将给定位置(position)添加到容器(ViewGroup)中,创建并显示出来,然后还会返回一个key值,这个key值也非常重要,因为在我们下面要创建的isViewFromObject()方法中,会判断这个key值与页面视图是否相同(就是判断它俩是不是同一个view)

先设置instantiateItem()

ViewPager 视图翻页工具_第13张图片

再就是isViewFromObject():判断是否为同一个view

最后再来个销毁destroyItem()

alt+ins快捷键

ViewPager 视图翻页工具_第14张图片

ViewPager 视图翻页工具_第15张图片

run一下

 ViewPager 视图翻页工具_第16张图片

你可能感兴趣的:(android,android,studio,android-studio)