是否有隐藏导航栏的xml方式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有隐藏导航栏的xml方式?相关的知识,希望对你有一定的参考价值。

为了隐藏导航栏,android docs提供了以下解决方案:

   View decorView = getWindow().getDecorView();
   int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                 | View.SYSTEM_UI_FLAG_FULLSCREEN;
   decorView.setSystemUiVisibility(uiOptions);

有没有基于XML的方法来做到这一点?我在风格和操作方式中尝试了以下方式:

  <activity
      android:name=".MainActivity"
      android:label="@string/title_activity_main"
      android:theme="@style/AppTheme.NoActionBar" />

   <style name="AppTheme.NoActionBar">
       <item name="windowActionBar">false</item>
       <item name="windowNoTitle">true</item>
   </style>

但这似乎不起作用。

也许我可以在我的活动的XML中执行上述解决方案?

答案

您可以在styles.xml中覆盖Base App主题

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
</style>

并将此主题添加到您的清单中,例如

<application
        android:theme="@style/AppTheme">
另一答案

设置导航视图的属性如下。

 android:visibility="gone"

要么

 android:visibility="invisible"

隐形意味着你看不到布局,但它就在那里。

并且Gone意味着视图已经消失,您无法通过触摸访问它。

另一答案
 <com.google.android.material.navigation.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true">

在xml文件中,这是navigationview的代码

如果你想以编程方式设置可见性而不是使用like

navigationview.setvisibility(View.INVIBLE);

以上是关于是否有隐藏导航栏的xml方式?的主要内容,如果未能解决你的问题,请参考以下文章

iOS导航栏的正确隐藏方式

iOS导航栏的正确隐藏方式

Android 隐藏状态栏、标题栏、透明状态栏的几种方式

vue中导航栏的显示和隐藏

带有片段和底部导航栏的 Android FloatingActionButton

底部导航栏的 Oncreate 视图问题