在 android 中移除或隐藏 header navigationView
remove or hide header navigationView in android
我在我的项目中使用设计 23.1.1。我想要没有 header 的抽屉。仅菜单项就足够了。我不添加任何 header 视图(以编程方式或在 XML 中)。但在抽屉里我有空 header。请帮助我如何删除这个空 header.
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
app:menu="@menu/drawer"
/>
View headerView= LayoutInflater.from(this).inflate(R.layout.drawer_header, null);
navigationView.addHeaderView(headerView);
navigationView.getHeaderView(0).setVisibility(View.GONE);
我使用虚拟布局。并解决了我的问题,但我认为这很荒谬。
要永久删除它:
包含 NavigationView 小部件的布局是这样的:
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"/>
只需从中删除 app:headerLayout 行:
app:headerLayout="@layout/nav_header_main"
尝试将其添加到您的样式文件中 <item name="android:windowFullscreen">true</item>
并从 navigationView xml 中删除 app:headerLayout
。
并将其添加到您的 navigationView xml :
android:layout_marginTop ="@dimen/abc_action_bar_default_height_material"
它非常适合我。
如果您想删除 header:
navigationView.removeHeaderView(navigationView.getHeaderView(0));
当然,如果你有更多的仇恨者,你必须在某个循环中执行此操作以将它们全部删除。 0是第一个的索引。
我在我的项目中使用设计 23.1.1。我想要没有 header 的抽屉。仅菜单项就足够了。我不添加任何 header 视图(以编程方式或在 XML 中)。但在抽屉里我有空 header。请帮助我如何删除这个空 header.
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
app:menu="@menu/drawer"
/>
View headerView= LayoutInflater.from(this).inflate(R.layout.drawer_header, null);
navigationView.addHeaderView(headerView);
navigationView.getHeaderView(0).setVisibility(View.GONE);
我使用虚拟布局。并解决了我的问题,但我认为这很荒谬。
要永久删除它:
包含 NavigationView 小部件的布局是这样的:
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"/>
只需从中删除 app:headerLayout 行:
app:headerLayout="@layout/nav_header_main"
尝试将其添加到您的样式文件中 <item name="android:windowFullscreen">true</item>
并从 navigationView xml 中删除 app:headerLayout
。
并将其添加到您的 navigationView xml :
android:layout_marginTop ="@dimen/abc_action_bar_default_height_material"
它非常适合我。
如果您想删除 header:
navigationView.removeHeaderView(navigationView.getHeaderView(0));
当然,如果你有更多的仇恨者,你必须在某个循环中执行此操作以将它们全部删除。 0是第一个的索引。