1
돌 이미지의 맨 아래 애니메이션을 사용하고 있습니다. 나는 2 초의 지연으로 애니메이션을 시작하고 1.5 초 안에 끝내야한다.
이와 함께 2 초 동안 알파 = 0에서 알파 = 1로가는 먼지가 날리는 이미지를 보여주고 싶습니다. AnimationUtil.loadAnimation()을 사용했습니다.알파 페이딩 애니메이션은 Android에서 다른보기의 아래쪽 위로 애니메이션이 완료 될 때 한 번만 작동합니다.
석기 애니메이션이 끝나면 먼지 이미지가 2 초 안에 alpha 1에서 alpha 0로 이동하기를 원합니다. onAnimationEnd() 메서드에서 그렇게하고 있습니다. 처음에는 모두 잘 돌아갑니다. 그러나 두 번째로, 먼지 이미지는 즉시 사라집니다. 알파 애니메이션이 없습니다.
소스 코드가 부착되어
private void showAnimation(Context context){
final FrameLayout stone = (FrameLayout) (view.findViewById(R.id.Stone));
stone.setVisibility(View.VISIBLE);
final FrameLayout dust = (FrameLayout) (view.findViewById(R.id.img_Dust));
dust.setVisibility(View.VISIBLE);
dust.animate().alpha(1f).setDuration(1500);
final Animation slideUp = AnimationUtils.loadAnimation(context,R.anim.stone_up);
slideUp.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
stone.setVisibility(View.GONE);
dust.animate().alpha(0f).setDuration(2000).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
dust.setVisibility(View.GONE);
}
});
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
}
});
stone.setAnimation(slideUp);
}