當前位置:
首頁 >
flutter自定义弹窗
發布時間:2025/3/19
22
豆豆
生活随笔
收集整理的這篇文章主要介紹了
flutter自定义弹窗
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天接到這樣一個需求,需要自定義彈窗,所以就有了如下的代碼:
通過分析,一切皆widget 所以可以這樣實現:
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';showDialog(barrierDismissible: true, //表示點擊灰色背景的時候是否消失彈出框context: context,builder: (context) {return MyDialogWidget();});class MyDialogWidget extends StatelessWidget {const MyDialogWidget({Key key,}) : super(key: key);@overrideWidget build(BuildContext context) {return Material(type: MaterialType.transparency,child: Center(child: Container(height: 245.w,width: 564.w,decoration: BoxDecoration(borderRadius: BorderRadius.circular(24.w,),color: Colors.white,),child: Column(mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[Padding(padding: EdgeInsets.only(top: 52.w, left: 120.w, right: 120.w, bottom: 52.w),child: Text('退出將不保留此次編輯',style: TextStyle(fontSize: 32.w,color: Color(0xFF000000),fontWeight: FontWeight.bold,),),),SizedBox(width: 564.w,height: 1.w,child: DecoratedBox(decoration: BoxDecoration(color: Color(0xFFDDDDDD)),),),Row(mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.start,children: [Container(padding: EdgeInsets.only(right: 60.w),child: FlatButton(child: Center(child: new Text('不保留',style:TextStyle(fontSize: 32.w, color: Color(0xFF999999)),),),onPressed: () {Navigator.of(context).pop();Navigator.of(context).pop();},),),SizedBox(width: 1.w,height: 94.w,child: DecoratedBox(decoration: BoxDecoration(color: Color(0xFFDDDDDD)),),),Container(padding: EdgeInsets.only(left: 60.w,),child: FlatButton(onPressed: () {Navigator.of(context).pop();},child: Text("繼續編輯",style:TextStyle(fontSize: 32.w, color: Color(0xFF23A427)),)),)],)],),)),);} }總結
以上是生活随笔為你收集整理的flutter自定义弹窗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker的安装和Redis容器
- 下一篇: VS Code识别编辑规范,ESlint