繁体   English   中英

启动活动,而不是白屏

[英]splash activity instead of white screen

在启动应用程序时,我出现了约两秒钟的白屏。 搜索之后,我发现这是因为布局繁琐。 我想知道是否可以用自定义启动屏幕替换该白色屏幕。

如果由于希望用户在加载时看到某些东西而希望使用启动屏幕,则应重新考虑并使用主题设置。 因此,与其看到用户可能不关心的初始图像,不如向他们显示一个与实际应用中所看到的画面非常相似的框架(这是Apple为iOS应用和Google为Android应用所做的工作) 。

有关为何启动屏幕不好的说法,请参见本文

就我而言,最好的方法是创建如下样式:

<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);

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

我不确定这是否是一个好的解决方案,所以我不会为您提供任何代码。.但是,如果事实证明没有人想出更好的方法,而您希望我这样做,那么我可以尝试做一些解决方案,如果您需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM