2013-06-27 21 views
0

我想在创建活动后立即开始动画。问题是我必须在屏幕上显示所有内容后再调用方法,比如在第一次显示后一秒钟。在Android中显示活动后执行操作

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

Activity lifecicle

谢谢!

+1

这是一幅美丽的图画!在设置了'Views'后,在'onCreate()'或'onResume()'结尾开始它有什么问题?你可以把它放在你自己的方法中,在任何一个方法的结尾,并且在那个方法中有你的动画 – codeMagic

+0

它不是那样工作的,因为我需要在之前绘制GUI! – emiliosg

回答

1

您不能假定GUI已经绘制在onCreate()中。事实上它通常不是。

赶上当一切终于在屏幕上呈现最好的办法是:

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

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

+0

它正常工作!我认为这个方法不仅在创建活动时执行,所以我设置了一个布尔值来启动一次动画 – emiliosg

1

假设您在onCreate()中设置了layout,看起来您可以在动画对象上使用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 
} 
1

您可以在onResume()完成后调用onPostResume()开始动画。

相关问题