在两个Activity跳转时,由于第二个Activity在启动时加载了较多数据,就会在启动之前出现一个短暂的黑屏时间,解决这个问题比较简单的处理方法是将第二个Activity的主题设置成透明的,这样在启动第二个Activity时的黑屏就变成了显示第一个Activity界面。这个分两步完成:
第一步:xxx/res/values/styles.xml中加入自定义Activity的Theme,如下所示:
[html] <style name="Transparent" parent="android:Theme.Light">
<!--将Activity的Theme设置成透明-->
<item name="android:windowIsTranslucent">true</item>
</style>
<style name="Transparent" parent="android:Theme.Light">
<!--将Activity的Theme设置成透明-->
<item name="android:windowIsTranslucent">true</item>
</style>第二步:在AndroidManifest.xml中将第二个Activity的"android:theme"属性设置成刚才自定义的主题样式。如下所示:
[html] <activity
android:name="com.yutao.customer.CustomerActivity"
android:label="@string/app_name"
android:theme="@style/Transparent">
<activity
android:name="com.yutao.customer.CustomerActivity"
android:label="@string/app_name"
android:theme="@style/Transparent"> 到此应该就不会出现那个讨厌的黑屏了。
——————————————————————————————————————————————————————————————————————————
项目解决方案:
添加style.xml
<!-- Base application theme. --> <style name="AppTheme" parent="android:Theme.Black.NoTitleBar"> <!-- Customize your theme here. --> <item name="android:windowNoTitle">true</item> <!-- 解决黑色闪屏的情况。还有另外一种解决方式:配置 <item name="android:windowIsTranslucent">true</item>即可。 但是配置之后会发现activity的切换动画失效了。这时需要配置另外一个参数, windowAnimationStyle属性。 --> <item name="android:windowBackground">@drawable/transparent</item> </style>
然后在application中 运用该样式!