Flutter应用BAF组件问题:FAB定位及Scaffold语法错误求助
- 语法错误原因:你直接把
FloatingActionButton作为Scaffold的子元素传入,但Scaffold采用命名参数构造,所有部件都需通过指定命名参数传递,FAB必须放在floatingActionButton参数下。 - 默认情况下,
Scaffold的floatingActionButton会自动定位在屏幕右下角,无需额外设置位置。
修正后的代码:
void main() => runApp(MaterialApp( home: Scaffold( appBar: AppBar( title: Text('my first app'), centerTitle: true, ), // Appbar body: Center( child: Text('Hello maggots'), ), // center // 将FAB放在floatingActionButton命名参数中 floatingActionButton: FloatingActionButton( child: Text("click"), onPressed: () {}, // 注意:FloatingActionButton必须设置onPressed参数,这里先添加空实现 ), // floating action button ), // scaffold )); // MaterialApp
额外提示:
FloatingActionButton的onPressed是必填参数,不设置会触发新的错误,代码中添加了空回调,你可以根据需求替换成具体的点击逻辑。- 如果后续需要调整FAB位置,可使用
floatingActionButtonLocation参数(例如floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat),默认右下角无需额外配置。
内容的提问来源于stack exchange,提问作者mR_r0b0t
相关产品推荐
相关产品推荐

