一个不影响子组件占位空间,不具有显示性的组件,存在的唯一价值是提供当前组件对应元素的上下文。

Builder的使用

【builder】 : 组件构造器 【WidgetBuilder】
同一个类中使用XXX.of(context)获取某类状态对象方法会存在上下文滞后的错误,使用Builder解决。
218.gif

  1. import 'package:flutter/material.dart';
  2. class BuilderDemo extends StatelessWidget {
  3. @override
  4. Widget build(BuildContext context) {
  5. return Container(
  6. height: 200,
  7. child: Scaffold(
  8. appBar: AppBar(
  9. title: Text('Builder'),
  10. ),
  11. floatingActionButton: Builder(
  12. builder: (ctx) => FloatingActionButton(
  13. onPressed: () {
  14. Scaffold.of(ctx)
  15. .showSnackBar(SnackBar(content: Text('hello builder')));
  16. },
  17. child: Icon(Icons.add),
  18. ),
  19. ),
  20. ),
  21. );
  22. }
  23. }