flutter dialog实现手机直播源码对话框支持自定义大小
在平时的需求开发中不可避免要弹出一些对话框提示用户,但默认的showDialog中的SimpleDialog和AlertDialog默认都是宽度全屏的,所以需要满足自定义大小的dialog非常有必要。这里记录下我的实现方式,当然有更好的方式也希望大家分享在评论里
```cpp ex_dialog.dart import 'package:flutter/material.dart'; /// 显示指定大小dialog onClickOutSide点击弹窗以外的透明区域 onClickContent点击child区域 Future<T> showCustomSizeDialog<T>(BuildContext context, {Widget child, Function onClickOutSide, Function onClickContent}) { return showDialog<T>( context: context, builder: (context) { return Material( type: MaterialType.transparency, child: GestureDetector( behavior: HitTestBehavior.opaque, onTap: onClickOutSide, child: GestureDetector( child: Center( child: child, ), onTap: onClickContent ?? () {}, // 默认点击内容区域不透传事件 ), ), ); }, ); } ```
例子
```cpp showCustomSizeDialog( context, child: Container( width: 100, height: 100, color: Colors.white, child: Text('test'), ), onClickOutSide: () { // 点击蒙层区域 //Navigator.of(context).pop(); }, // onClickContent: () { // 点击内容区域 这里对应的child // Navigator.of(context).pop(); // }, ); ```
以上就是flutter dialog实现手机直播源码对话框支持自定义大小, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现