Это уже написано в уроке:
Важно отметить, что метод start (), вызываемый для AnimationDrawable, не может быть вызван во время метода onCreate () вашего Activity, поскольку AnimationDrawable еще не полностью присоединен к окну.
Если вы хотите немедленно воспроизвести анимацию, не требуя взаимодействия , то вы можете вызвать ее из метода onWindowFocusChanged () в вашей деятельности, который будет вызываться, когда Android приносит ваш окно в фокусе.
Так что переведите ваш звонок, чтобы начать в одном из этих двух мест, в зависимости от вашего желания. Исходя из вашего комментария, переместите ваш вызов для начала внутри onWindowsFocusChanged () .
EDIT
Так что это «Как это сделать» :
@Override
public void onWindowFocusChanged(boolean hasFocus) {
if(hasFocus){
textView.startAnimation(AnimationUtils.loadAnimation(MainActivity.this,
android.R.anim.slide_in_left|android.R.anim.fade_in));
}
}
На что следует обратить внимание:
- не забудьте написать регистр if / else, чтобы проверить фокус
- и удалите автоматически сгенерированный "super.onWindowFocusChanged (hasFocus); "