首页 > 代码库 > android-actionBar进入界面闪烁问题解决

android-actionBar进入界面闪烁问题解决

问题分析:

主要是因为在开启一个应用的时候,当前界面并不是第一界面,在它之前,还有一个界面启动了,这个界面的唯一目的就是启动主界面,它目的不是显示。虽然如此,但是呢,这个界面的theme因为没有做统一处理,它的actionBar可能是黑色的,但是之后的ActionBar可能是白色的,这样就导致了进入主界面的时候,会感觉到ActionBar会闪一下白屏。

解决方法:

只要找到这个界面就可以了,然后把这个界面的theme进行修改,如下的例子

<resources xmlns:android="http://schemas.android.com/apk/res/android">    <style name="AppBaseTheme" parent="@android:style/Theme.Funui">        <item name="android:windowFullscreen">true</item>    </style>    <!-- Application theme. -->    <style name="AppTheme" parent="AppBaseTheme">        <!-- All customizations that are NOT specific to a particular API-level can go here. -->        <item name="android:actionBarTabTextStyle">@style/customActionBarTabTextStyle</item>        <item name="android:actionBarTabStyle">@style/SettingsActionBarTabView</item>        <item name="android:actionBarStyle">@style/SettingsBarStyle</item>        <item name="android:actionModeStyle">@style/ActionModeStyle</item>        <item name="android:actionModeSplitBackground">@android:drawable/ic_menu_close_clear_cancel</item>    </style>    <style name="AppTheme.Main" parent="@style/AppTheme">  
        <!--不能是background-->
<item name="android:windowBackground">@color/window_color</item> <item name="android:actionBarStyle">@style/SettingsBarStyle.Main</item> </style> <style name="SettingsBarStyle.Main" >
        <!--actionBar不显示内容-->
        <item name="android:displayOptions">@null</item> </style></resource>

定义了一个App.Main之后,找到启动界面就可以了

  <activity            android:name="com.vz.gallery3d.VzGalleryActivity"            android:theme="@style/AppTheme.Main"            android:clearTaskOnLaunch="true" android:screenOrientation="portrait"            android:uiOptions="splitActionBarWhenNarrow"></activity>

这里遇到了一个问题,就是我们在设定background之前,你会发现跳转就面的ActionBar打到了目的,但是这时候的主界面会闪一下白色,初步想到的是,可能还需要设置一下界面的background,然后就设定了

<item name="android:background">#000000</item>然后似乎完美解决了这个问题,但是,新的问题又来了,那就是你会发现这个黑色并不是在最底层的,而是在上面第二层,也就是说,你打开一个图片,你会发现这个图片被这个黑色完全覆盖了。之后替换成了<item name="android:windowBackground">@color/window_color</item>,完美解决问题

android-actionBar进入界面闪烁问题解决