类android.support.v4.view.animation.PathInterpolatorCompat源码实例Demo

下面列出了怎么用android.support.v4.view.animation.PathInterpolatorCompat的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * 即将下掉
 * @param event
 */
@Deprecated
public void onActionRelease(MotionEvent event) {
    float distance = countDragDistanceFromMotionEvent(event);
    if (mTransYAnim != null && mTransYAnim.isRunning()) {
        mTransYAnim.cancel();
    }

    mTransYAnim = ObjectAnimator.ofFloat(mChildView, View.TRANSLATION_Y,
            mChildView.getTranslationY(), 0.0F);
    mTransYAnim.setDuration(200L);
    mTransYAnim.setInterpolator(PathInterpolatorCompat.create(0.4F, 0.0F, 0.2F, 1.0F));

    mTransYAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {

        }
    });

    mTransYAnim.start();
}
 
private void animateStaticImageVisibility(boolean visible) {
    // If the panel is expanded then #onUpdateFromPeekToExpand() is responsible for setting
    // mStaticImageVisibility and the static image appearance should not be animated.
    if (visible && mExpandedPercentage > 0.f) return;

    if (mStaticImageVisibilityInterpolator == null) {
        mStaticImageVisibilityInterpolator =
                PathInterpolatorCompat.create(0.4f, 0.f, 0.6f, 1.f);
    }

    mOverlayPanelAnimation.cancelAnimation(this, AnimationType.STATIC_IMAGE_VISIBILITY);

    float endValue = visible ? 1.f : 0.f;
    mOverlayPanelAnimation.addToAnimation(this, AnimationType.STATIC_IMAGE_VISIBILITY,
            mStaticImageVisibilityPercentage, endValue,
            OverlayPanelAnimation.BASE_ANIMATION_DURATION_MS, 0, false,
            mStaticImageVisibilityInterpolator);
}
 
源代码3 项目: mirror   文件: ArtboardView.java
private void onActionRelease() {
    if (mCallback != null && Math.abs(mDragDistance) > mDragDismissDistance) {
        mCallback.onDragDismiss(this, mIsDragDown);
    } else {
        if (mTransYAnim != null && mTransYAnim.isRunning()) {
            mTransYAnim.cancel();
        }

        mTransYAnim = ObjectAnimator.ofFloat(this, View.TRANSLATION_Y, getTranslationY(), 0.0F);
        mTransYAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                float dragTo = (Float) animation.getAnimatedValue();
                if (mCallback != null) {
                    mCallback.onDrag(ArtboardView.this, mDragDismissDistance, dragTo);
                }
            }
        });
        mTransYAnim.setDuration(getResources().getInteger(android.R.integer.config_shortAnimTime));
        mTransYAnim.setInterpolator(PathInterpolatorCompat.create(0.4F, 0.0F, 0.2F, 1.0F));
        mTransYAnim.start();
    }
}
 
源代码4 项目: 365browser   文件: ContextualSearchImageControl.java
private void animateCustomImageVisibility(boolean visible) {
    // If the panel is expanded then #onUpdateFromPeekToExpand() is responsible for setting
    // mCustomImageVisibility and the custom image appearance should not be animated.
    if (visible && mExpandedPercentage > 0.f) return;

    if (mCustomImageVisibilityInterpolator == null) {
        mCustomImageVisibilityInterpolator =
                PathInterpolatorCompat.create(0.4f, 0.f, 0.6f, 1.f);
    }

    mOverlayPanelAnimation.cancelAnimation(this, AnimationType.CUSTOM_IMAGE_VISIBILITY);

    float endValue = visible ? 1.f : 0.f;
    mOverlayPanelAnimation.addToAnimation(this, AnimationType.CUSTOM_IMAGE_VISIBILITY,
            mCustomImageVisibilityPercentage, endValue,
            OverlayPanelAnimation.BASE_ANIMATION_DURATION_MS, 0, false,
            mCustomImageVisibilityInterpolator);
}
 
源代码5 项目: ucar-weex-core   文件: AnimationAction.java
private
@Nullable
Interpolator createTimeInterpolator() {
  String interpolator = mAnimationBean.timingFunction;
  if (!TextUtils.isEmpty(interpolator)) {
    switch (interpolator) {
      case WXAnimationBean.EASE_IN:
        return new AccelerateInterpolator();
      case WXAnimationBean.EASE_OUT:
        return new DecelerateInterpolator();
      case WXAnimationBean.EASE_IN_OUT:
        return new AccelerateDecelerateInterpolator();
      case WXAnimationBean.LINEAR:
        return new LinearInterpolator();
      default:
        //Parse cubic-bezier
        try {
          SingleFunctionParser<Float> parser = new SingleFunctionParser<>(
              mAnimationBean.timingFunction,
              new SingleFunctionParser.FlatMapper<Float>() {
                @Override
                public Float map(String raw) {
                  return Float.parseFloat(raw);
                }
              });
          List<Float> params = parser.parse(WXAnimationBean.CUBIC_BEZIER);
          if (params != null && params.size() == WXAnimationBean.NUM_CUBIC_PARAM) {
            return PathInterpolatorCompat.create(
                params.get(0), params.get(1), params.get(2), params.get(3));
          } else {
            return null;
          }
        } catch (RuntimeException e) {
          return null;
        }
    }
  }
  return null;
}
 
