Flutter页面跳转后AppBar消失问题求助(已解决文本黄下划线)
解决Flutter跳转后DetailScreen的AppBar消失问题
你的问题核心是当前DetailScreen没有使用Scaffold组件——AppBar作为Flutter的页面导航栏,必须依托Scaffold的appBar属性才能渲染展示,而你现在只用了Material组件作为根容器,它并不提供AppBar的承载区域。
直接修改DetailScreen的build方法即可解决:
- 将外层的
Material替换为Scaffold - 在Scaffold中配置
appBar属性,添加你需要的导航栏样式 - 把原有的
SingleChildScrollView放到Scaffold的body属性中
修改后的代码示例:
@override Widget build(BuildContext context) { return Scaffold( // 配置AppBar,可根据需求自定义标题、返回按钮等 appBar: AppBar( title: Text(widget.exhibition.title), leading: IconButton( icon: const Icon(Icons.arrow_back), onPressed: () => Navigator.pop(context), ), ), body: SingleChildScrollView( // 注意调整顶部padding,因为AppBar已经占据了顶部空间,无需再留40的内边距 padding: const EdgeInsets.fromLTRB(20, 20, 20, 0), child: Row( // 你的原有页面内容 ... ), ), ); }
补充说明:Scaffold是Flutter官方推荐的页面根组件,它内置了Material设计的完整页面结构(包括AppBar、Body、FloatingActionButton等),完全可以替代单独的Material组件,同时解决AppBar的展示问题。
内容的提问来源于stack exchange,提问作者강산들
相关产品推荐
相关产品推荐

