Заставить 'Balloon' реализовать 'android .animation.Animator.AnimatorListener' Не могу понять, как реализовать остальные методы - PullRequest
0 голосов
/ 05 апреля 2020

Я следую этому уроку: https://imgur.com/uy16LHN (Его экран слева, мой справа.)

https://www.lynda.com/Android-tutorials/Add-animation-logic/383247/533003-4.html

I Я пытаюсь реализовать методы, но все же, будучи новичком, с этим трудно ориентироваться, и никто, похоже, не имеет такого же ответа, когда я задаю этот вопрос. Некоторые скажут: «попробуй это» или «начни сначала и попробуй снова». Ни один из них не является ответом.

Мой код ниже я выписал

package com.example.gameapp;
import android.animation.Animator;
import android.animation.ValueAnimator;
import android.content.Context;
import android.view.ViewGroup;
import android.view.animation.LinearInterpolator;
import utils.PixelHelper;
public class Balloon extends androidx.appcompat.widget.AppCompatImageView {

private ValueAnimator mAnimator;
public Balloon(Context context) {
super(context);
}

public Balloon(Context context, int color, int rawHeight) {
super(context);
this.setImageResource(R.drawable.balloon);
this.setColorFilter(color);
int rawWidth = rawHeight / 2;
int dpHeight = PixelHelper.pixelsToDp(rawHeight, context);
int dpWidth = PixelHelper.pixelsToDp(rawWidth, context);
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(dpWidth, dpHeight);
setLayoutParams(params);
}
public void releaseBalloon(int screenHeight, int duration){
mAnimator = new ValueAnimator();
mAnimator.setDuration(duration);
mAnimator.setFloatValues(screenHeight, 0f);
mAnimator.setInterpolator(new LinearInterpolator());
mAnimator.setTarget(this);
mAnimator.addListener((Animator.AnimatorListener) this);
mAnimator.addUpdateListener((ValueAnimator.AnimatorUpdateListener) this);
mAnimator.start();
}

@Override
public void onAnimationStart(Animator animator) {

}

@Override
public void onAnimationEnd(Animator animator) {

}

@Override
public void onAnimationCancel(Animator animator) {

}

@Override
public void onAnimationRepeat(Animator animator) {

}

@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {

}

}
...