android自定义:viewpage水平滑动弹性效果

  

android: viewpage是一个经常要用到的组件,但android系统本身为我们提供的:viewpage是没有任何效果的,只能是一页一页的滑动,这样会让人感觉很死板,在看一些知名大公司的应用时,看到了他们的:viewpage在滑动到最开始或者最后的时候是有一个弹性效果的,使用起来感觉非常的好,于是乎就是百度搜了一下,在中StackOverflow看到一篇文章就是讲如何实现这个效果的。
  

  

先看下效果图:滑动到最后一页时仍然可以拉动……

  

 android自定义:viewpage水平滑动弹性效果

  

代码如下:
  

        包com.example.myviewpager;      进口android.content.Context;   进口android.content.res.TypedArray;   进口android.graphics.Camera;   进口android.support.v4.view.MotionEventCompat;   进口android.support.v4.view.ViewConfigurationCompat;   进口android.support.v4.view.ViewPager;   进口android.util.AttributeSet;   进口android.view.MotionEvent;   进口android.view.View;   进口android.view.ViewConfiguration;   进口android.view.animation.DecelerateInterpolator;   进口android.view.animation.Transformation;      进口com.nineoldandroids.animation.Animator;   进口com.nineoldandroids.animation.Animator.AnimatorListener;   进口com.nineoldandroids.animation.ObjectAnimator;      公共类BounceBackViewPager: viewpage延伸   {/* *   *最大z距离翻译子视图   */最终的静态int DEFAULT_OVERSCROLL_TRANSLATION=500;/* *   *时间overscroll动画女士   */最后的私有静态int DEFAULT_OVERSCROLL_ANIMATION_DURATION=400;      @SuppressWarnings(未使用)   私人最终的静态字符串DEBUG_TAG=ViewPager.class.getSimpleName ();   私人最终静态int INVALID_POINTER_ID=1;/* *   *   * @author renard延长彼得亚雷泽瓦茨基   *   */私有类OverscrollEffect   {   私人mOverscroll浮动;   私人动画师mAnimator;/* *   * @param deltaDistance [0 . .1)0→没有overscroll,充满overscroll 1祝辞   */公共空间setPull(最终deltaDistance浮动)   {   mOverscroll=deltaDistance;   invalidateVisibleChilds (mLastPosition);   }/* *   *当手指被释放。开始动画回到默认位置   */私人空间>   & lt; declare-styleable name=" BounceBackViewPager比;   & lt; attr=name=" overscroll_translation_bounce "格式"维度"/比;      & lt; !——动画时间当用户释放在滚动。默认是400——比女士;   & lt; attr name==罢?皁verscroll_animation_duration_bounce”格式比;   & lt;/declare-styleable>   之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

android自定义:viewpage水平滑动弹性效果