flutter - 如果正文有两个脚手架,如何关闭应用程序页面
问题描述
我正在使用这条线关闭页面 Navigator.pop(context);
,但在这种情况下它显示黑屏,我尝试调用 Navigator.pop(context);
2 次,但黑页仍然存在。在这里做什么?我的页面代码
import 'package:appname/GradientAppBar.dart';
import 'package:appname/bizutil/bill_card.dart';
import 'package:flutter/material.dart';
class BookingHistory extends StatefulWidget {
BookingHistory({Key key}) : super(key: key);
@override
_BookingHistoryState createState() => _BookingHistoryState();
}
class _BookingHistoryState extends State<BookingHistory> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home:
Scaffold(
appBar: PreferredSize(child: GradientAppBar(popCount:2),preferredSize: Size(double.infinity, 100),),
body: DefaultTabController(
length: 3,
child: Scaffold(
// backgroundColor: Colors.white,
appBar: AppBar(
flexibleSpace: Container(
color: Colors.white,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
TabBar(
indicatorColor: Colors.blueAccent,
tabs: [
Tab(
child: Text(
"Completed",
style: TextStyle(color: Colors.blue),
),
),
Tab(
child: Text(
"Requested",
style: TextStyle(color: Colors.blue),
),
),
Tab(
child: Text(
"Accepted",
style: TextStyle(color: Colors.blue),
),
)
])
],
),
),
),
body: TabBarView(children: [
Container(
child: ListView.builder(
itemCount: 5,
itemBuilder: (context,index){
return BillCard();
}),
),
Container(
child: ListView.builder(
itemCount: 10,
itemBuilder: (context,index){
return BillCard();
}),
),
Container(
child: ListView.builder(
itemCount: 20,
itemBuilder: (context,index){
return BillCard();
}),
),
]),
)),
)
);
}
}
这里 GradientAppBar 是一个 StatelessWidget
解决方案
您的项目应该MaterialApp
只声明一次,基本上是在main.dart
文件中。
从 build() 方法中删除MaterialApp
Widget。
Widget build(BuildContext context) {
return MaterialApp(....)
到
Widget build(BuildContext context) {
return Scaffold(...)
如果它对您有用,请通过单击“正确勾选”图标将解决方案标记为已接受。
推荐阅读
- c# - 带有接口列表的接口,如何选择接口实现的一种类型
- php - 在for循环中添加所有先前的数字以获取当前数字
- c++ - C++ if 语句不打印所需的输出
- c# - 对从 AutoMapper 映射的实体使用 AsNoTracking
- python - 为什么不能从我的个人 PyPI 服务器安装 Python 包?
- python - Tensorflow 数据管道:缓存到磁盘很慢 - 如何提高评估性能?
- php - 使用总计创建报告
- powerbi - Power Bi - 如何过滤和计算 52 列中的零值
- javascript - javascript中的图像缩放和像素数据的HTML5算法会导致粗图像吗?
- javascript - 如何使用 Javascript 在 Chart.js 的折线图上选择一个点