Android ViewPager竖

安卓页面的上下滑动,其实就是用竖向的方式去翻页,挺常见的,比如小说阅读器、教程引导页那类。核心就是一个垂直滑动的 ViewPager。你知道,ViewPager 默认是横向滑的,要让它竖起来,就得稍微动点手脚,配合适配器、手势监听,还有必要时自己扩展一下控件。

FlingPage这个文件率是个自定义控件,用来手势的。像快速滑动(fling)这种操作,系统默认没那么灵敏,用上它之后,翻页更流畅,体验上了个档次。你可以在里头重写 onTouchEvent() 来识别手势动作,控制页面滚动的方向和速度。

实现步骤其实挺清晰的:先在 build.gradle 加上 androidx.viewpager:1.0.0, XML 里放个 ViewPager,写个适配器,返回每个页面对应的 Fragment。把适配器绑上去就好:

ViewPager viewPager = findViewById(R.id.view_pager);
MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
viewPager.setAdapter(adapter);

如果想加点页码提示,可以搭个 TabLayout,也挺好用的。再结合像 这个例子 一起看,思路就更清晰了。

如果你要做那种翻页顺滑、动画自然的上下滑动页,FlingPage是个不错的参考。想进阶点,还可以看下 自定义多种 ViewPager 滑动样式 的实现。

哦对了,记得测试下不同设备的手势灵敏度,有的手机滑动判定比较挑,不调好容易翻页卡顿。

zip 文件大小:1.31MB