脚手架实现了纸墨设计的基本布局结构。在示例应用程序中,我的主页返回的是一个脚手架。也就是说,MaterialApp的孩子是脚手架Widget。
在纸张和油墨设计中定义的单个界面上的各种布局元素在脚手架中得到支持,例如抽屉、小吃店和底板。
脚手架有以下主要属性:
appBar:显示在界面顶部的一个 AppBar,也就是 Android 中的 ActionBar 、Toolbarbody:当前界面所显示的主要内容 WidgetfloatingActionButton:纸墨设计中所定义的 FAB,界面的主要功能按钮persistentFooterButtons:固定在下方显示的按钮,比如对话框下方的确定、取消按钮drawer:侧边栏控件backgroundColor: 内容的背景颜色,默认使用的是 ThemeData.scaffoldBackgroundColor 的值bottomNavigationBar: 显示在页面底部的导航栏resizeToAvoidBottomPadding:类似于 Android 中的 android:windowSoftInputMode=”adjustResize”,控制界面内容 body 是否重新布局来避免底部被覆盖了,比如当键盘显示的时候,重新布局避免被键盘盖住内容。默认值为 true。当显示任务栏或底部工作表时,您需要使用当前的BuildContext参数来调用ScaffoldState函数来获取ScaffoldState对象,然后使用ScaffoldState.showSnackBar和ScaffoldState.showBottomSheet函数来显示它。
请特别注意参数脚手架的构建上下文。如果包含此构建上下文的小部件是脚手架的父小部件,脚手架。找不到相应的脚手架状态对象,并且脚手架。将返回父对象中最近脚手架中的脚手架状态对象。例如,如果您在脚手架的构建功能中使用构建的构建上下文参数,则可以:
@覆盖
小部件构建(BuildContext上下文){
returnnewRaisedButton按钮(
子级:新文本('显示一个SNACKBAR '),
OnPreced:(){
(上下文)的脚手架。showSnackBar( newSnackBar(
内容:新文本('你好!'),
));
},
);
}
如果构建函数返回脚手架对象,由于脚手架对象是此小部件的子对象,因此无法通过使用此构建的构建上下文参数找到脚手架状态对象。此时,通过使用脚手架中的构建器来提供新的构建器:
@覆盖
小部件构建(BuildContext上下文){
returnnewScaffold(
appBar: newAppBar(
标题:新文本(“演示”)
),
正文:newBuilder(
//创建一个内部构建上下文,以便onPressed方法
//可以参考()的带脚手架的脚手架。
生成器:(BuildContext上下文){
returnnewCenter(
子项:newRaisedButton(
子级:新文本('显示一个SNACKBAR '),
OnPreced:(){
(上下文)的脚手架。showSnackBar( newSnackBar(
内容:新文本('你好!'),
));
},
),
);
},
),
);
}
此外,构建功能中的Widget可以单独创建,可以引入新的BuildContext来获取Scaffold。
关于脚手架的例子,请查看示例项目中的使用模式。此外,具体的使用代码将在后面的脚手架中介绍每个子小部件时进行演示,比如AppBar的例子。
1.《scaffold Flutter 控件之 Scaffold》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《scaffold Flutter 控件之 Scaffold》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/843499.html