我有一个 SetContentView(R.layout.camera); 我希望这个布局在几毫秒后开始执行......直到那时它应该是空白的。我怎样才能在android中实现这一点?
问问题
712 次
4 回答
2
为此写下你的onCreate()
这样..然后它会起作用..
Thread t = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
t = new Thread(new Runnable() {
@Override
public void run() {
try {
t.sleep(5000);
runOnUiThread(new Runnable() {
public void run() {
setContentView(R.layout.activity_main);
}
});
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
t.start();
}
于 2013-10-17T07:05:50.380 回答
1
您可以使用处理程序进行延迟
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//setcontentview
}
};
在 oncreate 方法中
Message m = Message.obtainMessage();
handler.sendMessageDelayed(m, delayMillis);
于 2013-10-17T07:06:39.210 回答
0
除非调用onResume() ,否则您的活动将不可见,在主线程或onCreate()方法中执行一些操作它将阻塞您的主线程,并且在您的操作完成之前不会显示 UI。
于 2013-10-17T07:03:50.123 回答
0
创建根视图,将所有组件和可见性设置为INVISIBLE或GONE,然后在延迟后显示它。您可以使用 Handler 和 postDelayed 在延迟后执行代码。
于 2013-10-17T07:13:09.443 回答