有没有办法控制NavigationView头内的视图?

Lạn*_*àng 25 android navigationview

正如标题所说,我想知道是否有任何方法可以控制NavigationView标题内的视图?(除了添加或删除标题外.)

例如:在标题中,我有一个用户头像.默认情况下,它显示访客图像,但在用户登录后,将显示真实的头像.

如何实现这一目标?

RmK*_*RmK 57

将支持库更新到版本23.1.1或更高版本后,

你可以这样做 -

View header = navigationView.getHeaderView(0);
TextView text = (TextView) header.findViewById(R.id.textView);
Run Code Online (Sandbox Code Playgroud)

或者如果你有多个标题

navigationView.getHeaderCount()
Run Code Online (Sandbox Code Playgroud)

参考:https://code.google.com/p/android/issues/detail? id = 190226#c31


Lạn*_*àng 7

因为我不能接受评论作为答案.所以,我在这里重新发布Moinkhan的回答:

首先创建标题XML,如lay_header.xml

<TextView
    android:id="@+id/tvThought"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

在您的java文件中在TextView中膨胀上面的标题.喜欢

TextView headerView = (TextView) LayoutInflater.from(this).inflate(R.layout.lay_header, null);
headerView.setText("Your_thoght");
Run Code Online (Sandbox Code Playgroud)

现在将其添加为HeaderView

navView = (NavigationView) findViewById(R.id.navView);
navView.addHeaderView(headerView);
Run Code Online (Sandbox Code Playgroud)

而已...

您还可以在以下位置查看:自定义NavigationView - 添加动态headerView,Android支持设计库

非常感谢!而且,我们需要一个允许用户接受评论作为答案的功能!