import 'package:flutter/material.dart';
class ShowBottomSheet extends StatefulWidget{
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _ShowBottomSheetState();
}
}
class _ShowBottomSheetState extends State<ShowBottomSheet>{
final _scaffoldkey = GlobalKey<ScaffoldState>();
VoidCallback _showPersBottomSheetCallBack;
@override
void initState() {
// TODO: implement initState
super.initState();
_showPersBottomSheetCallBack = _showBottomSheet;
}
void _showBottomSheet(){
setState(() {
_showPersBottomSheetCallBack = null;
});
_scaffoldkey.currentState.showBottomSheet((context){
return new Container(
height: 300.0,
color: Colors.greenAccent,
child: new Center(
child: new Text("Hi BottomSheet"),
),
);
})
.closed
.whenComplete((){
if(mounted){
setState(() {
_showPersBottomSheetCallBack = _showBottomSheet;
});
_scaffoldkey.currentState.showSnackBar(new SnackBar(content: new Text("whenComplete")));
}
});
}
void _showModalSheet(){
showModalBottomSheet(
context: context,
builder: (builder) {
return new Container(
color: Colors.greenAccent,
child: new Center(
child: new Text("Hi ModalSheet"),
),
);
});
}
@override
Widget build(BuildContext context) {
return new Scaffold(
key: _scaffoldkey,
appBar: new AppBar(title: new Text("showBottomSheet"),),
body: new Column(
children: <Widget>[
new RaisedButton(
onPressed: _showBottomSheet,
child: new Text("showBottomSheet"),
),
new RaisedButton(
onPressed: _showPersBottomSheetCallBack,
child: new Text("Persistent"),
),
new RaisedButton(
onPressed: _showModalSheet,
child: new Text("Model"),)
],
),
);
}
}
Flutter showBottomSheet 代码段
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。