在android

时间:2015-09-24 11:31:47

标签: android android-navigationview

  

我正在实现导航视图,它的标题视图如何动态隐藏图像视图

     

以下是我的代码

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/drawer_header"
    app:menu="@menu/drawer" />
  

drawer_header.xml

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/drawer_logo_icon"
    android:layout_width="150dp"
    android:layout_height="0px"
    android:layout_gravity="center"
    android:layout_marginTop="10dp"
    android:layout_weight="2"
    android:background="@drawable/logo_white" />

<TextView
    android:id="@+id/drawer_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

<TextView
    android:id="@+id/drawer_phone"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/drawer_header_text"
    android:textAppearance="@style/TextAppearance.AppCompat.Body1"
    android:visibility="invisible" />

  

要获取菜单项,我可以使用navigationview.getmenuID()。但是如何以编程方式隐藏标题布局图像

1 个答案:

答案 0 :(得分:1)

将ID分配给<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_header_layout" android:layout_width="match_parent" .............

的根布局
RelativeLayout drawerHeaderLayout = (RelativeLayout) findViewById(R.id.drawer_header_layout);
drawerHeaderLayout.setVisibility(View.GONE);

然后通过在代码中获取它的引用来隐藏它。

 NavigationView view = (NavigationView) findViewById(R.id.navigation_view);
 view.removeHeaderView(drawerHeaderLayout);

这将隐藏您的导航视图标题。 (适合我)

编辑:(更好的方式)

另一种完全删除标题的方法是removeHeaderView

test.a.Dump()