我想知道如何实现这种效果。
我的应用程序(默认所有内容),当单击启动器图标时,立即显示某种空的虚拟窗口,其中什么也没有发生,然后将布局加载到其中。
YouTube、云端硬盘、Dropbox 等“较重”的应用程序在启动时似乎在启动后等待,不会显示虚拟窗口并直接加载到就绪布局中。
知道如何执行此操作或我应该在哪里查看吗?
谢谢
//编辑:这与加载数据库之类的事情无关,我应该在其中显示进度条,恕我直言,这与 Activity 存在之前的事情有关。
最佳答案
我建议您不要使用以下方法禁用虚拟加载窗口:
<style name="Theme.MyTheme" parent="android:style/Theme" >
....
<item name="android:windowDisablePreview">true</item>
....
</style>
因为您可能会遇到几个问题。例如,如果您尝试为 AlertDialog 设置动画,则输入动画将不起作用(个人经验)。
正确的解决方案是将您的应用程序的主题设置为您的主 Activity 屏幕(相同的 ActionBar 样式,相同的背景颜色)。 在我的应用程序中,经过多次实验,我找到了满足我需求的正确解决方案。 (我有一个空白背景的主要 Activity ,没有 ActionBar,只有全屏个人布局)
1 - styles.xml:添加这样的新样式(删除 ActionBar 并设置与我的主要 Activity 相同的背景颜色)
<style name="LoadingTheme" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
<item name="android:windowBackground">@color/white_smoke</item>
</style>
2 - AndroidManifest.xml:将我的主要 Activity 主题设置为“LoadingTheme”
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.company.appname.MainActivity"
android:label="@string/app_name"
android:theme="@style/LoadingTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
....
</application>
最后我得到了完整的空白虚拟加载窗口,没有 ActionBar,带有软 MainActivity 加载和工作动画。
希望对您有所帮助。
关于Android - 禁用应用程序的虚拟启动窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922915/