效果:
- 1.当viewpger为第一页时向右滑动viewpager向右移动;
- 2.当viewpger为最后一页时向左滑动是viewpger向左移动;
首先先来看看效果图:
是不是你想要的效果呢?
思路:
1.继承viewpger
2.重写onPageScrolled方法,判断是能滑动
3.重写onTouchEvent方法,处理滑动事件
上代码:
setp1:继承Viewpager,从写构造方法
public class FlexibleViewPager extends ViewPager {
public FlexibleViewPager(Context context) {
super(context);
}
public FlexibleViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
setp2 : 重写onPageScrolled方法,判断是否能滑出
@Override
protected void onPageScrolled(int position, float offset, int offsetPixels) {
//监听viewpager是否是第一页或最后一页
if (getAdapter() == null && getAdapter().getCount() == 0) {
isMoveLeft = false;
isMoveRight = false;
} else if (position == 0 && offset == 0 && offsetPixels == 0) {
//当前为首页,左边能滑出
isMoveLeft = true;
} else if (position == getAdapt