
正文
flutter悬浮组件,flutter悬浮在桌面上按钮
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Flutter 自定义弹窗组件
封装的弹窗必须要灵活,满足实际开发中的大部分弹窗,比如有无标题、有无内容、有无关闭按钮、有无操作按钮以及按钮的排列样式等需要满足多元化~
共有四个文件: ww_dialog.dart 、 ww_middle_bottom_dialog_widget.dart 、 ww_top_dialog_widget.dart 、 ww_top_dialog_item_data.dart
弹窗主要调用类,主要包含: WWDialog.showTopDialog 、 WWDialog.showMiddleDialog 、 WWDialog.showBottomDialog
支持自定义配置背景颜色、字体大小、颜色、统一回调、自定义按钮、单独回调、是否带三角标志、任意位置、最大高度、超过可以滑动等~
部分展示效果:
支持配置背景颜色、字体大小、颜色、字重、按钮排列方式、标题、内容、按钮支持完全自定义、点击的回调等~
部分展示效果:
支持配置背景颜色、字体大小、颜色、字重、按钮排列方式、标题、内容、按钮支持完全自定义、点击的回调等~
部分展示效果:
中间、底部弹窗的弹窗widget
顶部弹窗的弹窗widget
顶部弹窗的数据源数据模型item
github传送门:
相关问答
Q1: flutter常用组件
主要是关注decoration (装饰) 可以设置container的属性,这里color指的是背景色
alertdialog会返回一个结果,这样可以通过switch或其他方法做多次弹框等其他操作
Q2: flutter android 原生浮窗组件 android_window 介绍
仓库地址:
pub 地址:
修改 MainActivity.kt 让 MainActivity 继承 qiuxiang.android_window.AndroidWindowActivity :
创建 MainApplication.kt :
修改 AndroidManifest.xml 的 application 新增属性 android:name=".MainApplication" :
main.dart:
我们需要用 @pragma('vm:entry-point') 声明一个入口函数,默认函数名是 androidWindow ,当然你可以随意指定一个,只是调用 open 的时候需要同时指定参数 entryPoint: 。
android_window.dart:
浮窗 app 的写法就和我们平时写的 app 没什么区别了,如果需要支持窗口拖拽移动,则要在最外层使用 AndroidWindow 。
最终效果:
更完整的示例请参考:
主应用和浮窗都有 post 和 setHandler 方法用于发送消息以及设置监听处理函数。用法举例:
主应用发送消息到浮窗:
浮窗监听并处理主应用消息:
反过来同理。







