问答详情
源自:2-2 为自定义View添加拉动响应

下拉后回不去

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

提问者:慕雪4348792 2017-07-23 23:00

个回答

  • 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();
    }