Flutter Widget 之SnackBar

484 阅读1分钟

您是否向在某些事情发生时,在您的应用程序中探出一条快速消息?

使用SnackBar,您可以在应用程序的底部弹出几秒的消息 ezgif.com-gif-maker (2).gif

创建您的SnackBar很容易,您只需要给SnackBar一个可显示的widget

SnackBar(
    context: Text('Hello!'),
)

image.png

它不一定要是文本,人和一个widget都可以被使用

SnackBar(
    content: Row(
        children: [
            Icon(Icons.thumb_up),
            SizeBox(width: 20),
            Expanded(
                child: Text('Hello!'),
            )
        ]
    ),
),

image.png

那么,如何让SnackBars在您的应用程序中显示和设置动画? SnackBars需要一个Scafflod,使用一个Scaffold实例和showSnackBar()函数,您的SnackBar将立即弹出

通过使用Scaffold.of函数很容易在widget树中的人和位置获得对Scaffold的引用

Scaffold.of(context).showSnackBar(
    SnackBar(
        content: Text('Hello!),
    ),
)

这里有个简便的提示:如果要在同一个build()函数中构建您的Scaffold和SnackBar,请将ShowSnackBar()函数包装在Builder widget中,以便使用正确的构建上下文

Scaffold(
    body: Builder(
        builder: (context) => FlatButton(
            child: Text('Show a SnackBa!'),
            onPressed: () {
                Scaffold.of(context).showSnackBar(
                    SnackBar(
                        content: Text('Hello!'),
                    ),
                );
            }
        ),
    ),
),

如果想了解有关SnackBar的内容,或者关于Flutter的其他功能,请访问flutter.dev

原文翻译自视频:视频地址