我的应用程序首先显示仅包含我的应用程序图标的布局,并在5秒钟后切换到我定义为另一个XML布局文件的另一个布局,但是当我在手机上对其进行测试时,第一个布局将显示,并且在5该应用程序退出的秒数。下面是我的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Timer timer;
timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
setContentView(R.layout.signup);} },5000);}}
我已经使用了计时器功能。 activity_main是仅包含图像视图的布局xml文件,sign_up是包含注册表单的布局xml文件。
我在youtube上也见过同样的情况,但是那家伙在单击按钮后更改了布局,它起作用了...。我只是将单击按钮更改为计时器。
谦虚地要求答案。谢谢
答案 0 :(得分:1)
您可以使用布局activity_main中的任何视图来调用postDelayed,如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.tvHellow).postDelayed(new Runnable() {
@Override
public void run() {
setContentView(R.layout.sign_up);
}
}, 5000);
}
它有效。
答案 1 :(得分:0)
您还可以使用以下处理程序:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Handler handler = new Handler(Looper.getMainLooper());
handler.postDelayed(new Runnable() {
@Override
public void run() {
setContentView(R.layout.signup);
}
}, 5000);
}
答案 2 :(得分:0)
您正在尝试使用类似启动画面。我的方法是在同一活动中使用两个活动而不是不同的布局。我建议使用这种方法,因为我通常会在Splash Activity中添加差异逻辑(例如控制用户偏好设置等)。我会这样更灵活。