zoukankan      html  css  js  c++  java
  • 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>,完美解决问题

  • 相关阅读:
    第二节:如何正确使用WebApi和使用过程中的一些坑
    nodejs中function*、yield和Promise的示例
    关于nodejs访问mysql的思考
    nodejs使用log4js记录日志
    nodejs初识
    Spring学习笔记(入门)
    mybatis使用注解开发
    MyBatis配置文件中的常用配置
    using 自动释放资源示例
    Java将byte[]和int的互相转换
  • 原文地址:https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_actionbar_15011910.html
Copyright © 2011-2022 走看看