Android 中快速实现ViewPager居中效果
2018-12-15 本文已影响9人
懒神_
前言:
工作过程中,大家都肯定有各种不一样的需求,今天我遇到的需求就是,viewpager居中问题,而且两边各显示上下页面的一部分,如果当前处于viewpager第一页的时候,右侧还要显示下一页的局部。其实这个问题很简单,只需要简单的几个属性就完全ok了,不需要那么麻烦,比如还可用用Recycleview+SnapHelper 去实现,当然没有问题,但是时间紧,任务重,我采用的是比较简单的方式,下面看我的实现方式。
先发效果图吧。
显示第一页的效果 滑动到第二页的效果1、我的外层用了一个LinearLayout作为父布局,我首先给父布局增加了两个属性:
android:gravity="center" android:clipChildren="false"
android:clipChildren="false",它的意思是系统不会把超过当前view的页面的切掉,默认是“true”,所以当我们设置这个属性的时候,算是开始了,首先保证不被系统回收,其次再去考虑设置padding也好,margin也好。
2、给ViewPager设置padding、margin
pager.setPadding(60, 0, 60, 0); pager.setPageMargin(20);
具体边界,具体设置,不要完全按照我的设置来。
3、给viewpager设置 android:clipToPadding="false"属性。
4、剩下的,按照常规发开就行。