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>,完美解决问题

posted @ 2015-01-19 10:07  小白屋  阅读(1063)  评论(0编辑  收藏  举报