NavigationView如何处理动态标题内容

2024-04-09

我有一个非常标准的 NavigationView。当我在标题中使用静态布局(如下所示)时,效果非常好。

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

但我想要一个动态标头,以便我可以在用户登录等时更改它...所以我尝试使用片段而不是 nav header.xml

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

我可以在 headerLayout 中使用片段,以便可以处理片段的 java 文件中的所有逻辑吗?或者什么是处理这个问题的正确解决方案。


您可以在代码中通过膨胀自定义布局并设置其导航视图的标题来完成此操作。

NavigationView navigationView = (NavigationView) findViewById(R.id.navigationView);
View nav_header = LayoutInflater.from(this).inflate(R.layout.nav_header, null);
((TextView) nav_header.findViewById(R.id.name)).setText("UserName");
navigationView.addHeaderView(nav_header);

你不需要设置app:headerLayout in xml.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NavigationView如何处理动态标题内容 的相关文章

随机推荐

  • Pythonic 方式打印列表项

    我想知道是否有比这更好的方法来打印 Python 列表中的所有对象 myList Person Foo Person Bar print n join map str myList Foo Bar 我读这种方式不太好 myList Pers
  • mscorlib.dll 是 CLR 吗?

    如果这不是我几乎可以肯定的 那么 mscorlib dll 的作用是什么以及 CLR 位于哪里 CLR不在mscorlib dll but in MSCorEE dll 我想这就是你正在寻找的 这是加载 NET exe 程序集时加载的主 D
  • Rails form_withhidden_​​field 值对新对象进行了加密

    我有一个用于创建新模型的简单表单 该模型有一个属性panel这是在控制器中设置的 我认为这应该不重要 但是panel是一个枚举 def new order Order new panel params panel end 在视图中 我创建了
  • Windows NTFS 上的 Files.walkFileTree 与 Files.walk 性能比较

    我的应用程序 https komga org 需要定期扫描文件系统以处理文件 最初我使用的是java nio file Files walk执行扫描 但很快我就遇到了一些问题AccessDeniedException 发现 https ma
  • 如何使用 python API 列出所有数据流作业

    我的用例涉及获取项目中存在的所有流数据流作业的作业 ID 并取消它 更新我的数据流作业的源并重新运行它 我正在尝试使用 python 来实现这一点 直到现在我还没有遇到任何有用的文档 我想到使用 python 的库子进程来执行 gcloud
  • .mobileprovision 的 MIME 类型是什么

    mobileprovision 文件类型的正确 MIME 类型 IIS 是什么 我的想法正确吗 如果我必须将每个人的设备连接到 mac 开发机器来安装 mobileprovision 文件 那么它就违背了无线临时分发方法的目的 如果没有特定
  • 如何在状态栏中获得永久的应用程序通知程序?

    我在互联网上搜索了很多 但找不到正确的答案 我在 Android 手机上使用过 3G Watchdog 和 Advanced Task Killer 等应用程序 我注意到 当状态栏最小化时 它们总是有一个图标 并且还有一个无法从状态栏清除的
  • Bootstrap 模式隐藏不起作用

    Bootstrap 模式隐藏不起作用 警报来自其他地方 但我的模式没有隐藏添加了引导层 我的问题也是同样的问题
  • Google 地图 v3 地理编码服务器端

    我正在使用 ASP NET MVC 3 和 Google 地图 v3 我想在一个动作中进行地理编码 即将有效地址传递给 Google 并获取纬度和经度 我见过的所有关于地理编码的在线示例都涉及客户端地理编码 您将如何使用 C 在操作中执行此
  • 访问控制允许来源错误..(使用 cordova)

    我正在尝试网络服务器和客户端 混合应用程序 使用cordova 但是 Access Control Allow Origin 错误 所以我下载了 chrome 扩展程序 cors 但不起作用 服务器 js var app require e
  • 所有应用程序在断开连接时崩溃[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 突然之间 当我断开连接 iMac 和 iPhone 的电线时 我构建并发送到手机的任何应用程序都会立即崩溃 并且也没有任
  • 刷新物化视图时,索引是否也会自动刷新?

    我目前使用的是 Postgres 9 3 3 If you refresh物化视图 该物化视图上的索引是否也重新索引 或者是否需要手动重新索引索引 在查看以下内容时question https stackoverflow com quest
  • PHP服务器统计脚本? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我不太确定把这个问题放在哪里 它不是真正的网络应用程序或超级用户 但我确信类似的东西已经存在 我正在寻
  • 在android中使用Google Drive api获取在Google Drive上创建的文件的大小

    我创建了应用程序 使用该应用程序用户将能够从 Google 驱动器获取列表中的所有文件并能够下载它 现在 用户可以下载已上传到驱动器的文件 并带有进度计数 但我无法获取在 Goolge 驱动器上创建的文件的大小 例如文档 演示文稿 电子表格
  • Android UI 测试期间“未找到测试”

    如果我有时想通过右键单击测试然后选择运行来运行单个测试 测试结果将显示 未找到测试 并显示与 线程 main java lang NoClassDefFoundError 中的异常 相关的错误 我发现这种情况只发生过几次 为什么会发生这种情
  • C++迭代器和反向迭代器

    我正在写一个iterator 实际上是const iterator对于我当前的对象 我还想创建一个reverse const iterator also 我环顾四周 想看看如何做到这一点 然后我偶然发现this http www cplus
  • 在jsp页面中使用log4j的正确方法是什么

    我的意思是 我希望记录器名称反映 source jsp 文件 无论它是否包含在另一个文件中或编译为类或其他文件 首先 导入所需的包 即 then the jsppagename jsp根据您使用的服务器 可能会发生变化 然后 在 jsp 内
  • GZip 算法如何工作? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 GZip 文件压缩算法如何工作 如果有人有这方面的任何文档 我想阅读它 如果您仍在寻找更详细的概述 我已经在以下位置编写了 gzip de
  • Django 对象.update_or_create

    我有一个在 celery 中运行的 period task 来查询最新的加密货币价格 但由于某种原因 每次想要显示数据时 我没有得到更新的记录 我只是得到新的记录 而旧的记录由于某种原因被保留 tasks py periodic task
  • NavigationView如何处理动态标题内容

    我有一个非常标准的 NavigationView 当我在标题中使用静态布局 如下所示 时 效果非常好