源代码6 项目: weex-uikit   文件: WXAnimationModule.java
private static @Nullable
Interpolator createTimeInterpolator(@NonNull WXAnimationBean animation) {
  String interpolator = animation.timingFunction;
  if (!TextUtils.isEmpty(interpolator)) {
    switch (interpolator) {
      case WXAnimationBean.EASE_IN:
        return new AccelerateInterpolator();
      case WXAnimationBean.EASE_OUT:
        return new DecelerateInterpolator();
      case WXAnimationBean.EASE_IN_OUT:
        return new AccelerateDecelerateInterpolator();
      case WXAnimationBean.LINEAR:
        return new LinearInterpolator();
      default:
        //Parse cubic-bezier
        try {
          SingleFunctionParser<Float> parser = new SingleFunctionParser<>(
              animation.timingFunction,
              new SingleFunctionParser.FlatMapper<Float>() {
                @Override
                public Float map(String raw) {
                  return Float.parseFloat(raw);
                }
              });
          List<Float> params = parser.parse(WXAnimationBean.CUBIC_BEZIER);
          if (params != null && params.size() == WXAnimationBean.NUM_CUBIC_PARAM) {
            return PathInterpolatorCompat.create(
                params.get(0), params.get(1), params.get(2), params.get(3));
          }
          else {
            return null;
          }
        }catch (RuntimeException e){
          return null;
        }
    }
  }
  return null;
}
 
源代码7 项目: belvedere   文件: ChatActivity.java
@Override
public void onScroll(int height, int scrollArea, float scrollPosition) {
    final Interpolator interpolator = PathInterpolatorCompat.create(.19f,0f,.2f,1f);
    final float interpolation = interpolator.getInterpolation((scrollPosition * .30f));
    final int bottomPadding = (int) (-1f * interpolation * scrollArea);
    findViewById(R.id.activity_input).setTranslationY(bottomPadding);
    findViewById(R.id.activity_recyclerview).setTranslationY(bottomPadding);
}
 
源代码8 项目: BeFoot   文件: TouchPullView.java
private void initTangentInterpolator() {
    if (mCircleRadius > 0 && (mDragHeight >= mCircleRadius * 2)) {
        // The run // 270~360~mTangentAngle=>0~90~mTangentAngle
        // When drag double radius the angle = MIN_RUN_ANGLE
        mTangentInterpolator = PathInterpolatorCompat.create((mCircleRadius * 2) / mDragHeight,
                MIN_RUN_ANGLE / (MIN_RUN_ANGLE + mTangentAngle));
    }
}
 
源代码9 项目: FlyRefresh   文件: FlyRefreshLayout.java
@Override
public void startRefresh() {

    if (mFlyAnimator != null) {
        mFlyAnimator.end();
    }

    final View iconView = getIconView();
    UIUtils.clearAnimator(iconView);

    AnimatorSet flyUpAnim = new AnimatorSet();
    flyUpAnim.setDuration(800);

    ObjectAnimator transX = ObjectAnimator.ofFloat(iconView, "translationX", 0, getWidth());
    ObjectAnimator transY = ObjectAnimator.ofFloat(iconView, "translationY", 0, -mHeaderController.getHeight());
    transY.setInterpolator(PathInterpolatorCompat.create(0.7f, 1f));
    ObjectAnimator rotation = ObjectAnimator.ofFloat(iconView, "rotation", -45, 0);
    rotation.setInterpolator(new DecelerateInterpolator());
    ObjectAnimator rotationX = ObjectAnimator.ofFloat(iconView, "rotationX", 0, 60);
    rotationX.setInterpolator(new DecelerateInterpolator());

    flyUpAnim.playTogether(transX, transY, rotationX,
            ObjectAnimator.ofFloat(iconView, "scaleX", 1, 0.5f),
            ObjectAnimator.ofFloat(iconView, "scaleY", 1, 0.5f),
            rotation
    );

    mFlyAnimator = flyUpAnim;
    mFlyAnimator.start();

    if (mListener != null) {
        mListener.onRefresh(FlyRefreshLayout.this);
    }
}
 
