本文主要是介绍Flutter开发之SnackBar提示组件-4(43),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SnackBar无论是用法还是功能使用几乎都跟原生Android一样 ,唯一有一点需要留意的是在Scaffold.of(context).showSnackBar()
中传递的context
必须不能是Scaffold
下面的Context
原因解释
因为Scaffold.of()
方法需要从Widget树中去找到Scaffold的Context,所以如果直接在Scaffold中使用showSnackBar,需要在外面包裹上Builder Widget,这个Builder不做任何的其他操作,只不过把Widget树往下移了一层而已。
SnackBar的效果图,你会发现跟原生Android如出一辙。
示例代码
import 'package:flutter/material.dart';class SnackBarTest extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('SnackBar示例'),),body: Center(child: Text('SnackBar示例',style: TextStyle(fontSize: 28.0),),),floatingActionButton: new Builder(builder: (BuildContext context) {return new FloatingActionButton(child: const Icon(Icons.add),onPressed: () {//点击回调事件 弹出一句提示语句Scaffold.of(context).showSnackBar(new SnackBar(content: new Text("显示SnackBar"),));},shape: new CircleBorder(),);}),floatingActionButtonLocation:FloatingActionButtonLocation.endFloat, //居中放置 位置可以设置成左中右);}
}
这篇关于Flutter开发之SnackBar提示组件-4(43)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!