import 'package:flutter/material.dart';
class LoadingDialog extends Dialog {
String message;
LoadingDialog({Key key, @required this.message}) :super(key: key);
@override
Widget build(BuildContext context) {
return Material(
type: MaterialType.transparency,//半透明背景
child: Center(
child: SizedBox(
width: 100.0,
height: 100.0,
child: Container(
decoration: ShapeDecoration(
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(
Radius.circular(10.0)
),
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SizedBox(
width: 30.0,
height: 30.0,
child: CircularProgressIndicator(
strokeWidth: 2.0,
),
),
Padding(
padding: EdgeInsets.only(top: 20.0),
child: Text(message,
style: TextStyle(
fontSize: 14.0,
color: Color(0xff333333)
),
),
),
],
),
),
),
),
);
}
}
显示:
showDialog(
context: context,
builder: (BuildContext context) => LoadingDialog(message: "加载中",)
}
)
关闭:Navigator.pop(context)
网友评论