【发布时间】:2013-02-15 15:20:27
【问题描述】:
我的应用需要加载一些 JSON,然后才能在 UI 上显示任何内容,JSON 决定了应用的主题化方式。
虽然我通常不喜欢它们,但需要启动屏幕/加载屏幕,这样用户就不必看到界面的每个元素都会改变颜色等。但是我的问题是,当我加载我的应用程序时,在我的进度对话框启动之前,我可以在几秒钟内看到默认样式。我可以看到默认的深色渐变全息背景,以及包含我的应用标题的操作栏。如果我在 XML 中隐藏操作栏,我以后无法将其添加回来,并且在操作时会得到nullpointerexceptions。
我什至在设置AsyncTask 之前尝试在onCreate() 的开头启动启动画面,并尝试在onPreExecute() 中启动它。
理想情况下,我希望能够在应用启动时立即显示加载对话框,或者如果确实需要延迟,我只想让用户看到黑色背景。
有没有我没有提到的完全不同的方法?
谢谢。
【问题讨论】:
-
使用单独的活动作为启动画面
-
如何在我的(当前)MainActivity 中从单独的初始屏幕活动中设置样式和加载内容?
-
使用 findViewbyid 将布局的主要元素连接到源代码,并使用 setvisible(GONE) 将其隐藏在源代码中。在你的 asynctask 的 postexecute 中取消隐藏它
标签: android performance android-layout android-asynctask oncreate