Flutter 如何在Flatter中创建页眉/页脚/主布局

Flutter 如何在Flatter中创建页眉/页脚/主布局,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,我正在创建颤振中的附加布局。虽然我创建了一些有用的东西,但它确实很复杂和丑陋(代码方面)。我想就如何创建它的建议 注意:我只希望使用标准布局(行/列/中心等)创建它,不希望使用BottomNavigationBar之类的小部件 您可以这样做(请阅读代码中的推荐) 导入“包装:颤振/材料.省道”; void main()=>runApp(MyApp()); 类MyApp扩展了无状态小部件{ @凌驾 小部件构建(构建上下文){ 返回材料PP( 主页:主页(), ); } } 类主页扩展了无状态小部件

我正在创建颤振中的附加布局。虽然我创建了一些有用的东西,但它确实很复杂和丑陋(代码方面)。我想就如何创建它的建议

注意:我只希望使用标准布局(行/列/中心等)创建它,不希望使用BottomNavigationBar之类的小部件

您可以这样做(请阅读代码中的推荐)

导入“包装:颤振/材料.省道”;
void main()=>runApp(MyApp());
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
主页:主页(),
);
}
}
类主页扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
//如果正文中有“TextField”,则应使用“Scaffold”。
//否则,当键盘弹出时,“文本字段”将不会滚动。
正文:安全区(
子:列(
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
//收割台容器
容器(
填充:常数边集全部(8.0),
颜色:颜色,蓝色,
对齐:对齐.center,
子项:文本(“标题”),
),
//车身容器
扩大(
子:SingleChildScrollView(
填充:常量边集。对称(水平:30.0),
子:列(
儿童:[
容器(
颜色:颜色,红色,
高度:200.0,
对齐:对齐.center,
子项:文本(“内容1”),
),
容器(
颜色:颜色。绿色,
高度:300.0,
对齐:对齐.center,
子项:文本(“内容1”),
),
//文本字段几乎位于底部
文本字段(
装饰:输入装饰(hintText:“在此处输入文本”),
),
],
),
),
),
//页脚容器
//在这里,当键盘弹出时,您将获得意外的行为。
//所以最好使用'bottomNavigationBar'来避免这种情况。
容器(
填充:常数边集全部(8.0),
颜色:颜色,蓝色,
对齐:对齐.center,
子项:文本(“页脚”),
),
],
),
),
);
}
}

尝试包含三个子项的列,页眉和页脚具有特定大小,内容占据剩余空间

Column(
            children: [
              Container(height: 100, child: HeaderWidget),
              Expanded(child: ContentWidget),
              Container(height: 100, child: FooterWidget),
            ]

滚动将应用于内容。

甚至没有应用程序栏?如果是这样的话,你可以只是一个普通的列,中间的项用一个扩展的.甚至不是一个AppBar包装。我正在学习行和列可以为我做什么:-)也许这个答案可以帮助你:@页脚在键盘上方。为了避免这种情况,我添加了resizeToAvoidBottomInset:false,这行代码。但那一次它没有滚动。也要注意保持景观。要得到TextFormField我们要做什么?我不想把上面的按钮放在键盘上。@SunishaSindhu正如我在上面代码的注释中提到的,您应该使用
Scaffold
小部件的
bottomNavigationBar
Column(
            children: [
              Container(height: 100, child: HeaderWidget),
              Expanded(child: ContentWidget),
              Container(height: 100, child: FooterWidget),
            ]