0

我想在创建活动后立即开始动画。问题是,一旦所有内容都显示在屏幕上,我就必须调用该方法,比如说在第一次显示后一秒钟。

换句话说,我正在寻找一种在 onCreate() 之后但在显示活动之后立即执行的方法:

活动生命周期

谢谢!

4

3 回答 3

1

您可以在onPostResume()中启动动画,该动画在 onResume() 完成后调用。

于 2013-06-28T00:04:15.610 回答
1

假设你设置了你的layoutinonCreate()它看起来你可以在你的动画对象上使用setStartTime(long millis) 。

public void onCreate(...)
{
    super.onCreate(...);
    setContentView(R.layout.your_layout);
    //  do whatever else you need to
    // create your animation
    animation.setStartTime(1000); // should start it in one second
}
于 2013-06-27T22:49:26.150 回答
1

您不能假设 GUI 已在 onCreate() 中绘制。事实上,它往往不是。

捕捉所有内容最终呈现在屏幕上的最佳方法是:

 @Override
 public void onWindowFocusChanged (boolean hasFocus) { ... }

把你的东西放在计时器里。

于 2013-06-27T23:00:01.530 回答