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
  • 相关阅读:
    Kubernetes 集成研发笔记
    Rust 1.44.0 发布
    Rust 1.43.0 发布
    PAT 甲级 1108 Finding Average (20分)
    PAT 甲级 1107 Social Clusters (30分)(并查集)
    PAT 甲级 1106 Lowest Price in Supply Chain (25分) (bfs)
    PAT 甲级 1105 Spiral Matrix (25分)(螺旋矩阵,简单模拟)
    PAT 甲级 1104 Sum of Number Segments (20分)(有坑,int *int 可能会溢出)
    java 多线程 26 : 线程池
    OpenCV_Python —— (4)形态学操作
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4616938.html
Copyright © 2011-2022 走看看