It's already written in the tutorial:
It's important to note that the start() method called on the AnimationDrawable cannot be called during the onCreate() method of your Activity, because the AnimationDrawable is not yet fully attached to the window.
If you want to play the animation immediately, without requiring interaction, then you might want to call it from the onWindowFocusChanged() method in your Activity, which will get called when Android brings your window into focus.
So move your call to start in one of those two places, depending on your wish. Based on your comment, move your call to start inside onWindowsFocusChanged().
EDIT
So this is "How to do it":
@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));
}
}
The points to pay attention to are:
- do not forget to write the if/else case to check the focus
- and delete the auto-generated "super.onWindowFocusChanged(hasFocus);"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…