小吃店不显示抖动

时间:2020-04-27 09:26:53

标签: flutter dart

我似乎无法弄清楚为什么它不起作用。我应该在点击按钮时得到一个小吃店。有什么帮助吗? Flutter API上的代码段可以正常工作


void main() => runApp(SnackBarDemo());

class SnackBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: SafeArea(
        child: Scaffold(
          body: Center(
            child: InkWell(
              // When the user taps the button, show a snackbar.
              onTap: () {
                Scaffold.of(context).showSnackBar(SnackBar(
                  content: Text('Tap'),
                ));
              },
              child: Container(
                padding: EdgeInsets.all(12.0),
                child: Text('Flat Button'),
              ),
            ),
          )
        )
      )
    );
  }
}

1 个答案:

答案 0 :(得分:0)

您正在与showSnackbar处于同一级别的小部件中调用Scaffold,因此要发送给此方法的上下文不包含Scaffold

解决方案: 将此小部件设置为Scaffold之下的一级:

void main()=> runApp(SnackBarDemo());

class SnackBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: SafeArea(
            child: Scaffold(
                body: Center(
                  child: Builder(
                    builder: (context)=>InkWell(
                      // When the user taps the button, show a snackbar.
                      onTap: () {
                        Scaffold.of(context).showSnackBar(SnackBar(
                          content: Text('Tap'),
                        ));
                      },
                      child: Container(
                        padding: EdgeInsets.all(12.0),
                        child: Text('Flat Button'),
                      ),
                    ),
                  ),
                )
            )
        )
    );
  }
}