Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Flutter Widget之SnackBar

SnackBar是用户操作后,显示提示信息的一个控件,类似Toast,会自动隐藏。SnackBar还可以添加操作按钮。SnackBar是通过Scaffold的showSnackBar方法来显示的。

Widget:https://flutter.io/docs/development/ui/widgets
SnackBar:https://docs.flutter.io/flutter/material/SnackBar-class.html
     

import 'package:flutter/material.dart';

class SnackBarDemoPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => new _SnackBarDemoPageState();
}

class _SnackBarDemoPageState extends State<SnackBarDemoPage> {

  @override
  void initState() {
    super.initState();
  }

  Widget build(BuildContext context) {
    return Scaffold(
        appBar: new AppBar(
          title: new Text('SnackBar Demo'),
        ),
        floatingActionButton: new Builder(builder: (BuildContext context) {
          return new FloatingActionButton(
            onPressed: () {
              // SnackBarBuilder.showSnackBar(context);
              SnackBarBuilder.showAlertSnackBar(context);
            },
            child: new Icon(Icons.add),
          );
        }),
//        body: Center(
//          child: Text('SnackBar'),
//        )
        body: new Builder(builder: (BuildContext context) {
          return new Center(
            child: new GestureDetector(
              onTap: () {
                final snackBar = new SnackBar(content: new Text('这是一个SnackBar'));
                Scaffold.of(context).showSnackBar(snackBar);
              },
              child: new Text('显示SnackBar'),
            ),
          );
        })
    );
  }
}

class SnackBarBuilder {
  static void showSnackBar(BuildContext context) {
    final snackBar = new SnackBar(content: new Text('这是一个SnackBar!'));
    Scaffold.of(context).showSnackBar(snackBar);
  }

  static void showAlertSnackBar(BuildContext context) {
    final snackBar = new SnackBar(
      content: new Text('删除信息'),
      action: new SnackBarAction(
          label: '撤消',
          onPressed: () {
            // do something to undo
          }
      ),
    );
    Scaffold.of(context).showSnackBar(snackBar);
  }
}

Flutter Widget SnackBar

上一篇 Flutter Widget之Dialog
下一篇 Flutter Widget之Tooltip