我有一个SetContentView(R.layout.camera); 我希望这个布局在几毫秒后开始执行....直到那时它应该是空白的。我怎样才能在android中实现这个目标?
答案 0 :(得分:1)
为此,写下你的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();
}
答案 1 :(得分:1)
您可以使用处理程序进行延迟
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
//setcontentview
}
};
在oncreate方法中
Message m = Message.obtainMessage();
handler.sendMessageDelayed(m, delayMillis);
答案 2 :(得分:0)
除非调用 onResume(),否则您的活动将不可见,在主线程中执行某些操作或 onCreate()方法它将阻止您的主线程和UI在您的操作完成之前不会显示。
答案 3 :(得分:0)
创建根视图,其中所有组件和可见性设置为 INVISIBLE 或 GONE ,然后在延迟后显示。您可以使用Handler和postDelayed在延迟后执行代码。