在我的应用程序启动时,我有一个白色的屏幕大约两秒钟。在我搜索它之后,我发现那是因为布局很重。我想知道是否可以用自定义初始屏幕替换白屏。
答案 0 :(得分:3)
如果您希望使用启动画面,因为您希望用户在加载时看到某些内容,则应重新考虑并使用主题。因此,不要看到用户可能不关心的启动图像,而是向他们展示一个与他们在实际应用中看到的非常相似的框架(这是Apple为其iOS应用程序所做的工作以及Google为其Android应用程序所做的工作)
请参阅this article,了解为什么启动画面不好。
答案 1 :(得分:1)
就我而言,最好的方法是创建如下的样式:
<style name="Theme.Splash" parent="android:Theme">
<item name="android:windowBackground">@drawable/splash</item>
<item name="android:windowNoTitle">true</item>
</style>
并将其设置为清单中的MainActivity。唯一的问题是你应该用白色屏幕或其他什么来改变你的活动的背景可绘制,因为窗口背景将保持可绘制的抽象。所以在onCreate()的末尾加上这一行:
getWindow().setBackgroundDrawableResource(R.drawable.white);
答案 2 :(得分:0)
解决方案是为您的“自定义启动”创建一个布局,并将其设置为应用程序启动时加载的布局,在背景中夸大主/重布局(AsyncTask可能??)以及通知完成时,更改新膨胀的闪光屏幕。
我不确定这是一个很好的解决方案所以我不会给你任何代码这样做..但如果事实证明没有人提出更好的你想要我,我可以尝试做一些如果你需要,那就是一种解决方案。