其实在我们很多应用中都看到当ViewPager滑到第一页或者最后一页的时候,如果再滑动的时候,就会有一个缓冲的过程,也就是回弹效果。之前在研究回弹效果的时候,也顺便实现了ViewPager的回弹效果,其实也很简单,一下是实现代码,注释比较少:
package com.freesonfish.viewpager_2;
import android.content.Context;
import android.graphics.Rect;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.animation.TranslateAnimation;
public class MyViewPager extends ViewPager {
private Rect mRect = new Rect();//用来记录初始位置
private int pagerCount = 3;
private int currentItem = 0;
private boolean handleDefault = true;
private float preX = 0f;
private static final float RATIO = 0.5f;//摩擦系数
private static final float SCROLL_WIDTH = 30f;
public MyViewPager(Context context) {
super(context);
}
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs)