当前位置: 首页 > news >正文

找做课件的网站网站建设柒首先金手指9

找做课件的网站,网站建设柒首先金手指9,网站的运营方式,网站建设服务费记入什么科目Overlay 用于在屏幕上显示浮层的组件 定义及作用 用于在屏幕上显示浮层的组件。创建弹出窗口、提示框、菜单、对话框等。 源码分析 /// Overlay的设计思路 class Overlay extends StatefulWidget //可以看出Overlay是一个有状态的widget#xff0c;直接看对应的OverlaySt…Overlay 用于在屏幕上显示浮层的组件 定义及作用 用于在屏幕上显示浮层的组件。创建弹出窗口、提示框、菜单、对话框等。 源码分析 /// Overlay的设计思路 class Overlay extends StatefulWidget //可以看出Overlay是一个有状态的widget直接看对应的OverlayState里面的实现。 final ListOverlayEntry _entries OverlayEntry[]; //OverlayState里面维护OverlayEntry的列表那么OverlayEntry是什么/// 在OverlayEntry注释里有这样一段 Because an [Overlay] uses a [Stack] layout, overlay entries can use [Positioned] and [AnimatedPositioned] to position themselves within the overlay. //这句话可以理解为Overlay包含一个Stack布局每个浮层都是一个Positioned widget可以添加到Stack中。 又因为Stack是可以覆盖的所以就能做出浮窗等效果。/// 至此已经明白了一个基本思路OverlayEntry是浮窗的UI而OverlayState通过维护OverlayEntry来显示对应的UI。那么怎么绘制的呢 Widget build(BuildContext context) {...for (int i _entries.length - 1; i 0; i - 1) {...children.add(_OverlayEntryWidget(key: entry._key,entry: entry,)); // 至此在build里通过_OverlayEntryWidget这个实际绘制UI的widget绘制然后add给childrenchildren在给真正绘制的UI的地方这就不继续跟下去了这里着重发现Overlay的设计思路/// 总结OverlayEntry是浮窗的UI而OverlayState在build遍历OverlayEntry的列表来绘制每一个OverlayEntry。使用举例 基于上面总结原理使用Overlay就需要在OverlayEntry里绘制UI然后add给OverlayState。如下步骤在注释上 class _MyHomePageState extends StateMyHomePage {overrideWidget build(BuildContext context) {return SafeArea(child: Scaffold(body: Column(children: [ElevatedButton(onPressed: () btn1(context),child: const Text(btn1),),],),),);}void btn1(BuildContext context) {/// 步骤1绘制OverlayEntry的UIOverlayEntry? overlayEntry;overlayEntry OverlayEntry(builder: (context) {return Positioned(// 指定位置left: 0,top: 100,child: GestureDetector(// 点击删除onTap: () {overlayEntry?.remove();},// 背景随机色child: Container(width: 100,height: 100,color: Colors.red,child: const Center(// 提示文字child: Text(这是一个 overlay 浮层, 点击关闭,style: TextStyle(color: Colors.white,fontSize: 10,decoration: TextDecoration.none,),),),),),);});/// 步骤2把OverlayEntry的添加给overlayState。overlayState自己就会去setState展示OverlayState? overlayState Overlay.of(context);overlayState.insert(overlayEntry);/// 步骤2实际使用时通过Overlay.of(context)获得OverlayState要在dispose()时销毁} }补充 OverlayEntry 构造函数及描述参数作用 OverlayEntry({required this.builder, // 绘制UIbool opaque false, // 是否不透明的设置为true就会让当前屏幕除了UI都被遮盖因为不透明嘛bool maintainState false, //绘制的UI里如果没有用StatefulWidget就设置为false如果用了并且希望接收到外层的setState就设置为true })OverlayState 前面说了OverlayState是维护OverlayEntry的。而实际开发中弹框也不会弹多个浮层令人厌烦所以OverlayState的维护增删排序等功能基本无须过多了解。
http://www.zqtcl.cn/news/188681/

相关文章:

  • 秦皇岛网站建设公司wordpress百度编辑器
  • 潍坊网站建设联系方式农业网站开发
  • 河北网站制作网站设计依赖于什么设计
  • 深圳网站优化培训wordpress内页关键词
  • 上栗网站建设企业网站建设报价方案
  • 广州网站开发公司公司级别网站开发
  • 做网站备案哪些条件怎样选择网站的关键词
  • 有没有专门做名片的网站忘记网站后台账号
  • 重庆建设工程招标网站印尼建设银行网站
  • 什么是网站流量优化四川住房建设厅网站
  • 现在还有企业做网站吗做百度推广送的网站
  • 公司年前做网站好处互联网推广运营是做什么的
  • 公司网站建设杭州钓鱼网站制作的报告
  • 宁海有做网站的吗网络规划设计师需要掌握哪些
  • 百度云注册域名可以做网站明码有了主机如何做网站
  • 门户网站推广方案连云港市电信网站建设
  • 网站程序如何制作app商城开发价格
  • 用易语言做攻击网站软件国药控股北京有限公司
  • 宁津 做网站湛江招聘网最新招聘
  • 网站建设优化服务器asp企业网站
  • 门窗网站源码建筑模板厂家联系方式
  • 太原网站建设解决方案做建筑机械网站那个网站好
  • 丹徒做网站产品外贸营销推广方案
  • 信息技术 网站建设教案做是么网站
  • 网站建设培训报名wordpress 到小程序
  • 郑州做网站软件建设网站培训
  • 做网站卖东西赚钱吗凡科互动官网登陆
  • 免费写作网站通道一通道二通道三免费
  • 腾讯云做网站选哪个网络广告推广员
  • 昆明网站开发哪家好做网站怎么做小图标