zoukankan      html  css  js  c++  java
  • android开发隐藏了actionbar仍然短暂闪现的解决方法

    有时候我们在代码里隐藏了actionbar,在打开应用时,仍然短暂闪现下actionbar,用户体验很不好。

     
    最简单的方法是 在AndroidManifest.xml中设置主题中配置不显示title或者action,即为:
     
      <style name="NoTitle" parent="android:Theme.Holo.Light">
        <item name="android:windowActionBar">true</item>
        </style>
     
    或者
     
     <style name="NoTitle" parent="android:Theme.Holo.Light">
            <item name="android:windowNoTitle">true</item>
        </style>
     
    但是有时候,你如果想显示actionbar,就不能在AndroidManifest.xml这么设置,我试过,做上述设置,就不能显示出actionbar了(这个我试的结果是这样,有可以显示的请给我回复),
     
    这时,怎么解决这个问题呢,在stackoverflow看到有解决方案,这里贴出来:
     
    Setting android:windowActionBar=false truly disables the ActionBar but then, as you say, getActionBar() returns null. This is solved by:
     
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
        getActionBar().hide();
     
        setContentView(R.layout.splash); // be sure you call this AFTER requestFeature
     
    But now there is another problem. After putting windowActionBar=false in the theme, the Activity draws its normal Window Title instead of an ActionBar.
    If we try to avoid this by using some of the *.NoTitleBar stock themes or we try to put true in our own theme, it won't work.
    The reason is that the ActionBar depends on the Window Title to display itself - that is the ActionBar is a transformed Window Title.
    So the trick which can help us out is to add one more thing to our Activity theme xml:
     
     
    <item name="android:windowActionBar">false</item>
    <item name="android:windowTitleSize">0dp</item>
     
    This will make the Window Title with zero height, thus practically invisible .
     
    In your case, after you are done with displaying the splash screen you can simply call
     
    setContentView(R.layout.main);
    getActionBar().show()
    and you are done. The Activity will start with no ActionBar flickering, nor Window Title showing
  • 相关阅读:
    [转]Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍
    推荐一个windows系统的下载和安装的网址:win7之家
    [转]vue调试工具vue-devtools安装及使用(亲测有效,望采纳)
    [转]Error: Node Sass does not yet support your current environment: Windows 64-bit
    [转]升级/重装win10系统--提示无法验证密钥的解决办法
    Sólo le pido a Dios
    Composer 语法中的^符号意思
    服务器上传的目录索引一定要关闭
    [SAP] CloudWatch
    [SAA] 32. Data Engineering
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4616938.html
Copyright © 2011-2022 走看看