/ / A animação de tradução não está funcionando - android, traduzir-animação

A animação de tradução não está funcionando - android, traduzir-animação

Tentei fazer uma animação simples de canto inferior esquerdo para centro direito e depois para centro da tela

    Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
screenWidthPx = size.x;
screenHeightPx = size.y;

final TranslateAnimation slideFromRight = new TranslateAnimation(screenWidthPx, screenWidthPx/2, screenHeightPx, screenHeightPx);
slideFromRight.setInterpolator(new AccelerateDecelerateInterpolator());
slideFromRight.setStartOffset(300);
slideFromRight.setDuration(600);

slideFromRight.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}

@Override
public void onAnimationEnd(Animation animation) {
TranslateAnimation titleIconSlideUp = new TranslateAnimation(0, screenWidthPx/2, screenHeightPx, screenHeightPx/2);
titleIconSlideUp.setInterpolator(new AccelerateDecelerateInterpolator());
titleIconSlideUp.setStartOffset(500);
titleIconSlideUp.setFillAfter(true);
titleIconSlideUp.setDuration(1000);
tvAnimView.startAnimation(titleIconSlideUp);
}

@Override
public void onAnimationRepeat(Animation animation) {
}
});

tvAnimView.startAnimation(slideFromRight);

a segunda animação dentro onAnimationEnd está funcionando bem. Mas não sei por que a primeira animação não está funcionando bem. Onde meu layout é simples

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rl_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false"
tools:context="broadpeak.animationlearning.AnimTestActivity">


<TextView
android:id="@+id/tv_anim_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World"
android:textColor="@color/colorPrimaryDark"
android:textSize="24sp" />
</RelativeLayout>

Respostas:

0 para resposta № 1

Você deve iniciar sua animação usando esta linha:

tvAnimView.startAnimation(slideFromRight);

Basta colocar este pedaço de código no listener de cliques ou onCreate(), onResume() métodos, de acordo com suas necessidades.