Я пытаюсь простой пример, как с TextView
и перевести его от 0% до 100% от ширины экранаДобавить задержку перед повторной анимации с valueAnimator
код:
anim0 = ObjectAnimator.ofFloat(textViewId00, "translationX", -120f, 480f);
где 480 ° F это ширина моего экрана.
Что я хочу, это следующее N раз (n = 5 для моего примера), чтобы добавить задержку до ее начала.
Я попытался добавить задержку с помощью метода setStartDelay()
на onAnimationRepeat
, но эффекта нет.
Мой код:
textViewId00 = (TextView) findViewById(R.id.textViewId00);
anim0 = ObjectAnimator.ofFloat(textViewId00, "translationX", -120f, 480f);
anim0.setDuration(2000);
anim0.setRepeatCount(5);
anim0.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Log.i(TAG, "anim0 onAnimationStart ");
textViewId00.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationEnd(Animator animation) {
Log.i(TAG, "anim0 onAnimationEND ");
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
Log.i(TAG, "anim0 onAnimation REPEAT ");
anim0.setStartDelay(14000);
}
});
anim0.start();
TextView появляется на экране, перемещается до тех пор, пока не исчезнет, а затем снова от начала без каких-либо задержек.
Не могли бы вы установить анимацию не повторять и добавить anim0.start() внутри onAnimationEnd слушателя, возможно? – daentech
Тогда он не войдет в 'onAnimationRepeat'. Просто попробовал, и ничего не происходит. – vicolored
Вы хотите, чтобы анимировать с экрана, приостановить, вернуться в исходное положение после задержки и оживить снова? – daentech