AndroidViewAnimations在onCreate中没有正确制作动画

时间:2015-01-07 18:49:33

标签: android animation android-activity android-animation

我试图使用真棒库AndroidViewAnimations

我有两个动画,一个在按下按钮时动画,另一个在动画开始时动画。

当您按下按钮时,动画的行为应该如此,但在onCreate方法中执行的动画表现得很奇怪。

public class TestActivity extends ActionBarActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);


    //This happens when you start the activity
    YoYo.with(Techniques.Tada).duration(1000).playOn(findViewById(R.id.hello_world));

    }

    //This happens when you click the button
    public void animate(View view) {
    YoYo.with(Techniques.Tada).duration(1000).playOn(findViewById(R.id.hello_world));
    }

在onCreate方法中执行的动画似乎从左上角动画,而按下按钮时执行的动画从中心动画。后者是正确的行为。

onCreate:动画从左上角动画。 - 不正确

按钮:动画从中心动画。 - 正确

有谁知道可能导致这种奇怪行为的原因?

1 个答案:

答案 0 :(得分:1)

我通过实现onWindowFocusChanged方法解决了它:

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        if(hasFocus){
            YoYo.with(Techniques.Tada).duration(1000).playOn(findViewById(R.id.hello_world));
        }
    }