Flutter 自定义Dialog
因为要实现这个效果 自定义了一个Dialog
代码如下:
///自定义弹框
class MyDialog extends Dialog {MyDialog({Key key,}) : super(key: key);@overrideWidget build(BuildContext context) {double screenWidth = MediaQuery.of(context).size.width; //屏幕宽度double screenHeight = MediaQuery.of(context).size.height; //屏幕高度 double mHorizontalMargin = 45.0; //水平间距double verticalMargin =(screenHeight - (screenWidth - 2 * mHorizontalMargin) * 3 / 4) / 2; //垂直间距return Container(margin: EdgeInsets.only(left: mHorizontalMargin,right: mHorizontalMargin,top: verticalMargin,bottom: verticalMargin),height: double.minPositive,alignment: Alignment.center,decoration: BoxDecoration(color: Colors.white,borderRadius: BorderRadius.all(Radius.circular(10))), //圆角child: Stack(alignment: Alignment(0, 0), //居中对齐children: <Widget>[Positioned(top: 5,right: 5,child: GestureDetector(child: Icon(Icons.close,color: Colors.grey,),onTap: () {Navigator.of(context).pop();},)),Positioned(top: 40,child: Column(children: <Widget>[Text('您有未缴纳的订单费用\n为了不影响您使用,请先结清费用',style: TextStyle(fontSize: 12,decoration: TextDecoration.none,color: Colors.black87,fontStyle: FontStyle.normal,fontWeight: FontWeight.normal),textAlign: TextAlign.center,),Container(width: 180,padding: EdgeInsets.only(top: 30),child: RaisedButton(onPressed: () {Navigator.of(context).pop();//TODO 跳转到缴费页面},color: Color(0xff44c5fe), child: Text('前往缴费',style: TextStyle(color: Colors.white, fontSize: 11),),shape: StadiumBorder(side: BorderSide.none), //按钮形状),),],),),],),);}_show(BuildContext context) {showDialog(context: context,barrierDismissible: false,builder: (BuildContext context) {return MyDialog();});}
}
调用的时候直接
MyDialog()._show(context);
注意,因为我这里Dialog文本是固定的 所以没有抽取 如果大家有这方面的需求 直接可以抽取出来
Flutter 自定义Dialog相关推荐
- Flutter 自定义Dialog
我们项目开发中,有很多地方会用到dialog,虽然flutter自身也有,比如AboutDialog.AlertDialog.SimpleDialog.CupertinoAlertDialog等等之类 ...
- flutter自定义dialog
自定dialog Dialog 在我们的日常开发中是必不可少的,Flutter 也提供了 AlertDialog .SimpleDialog 等供我们选择,但是对于开发还是不够的. 在android原 ...
- Flutter入门:自定义dialog
自定义dialog 先来看看一个示例 class ExamResultDialog extends Dialog{...@overrideWidget build(BuildContext conte ...
- Flutter自定义使用Dialog并更新Dialog中的内容
效果: 引言: 实现一个弹框有两种方式,一种是继承于 Dialog 来定义一个子类实现弹框效果,一种是创建一个 新的 StatelessWidget(页面). 实际上 Flutter 提供的 Dial ...
- Flutter:Dialog对话框及自定义Dialog
基本属性介绍 几个自带的dialog用法和属性基本一致,只是部分参数不同 const AlertDialog({Key? key,this.title, //对话框标题组件this.titlePadd ...
- Flutter 组件之AlertDialog、SimpleDialog、showModalBottomSheet、showToast、自定义Dialog
AlertDialog dialog弹框 在 showDialog中 定义 AlertDialog _alertDialog () async {var result = showDialog< ...
- Android 自定义Dialog 的使用
单个Dialog 自定义布局 ,这个只能算半自定义,就是一个弹框布局插入到AlertDialog 中 使用setView 即可 代码如下 AlertDialog.Builder builder = n ...
- Android中自定义Dialog外形,去除黑底和白色边框
在做Android开发中经常会使用到自定义样式的Dialog,尤其是在游戏当中,大家通常都是通过自定义一个布局文件来设置Dialog中显示的内容,但是仅仅这样还是不行的~会有黑色的框和白色的边.这就需 ...
- android 自定义dialog 定时关闭,Android编程实现自定义Dialog的大小自动控制方法示例...
本文实例讲述了Android编程实现自定义Dialog的大小自动控制方法.分享给大家供大家参考,具体如下: Android应用开发中,无论是出于功能还是增加用户体验,弹出对话框(Dialog)进行一些 ...
最新文章
- 5单个编译总会编译全部_玩转Android10(五)源码编译开发中常用命令
- 小米数据管理与应用实践
- PHP高并发的解决方案
- 常用的Firefox浏览器插件、Chrome浏览器插件收藏
- 有一种努力叫:靠 自 己!
- 基于Angular创建后台数据模拟(译)
- Puppet 资源公有属性的其他描述方式(三十)
- mysql临时表怎么显示_如何查看MySQL临时表的说明?
- PHP+MySQL 网站 SQL 注入攻击测试用例
- python找到二维数据矩阵中的最大最小值直接使用min、max函数
- 惠普m128fn中文说明书_惠普M128fn说明书
- 简单易上手的MMD-Ray渲基础教程
- 【Pr】视频剪辑学习记录——导出
- 随着计算机科学技术和互联网,计算机科学与技术发展趋势的几点思考
- linux服务器默认使用中文字符集zh_CN.UTF-8
- 织梦DedeCMS标签全攻略,织梦DedeCMS标签大全
- 黑鲨能换鸿蒙系统吗,黑鲨告诉你重装系统对电脑的好坏处
- 2010年度总结-在淘宝的半年日子
- 思科三层交换机配置DHCP中继
- 音乐翻唱软件测试初学者,~~经典歌曲的国语粤语版本对照~~