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

php移动网站开发网页设计排版布局技巧

php移动网站开发,网页设计排版布局技巧,南京网站建设咨询,建行网银登录文章目录 1.flutter widget分类2. 代理组件又分为3. 状态 state 数据4. 刷新 数据变化5. code 1.flutter widget分类 组合渲染代理 2. 代理组件又分为 Positioned向父组件传递数据InheritedWidget向子组件传递数据 3. 状态 state 数据 状态就是用到了向子组件传递数据&#xff…

文章目录

        • 1.flutter widget分类
        • 2. 代理组件又分为
        • 3. 状态 state 数据
        • 4. 刷新 数据变化
        • 5. code

1.flutter widget分类
  1. 组合
  2. 渲染
  3. 代理
2. 代理组件又分为
  1. Positioned向父组件传递数据
  2. InheritedWidget向子组件传递数据
3. 状态 state 数据

状态就是用到了向子组件传递数据,并且需要刷新的时候刷新组件

4. 刷新 数据变化
  1. 获取并在改变的时候会导致刷新
    dependOnInheritedWidgetOfExactType
  2. 只获取不会因为数据变化导致刷新
    getInheritedWidgetOfExactType
5. code
import 'package:flutter/material.dart';//material cupertino
//widget
//rendering
//foundation 动画 事件 painting
//flutter框架层
//engine
//embedded嵌入式main() {runApp(const MaterialApp(home: StateStudyPage(),));
}class StateStudyPage extends StatefulWidget {const StateStudyPage({super.key});State<StateStudyPage> createState() => _StateStudyPageState();
}class _StateStudyPageState extends State<StateStudyPage> {int aa = 0;int dt1 = 0;int dt2 = 0;Widget build(BuildContext context) {return Scaffold(appBar: AppBar(),body: ShareData2Widget(dt1: dt1,dt2: dt2,child: Column(children: [Text("parent=$aa"),TextButton(onPressed: () {setState(() {aa++;});},child: Text("刷新当前state")),TextButton(onPressed: () {setState(() {dt1++;});},child: Text("刷新当前state dt1=$dt1")),TextButton(onPressed: () {setState(() {dt2++;});},child: Text("刷新当前state dt2=$dt2")),StateStudyChildPage(aa: aa,),],),),);}
}class StateStudyChildPage extends StatefulWidget {final int aa;const StateStudyChildPage({super.key, required this.aa});State<StateStudyChildPage> createState() => _StateStudyChildPageState();
}class _StateStudyChildPageState extends State<StateStudyChildPage> {int a = 0;///由于父widget setState 导致该方法调用void didUpdateWidget(covariant StateStudyChildPage oldWidget) {super.didUpdateWidget(oldWidget);print("更新widget");}///由于用到了共享数据,并在数据变化的时候调用了父组件的setState,导致该方法调用void didChangeDependencies() {super.didChangeDependencies();print("依赖变化");}Widget build(BuildContext context) {return Column(children: [Text("child=$a"),Text("child==aa=${widget.aa}"),Text("child==cc=${ShareData2Widget.of(context, "data")?.dt1}"),TextButton(onPressed: () {setState(() {a++;});},child: Text("刷新当前state"))],);}
}///整体数据刷新
class ShareDataWidget extends InheritedWidget {const ShareDataWidget({super.key,required this.data,required super.child,});final int data; //需要在子树中共享的数据,保存点击次数//定义一个便捷方法,方便子树中的widget获取共享数据static ShareDataWidget? of(BuildContext context) {return context.dependOnInheritedWidgetOfExactType<ShareDataWidget>();}//该回调决定当data发生变化时,是否通知子树中依赖data的Widget重新buildbool updateShouldNotify(ShareDataWidget oldWidget) {return oldWidget.data != data;}
}///局部数据导致刷新
class ShareData2Widget extends InheritedModel<String> {const ShareData2Widget({super.key,required this.dt2,required this.dt1,required super.child,});final int dt1;final int dt2;//定义一个便捷方法,方便子树中的widget获取共享数据//type就是根据type来判断是否需要刷新组件static ShareData2Widget? of(BuildContext context, String type) {return context.dependOnInheritedWidgetOfExactType<ShareData2Widget>(aspect: type);}//该回调决定当data发生变化时,是否通知子树中依赖data的Widget重新buildbool updateShouldNotify(ShareData2Widget oldWidget) {print("oldWidget.dt1 != dt1=${oldWidget.dt1 != dt1}");return oldWidget.dt1 != dt1 || oldWidget.dt2 != dt2;}bool updateShouldNotifyDependent(covariant ShareData2Widget oldWidget, Set<String> dependencies) {return dependencies.contains("data") && oldWidget.dt1 != dt1 ||dependencies.contains("data2") && oldWidget.dt2 != dt2;}
}
http://www.dinnco.com/news/61686.html

相关文章:

  • 有哪几个网站可以做贸易aso优化软件
  • php做网站的支付功能产品互联网推广
  • 哪里的郑州网站建设seo外链优化方法
  • 网站后台管理是做一些什么苏州网站关键字优化
  • 怎么做网络销售的网站百度用户服务中心
  • 类似直播平台网站的建设费用怎么把平台推广出去
  • seo全网推广营销软件新泰网站seo
  • 学做ps的软件的网站百度公司是国企还是私企
  • 网站开发人员没有按照设计开发百度推广培训机构
  • 汕头网站推广银徽seo
  • 建设免费网站seo优化专员编辑
  • 济南网站制作百度引流推广
  • 专业定制网站建设seo培训学什么
  • 百度h5为什么发布不了长沙seo平台
  • 网站搜索引擎友好性分析四年级新闻摘抄大全
  • 微网站 报价宝鸡seo优化
  • 网站备案中商城服务性质是什么seo网站平台
  • 什么程序做网站收录好网站开发外包
  • 备案用的网站建设方案书怎么写电子商务网站建设与维护
  • 汇编语言做网站爱网站查询
  • 郑州大型网站建设价格百度推广费用多少
  • 深圳网站制作公司咨询seo搜索引擎优化方式
  • 做足球经理头像的网站沈阳cms模板建站
  • WordPress支持多少文章简述seo
  • ruby做的网站开发数字经济发展情况报告
  • 微信小程序是什么seo教程技术整站优化
  • 马可波罗网seo入门教程视频
  • 网站手机版怎么做合肥做网站的公司有哪些
  • 如何知道一个网站是谁做的竞价推广和seo的区别
  • 网站开发哪一门语言更快谷歌官方网站注册