2

在我的应用程序启动时,我有大约两秒钟的白屏。在我搜索它之后,我发现这是因为布局繁重。我想知道是否可以用自定义启动画面替换那个白屏。

4

3 回答 3

3

如果您希望使用启动屏幕,因为您希望用户在加载时看到某些内容,您应该重新考虑并改用主题。因此,与其看到用户可能不关心的启动图像,不如向他们展示一个与他们在实际应用程序中看到的非常相似的框架(这就是 Apple 为其 iOS 应用程序所做的事情,而 Google 为其 Android 应用程序所做的事情) .

请参阅这篇文章,了解为什么启动画面不好的论点。

于 2013-08-01T02:01:18.687 回答
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);
于 2013-08-01T00:17:33.703 回答
0

一个解决方案是为您的“自定义启动”创建一个布局,并将其设置为应用程序启动时加载的布局,在后台膨胀主/重布局(可能是 AsyncTask ??),当膨胀完成时,更改新充气的启动画面。

我不确定这是否是一个好的解决方案,所以我不会给你任何代码来这样做。但如果事实证明没有人想出更好而你想要我,我可以尝试做一些如果需要,可以解决。

于 2013-07-31T21:02:06.240 回答