You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Navigation高级示例中集成CollapsingLayout及问题解决

问题:CollapsingToolbarLayout与Navigation多回退栈集成时标题不显示

我正在尝试将CollapsingToolbarLayout和Navigation组件的多回退栈高级示例集成,做了以下操作后遇到了标题显示的问题,想请教熟悉这块的开发者帮忙解决:

我的操作步骤

1. 修改main_activity.xml布局

添加了CollapsingToolbarLayout嵌套结构,替换原有的ActionBar配置:

<com.google.android.material.appbar.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content">
    <com.google.android.material.appbar.CollapsingToolbarLayout 
        android:id="@+id/collapsing_toolbar_layout" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content">
        <androidx.appcompat.widget.Toolbar 
            android:id="@+id/toolbar" 
            android:layout_width="match_parent" 
            android:layout_height="?attr/actionBarSize"/>
    </com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>

2. 调整MainActivity.kt中的导航配置

修改setupBottomNavigationBar()方法,让CollapsingToolbarLayout和NavController关联,同时注释掉了原有的setupActionBarWithNavController调用:

private fun setupBottomNavigationBar(){
    ...
    controller.observe(this, Observer { navController -> 
        mainBinding.collapsingToolbarLayout.setupWithNavController(mainBinding.toolbar, navController) 
        // setupActionBarWithNavController(navController) 
    })
    ...
}

遇到的问题进展

  • 初始问题:集成后出现两个ActionBar,顶部显示应用名称,下方初始无内容;导航到子页面时仅显示灰色返回箭头,完全看不到目标页面的标题。
  • 更新1:按照@Manoj的建议移除了重复的ActionBar,现在双ActionBar的问题解决了,但标题不显示的问题依然存在。
  • 更新2:现在导航到子页面时返回箭头能正常显示,但目标页面的标签(标题)还是无法在CollapsingToolbarLayout中显示出来。

希望有熟悉Navigation多回退栈实现的朋友能帮忙分析下,怎么让CollapsingToolbarLayout正确同步当前导航页面的标题?

内容的提问来源于stack exchange,提问作者kaushalyap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:09:16