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

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



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。