源代码10 项目: atlas   文件: Keyframe.java
static <T> Keyframe<T> newInstance(JSONObject json, LottieComposition composition, float scale,
    AnimatableValue.Factory<T> valueFactory) {
  PointF cp1 = null;
  PointF cp2 = null;
  float startFrame = 0;
  T startValue = null;
  T endValue = null;
  Interpolator interpolator = null;

  if (json.has("t")) {
    startFrame = (float) json.optDouble("t", 0);
    Object startValueJson = json.opt("s");
    if (startValueJson != null) {
      startValue = valueFactory.valueFromObject(startValueJson, scale);
    }

    Object endValueJson = json.opt("e");
    if (endValueJson != null) {
      endValue = valueFactory.valueFromObject(endValueJson, scale);
    }

    JSONObject cp1Json = json.optJSONObject("o");
    JSONObject cp2Json = json.optJSONObject("i");
    if (cp1Json != null && cp2Json != null) {
      cp1 = JsonUtils.pointFromJsonObject(cp1Json, scale);
      cp2 = JsonUtils.pointFromJsonObject(cp2Json, scale);
    }

    boolean hold = json.optInt("h", 0) == 1;

    if (hold) {
      endValue = startValue;
      // TODO: create a HoldInterpolator so progress changes don't invalidate.
      interpolator = LINEAR_INTERPOLATOR;
    } else if (cp1 != null) {
      interpolator = PathInterpolatorCompat.create(
          cp1.x / scale, cp1.y / scale, cp2.x / scale, cp2.y / scale);
    } else {
      interpolator = LINEAR_INTERPOLATOR;
    }
  } else {
    startValue = valueFactory.valueFromObject(json, scale);
    endValue = startValue;
  }
  return new Keyframe<>(composition, startValue, endValue, interpolator, startFrame, null);
}
 
源代码11 项目: Flubber   文件: EaseInQuad.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.55f, 0.085f, 0.68f, 0.53f);
}
 
源代码12 项目: Flubber   文件: EaseInOutQuint.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.86f, 0f, 0.07f, 1f);    }
 
源代码13 项目: Flubber   文件: EaseOutExpo.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.19f, 1f, 0.22f, 1f);
}
 
源代码14 项目: Flubber   文件: EaseInOut.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.42f, 0.0f, 0.58f, 1.0f);
}
 
源代码15 项目: Flubber   文件: EaseInOutQuart.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.77f, 0f, 0.175f, 1f);
}
 
源代码16 项目: Flubber   文件: EaseInCubic.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.55f, 0.055f, 0.675f, 0.19f);
}
 
源代码17 项目: Flubber   文件: EaseOutQuad.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.25f, 0.46f, 0.45f, 0.94f);
}
 
源代码18 项目: Flubber   文件: EaseInOutCubic.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.645f, 0.045f, 0.355f, 1f);
}
 
源代码19 项目: Flubber   文件: EaseInQuart.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.895f, 0.03f, 0.685f, 0.22f);
}
 
源代码20 项目: Flubber   文件: EaseOutQuint.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.23f, 1f, 0.32f, 1f);
}
 
源代码21 项目: Flubber   文件: EaseOutBack.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.175f, 0.885f, 0.32f, 1.275f);
}
 
源代码22 项目: Flubber   文件: EaseInOutSine.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.445f, 0.05f, 0.55f, 0.95f);    }
 
源代码23 项目: Flubber   文件: EaseOutQuart.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.165f, 0.84f, 0.44f, 1f);
}
 
源代码24 项目: Flubber   文件: BzrSpring.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    final float force = animationBody.getForce();
    return PathInterpolatorCompat.create(0.5f, 1.1f + force / 3, 1f, 1f);
}
 
源代码25 项目: Flubber   文件: Linear.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.0f, 0.0f, 1.0f, 1.0f);
}
 
源代码26 项目: Flubber   文件: EaseInExpo.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.95f, 0.05f, 0.795f, 0.035f);
}
 
源代码27 项目: Flubber   文件: EaseInOutExpo.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(1f, 0f, 0f, 1f);
}
 
源代码28 项目: Flubber   文件: EaseInCirc.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.6f, 0.04f, 0.98f, 0.335f);
}
 
源代码29 项目: Flubber   文件: EaseInOutCirc.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.785f, 0.135f, 0.15f, 0.86f);
}
 
源代码30 项目: Flubber   文件: EaseInSine.java
@Override
public Interpolator createInterpolatorFor(AnimationBody animationBody) {
    return PathInterpolatorCompat.create(0.47f, 0f, 0.745f, 0.715f);
}
 
 类所在包
 类方法
 同包方法