«

Android Activity切换(跳转)时出现黑屏的解决方法 分享

时间:2024-3-2 17:41     作者:韩俊     分类: Android


在两个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中 运用该样式!


标签: android

热门推荐