示例#1
0
  public static AnimatorSet createMovementAnimation(View view, float x, float y) {
    ObjectAnimator alphaIn =
        ObjectAnimator.ofFloat(view, ALPHA, INVISIBLE, VISIBLE).setDuration(500);

    ObjectAnimator setUpX = ObjectAnimator.ofFloat(view, COORD_X, x).setDuration(INSTANT);
    ObjectAnimator setUpY = ObjectAnimator.ofFloat(view, COORD_Y, y).setDuration(INSTANT);

    AnimatorSet as = new AnimatorSet();
    as.play(setUpX).with(setUpY).before(alphaIn);
    return as;
  }
示例#2
0
  public static AnimatorSet createMovementAnimation(
      View view,
      float canvasX,
      float canvasY,
      float offsetStartX,
      float offsetStartY,
      float offsetEndX,
      float offsetEndY,
      final AnimationEndListener listener) {
    ViewHelper.setAlpha(view, INVISIBLE);

    ObjectAnimator alphaIn =
        ObjectAnimator.ofFloat(view, ALPHA, INVISIBLE, VISIBLE).setDuration(500);

    ObjectAnimator setUpX =
        ObjectAnimator.ofFloat(view, COORD_X, canvasX + offsetStartX).setDuration(INSTANT);
    ObjectAnimator setUpY =
        ObjectAnimator.ofFloat(view, COORD_Y, canvasY + offsetStartY).setDuration(INSTANT);

    ObjectAnimator moveX =
        ObjectAnimator.ofFloat(view, COORD_X, canvasX + offsetEndX).setDuration(1000);
    ObjectAnimator moveY =
        ObjectAnimator.ofFloat(view, COORD_Y, canvasY + offsetEndY).setDuration(1000);
    moveX.setStartDelay(1000);
    moveY.setStartDelay(1000);

    ObjectAnimator alphaOut = ObjectAnimator.ofFloat(view, ALPHA, INVISIBLE).setDuration(500);
    alphaOut.setStartDelay(2500);

    AnimatorSet as = new AnimatorSet();
    as.play(setUpX).with(setUpY).before(alphaIn).before(moveX).with(moveY).before(alphaOut);

    Handler handler = new Handler();
    Runnable runnable =
        new Runnable() {
          @Override
          public void run() {
            listener.onAnimationEnd();
          }
        };
    handler.postDelayed(runnable, 3000);

    return as;
  }