下拉后回不去

来源:2-2 为自定义View添加拉动响应

慕雪4348792

2017-07-23 23:00

下拉菜单显示,放开后在后来的位置,回不去

写回答 关注

1回答

  • Fa_Fa
    2017-07-24 10:49:45

    请在setOnTouchListener的MotionEvent.ACTION_UP时候调用mPullDownView.release(),release();就是写在自定义view中的那个值动画函数

    public void release() {
       if (valueAnimator == null){
           valueAnimator = ValueAnimator.ofFloat(mProgress,0);
           valueAnimator.setDuration(300);
           valueAnimator.setInterpolator(new DecelerateInterpolator());
           valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
               @Override
               public void onAnimationUpdate(ValueAnimator animation) {
                   Object value = animation.getAnimatedValue();
                   if (value instanceof Float){
                       setProgress((Float) value);
                   }
               }
           });
       }else {
           valueAnimator.cancel();
           valueAnimator.setFloatValues(mProgress,0);
       }
       valueAnimator.start();
    }

自定义实现顶部粘性下拉刷新效果

构建一个可拉动的自定义View,自定义实现粘性下拉控件

10723 学习 · 29 问题

查看课程

相似问题