【问题标题】:How to Hide ActionBar and NavigationBar completely如何完全隐藏 ActionBar 和 NavigationBar
【发布时间】:2014-12-01 18:02:41
【问题描述】:

我知道以前有人问过这个问题,但没有得到准确的解决方案。 我想从我的活动中隐藏 ActionBar 和 NavigationBar 或使其全屏显示。我在我的活动 OnCreate 方法中尝试了以下代码,但它在几分之一秒内显示了操作栏,而不是使其全屏显示。在 Galaxy S3 (android 4.3) 中,它甚至超过一秒。那么我怎样才能让它完全不可见并且我的活动从一开始就完全全屏。 我看到许多应用程序只在 S3 上运行,但它们没有 ActionBar,甚至只有几分之一秒。

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.activity_main);

    if (Build.VERSION.SDK_INT < 19) {           
         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    } else {
         getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    }

}

【问题讨论】:

    标签: android


    【解决方案1】:

    在 Manifest 中的 Activtiy 声明中尝试 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

    【讨论】:

      【解决方案2】:

      在AndroidManifest文件中写入

      android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

      在活动标签中

      并使用

      requestWindowFeature(Window.FEATURE_NO_TITLE);
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
      

      setContentView(R.layout.activity_main);之前

      【讨论】:

      • 同时使用这两种方法帮助了我。所以只需将“或”替换为“和”即可。谢谢你:)
      【解决方案3】:

      在 setContentView 之前试试这个

          //Remove title bar
          this.requestWindowFeature(Window.FEATURE_NO_TITLE);
          //Remove notification bar
          this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
      

      【讨论】:

        【解决方案4】:

        这个Android DeveloperThis Post 演示了Immersive Full-Screen Mode,它可以让您的应用全屏显示。

        tltr;

        试试我从 Android 开发者网站获得的这个 sn-p:

        View decorView = getWindow().getDecorView();
        // Hide both the navigation bar and the status bar.
        // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
        // a general rule, you should design your app to hide the status bar whenever you
        // hide the navigation bar.
        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                  | View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
        

        希望我能帮上忙!

        【讨论】:

        • 对不起,伙计,但这段代码也显示了 ActionBar 几分之一秒。它没有帮助我。
        • 如果您还没有,请查看 Android 开发人员帖子。它可能会帮助你。
        【解决方案5】:

        我觉得你只需要写

        getActionBar().hide(); (Above Api level 11)
        

        getSupportActionBar().hide();(Up to Api level 8)
        

        就是这样……

        【讨论】:

          【解决方案6】:

          在活动的onCreate 函数中,在setContentView 之前添加此代码:

          requestWindowFeature(Window.FEATURE_NO_TITLE);
          getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
          

          AndroidManifest文件中写入

          android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
          

          如果您的应用程序的最低 SDK 版本是 19 (KitKat),那么您必须在您的 onResume 函数中添加一段额外的代码:

          getWindow().getDecorView().setSystemUiVisibility
                              ( View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                              | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                              | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                              | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                              | View.SYSTEM_UI_FLAG_FULLSCREEN
                              | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY );
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-07-24
            • 2019-07-22
            • 1970-01-01
            • 1970-01-01
            • 2011-08-16
            相关资源
            最近更新 更多