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

做网站代理去拉人网站建设辶首先金手指十四

做网站代理去拉人,网站建设辶首先金手指十四,秦皇岛 网站建设,wordpress插件刷不出前言 学过Java的同学#xff0c;应该都知道面向对象语言的三大特征#xff0c;封装、继承、多态#xff1b; Dart也是面向对象的语言#xff0c;但是在Flutter中的很多组件都被下划线 _ 标记为私有#xff0c;导致无法继承#xff0c;本文将介绍一种非私有的创建组件写…前言 学过Java的同学应该都知道面向对象语言的三大特征封装、继承、多态 Dart也是面向对象的语言但是在Flutter中的很多组件都被下划线 _ 标记为私有导致无法继承本文将介绍一种非私有的创建组件写法。 当前案例 Flutter SDK版本3.13.2 效果图 StatefulWidget 基类base_stateful_widget.dart import package:flutter/material.dart;class BaseStatefulWidget extends StatefulWidget {final MapString,dynamic? arguments;const BaseStatefulWidget({super.key,this.arguments});overrideStateBaseStatefulWidget createState() BaseStatefulWidgetState(); }class BaseStatefulWidgetStateT extends StatefulWidget extends StateBaseStatefulWidget {overrideWidget build(BuildContext context) {return const Placeholder();}}创建第一个非私有的StatefulWidget组件parent_box.dart import package:flutter/material.dart; import package:flutter_widget_extends/base/base_stateful_widget.dart;class ParentBox extends BaseStatefulWidget {const ParentBox({super.key,super.arguments});overrideParentBoxStateParentBox createState() ParentBoxState(); }class ParentBoxStateT extends ParentBox extends BaseStatefulWidgetStateParentBox {overrideWidget build(BuildContext context) {final size double.parse((widget.arguments?[size] ?? 50).toString());return Container(width: size,height: size,margin: const EdgeInsets.only(bottom: 12),color: Colors.green,alignment: Alignment.center,child: content(),);}content() {final content widget.arguments?[content];return Text(content,style: const TextStyle(fontSize: 20,color: Colors.yellow,));}} 子类child_box.dart import package:flutter/material.dart; import package:flutter_widget_extends/widget/parent_box.dart;class ChildBox extends ParentBox {const ChildBox({super.key,super.arguments});overrideChildBoxStateChildBox createState() ChildBoxState(); }class ChildBoxStateT extends ChildBox extends ParentBoxStateChildBox {overridecontent() {final content widget.arguments?[content];return Text(content,style: const TextStyle(fontSize: 20,color: Colors.white,));}} 子孙类posterity_box.dart import package:flutter/material.dart; import package:flutter_widget_extends/widget/child_box.dart;class PosterityBox extends ChildBox {const PosterityBox({super.key,super.arguments});overrideChildBoxStateChildBox createState() PosterityBoxState(); }class PosterityBoxStateT extends PosterityBox extends ChildBoxStatePosterityBox {overridecontent() {final content widget.arguments?[content];return Text(content,style: const TextStyle(fontSize: 20,color: Colors.black,));}} StatelessWidget 基类base_stateless_widget.dart import package:flutter/material.dart;class BaseStatelessWidget extends StatelessWidget {final MapString,dynamic? arguments;const BaseStatelessWidget({super.key, this.arguments});overrideWidget build(BuildContext context) {return const Placeholder();} } 创建第一个非私有的StatelessWidget组件school_box.dart import package:flutter/material.dart; import package:flutter_widget_extends/base/base_stateless_widget.dart;class SchoolBox extends BaseStatelessWidget {const SchoolBox({super.key,super.arguments});overrideWidget build(BuildContext context) {final size double.parse((arguments?[size] ?? 50).toString());return Container(width: size,height: size,margin: const EdgeInsets.only(bottom: 12),color: Colors.cyan,alignment: Alignment.center,child: content(),);}content() {final content arguments?[content];return Text(content,style: const TextStyle(fontSize: 20,color: Colors.white,));}} 子类teacher_box.dart import package:flutter/material.dart; import package:flutter_widget_extends/widget/school_box.dart;class TeacherBox extends SchoolBox {const TeacherBox({super.key,super.arguments});overridecontent() {final content arguments?[content];return Text(content,style: const TextStyle(fontSize: 20,color: Colors.yellow,));}}子孙类student_box.dart import package:flutter/material.dart; import package:flutter_widget_extends/widget/teacher_box.dart;class StudentBox extends TeacherBox {const StudentBox({super.key,super.arguments});overridecontent() {final content arguments?[content];return Text(content,style: const TextStyle(fontSize: 20,color: Colors.greenAccent,));}}入口相关文件test_stateful_widget.dart、test_stateless_widget.dart、main.dart import package:flutter/material.dart;import ../widget/child_box.dart; import ../widget/parent_box.dart; import ../widget/posterity_box.dart;class TestStatefulWidget extends StatefulWidget {const TestStatefulWidget({super.key});overrideStateTestStatefulWidget createState() _TestStatefulWidgetState(); }class _TestStatefulWidgetState extends StateTestStatefulWidget {overrideWidget build(BuildContext context) {return Scaffold(body: SizedBox(width: MediaQuery.of(context).size.width,height: MediaQuery.of(context).size.height,child: const Column(mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.center,children: [ParentBox(arguments: {size: 260,content: 父级,}),ChildBox(arguments: {size: 200,content: 子级,}),PosterityBox(arguments: {size: 150,content: 子孙级,}),],),),);}} import package:flutter/material.dart; import package:flutter_widget_extends/widget/school_box.dart; import package:flutter_widget_extends/widget/student_box.dart; import package:flutter_widget_extends/widget/teacher_box.dart;class TestStatelessWidget extends StatefulWidget {const TestStatelessWidget({super.key});overrideStateTestStatelessWidget createState() _TestStatelessWidgetState(); }class _TestStatelessWidgetState extends StateTestStatelessWidget {overrideWidget build(BuildContext context) {return Scaffold(body: SizedBox(width: MediaQuery.of(context).size.width,height: MediaQuery.of(context).size.height,child: const Column(mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.center,children: [SchoolBox(arguments: {size: 150,content: 父级,}),TeacherBox(arguments: {size: 200,content: 子级,}),StudentBox(arguments: {size: 260,content: 子孙级,}),],),),);}}import package:flutter/material.dart; import package:flutter_widget_extends/page/test_stateful_widget.dart; import package:flutter_widget_extends/page/test_stateless_widget.dart;void main() {runApp(const MyApp()); }class MyApp extends StatelessWidget {const MyApp({super.key});overrideWidget build(BuildContext context) {return MaterialApp(debugShowCheckedModeBanner: false,title: Flutter Demo,theme: ThemeData(colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),useMaterial3: true,),home: const MyHomePage(title: Flutter Demo Home Page),);} }class MyHomePage extends StatefulWidget {const MyHomePage({super.key, required this.title});final String title;overrideStateMyHomePage createState() _MyHomePageState(); }class _MyHomePageState extends StateMyHomePage {overrideWidget build(BuildContext context) {return Scaffold(body: SizedBox(width: MediaQuery.of(context).size.width,height: MediaQuery.of(context).size.height,child: Column(mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.center,children: [Padding(padding: const EdgeInsets.only(bottom: 16),child: ElevatedButton(onPressed: () {Navigator.pushvoid(context,MaterialPageRoutevoid(builder: (BuildContext context) const TestStatefulWidget(),),);},child: const Text(TestStatefulWidget,style: TextStyle(fontSize: 16),),),),ElevatedButton(onPressed: () {Navigator.pushvoid(context,MaterialPageRoutevoid(builder: (BuildContext context) const TestStatelessWidget(),),);},child: const Text(TestStatelessWidget,style: TextStyle(fontSize: 16),),)],),),);} }源码地址 GitHub - LanSeLianMa/flutter_widget_extends: Flutter组件 StatefulWidget、StatelessWidget 可继承写法
http://www.hkea.cn/news/14461716/

相关文章:

  • 好吊顶网站三大电商平台是哪三个
  • 上海人才网官网招聘招聘外包seo公司
  • 泸州做网站网站开发人员岗位
  • 上海网站制作团队购物网站建设报价
  • 网站discuz迁移怎么做佛山网站搭建公司
  • 做挂件的网站嘉兴学网站建设
  • 购物网站开发jdk企业门户网站案例
  • linux做网站哪个版本好建筑设计公司取名
  • 网站开发的工作合肥seo服务商
  • 做网站哪里买空间好网站后台怎么管理
  • 一元夺宝网站建设2017aws wordpress ssl
  • 网站建设文化效果江门网站建设设计
  • 网站建设分析从哪几个方面公司网站用什么程序
  • 怎样上传网站到百度已认证网站服务费怎么做
  • 媒体网站的销售怎么做室内设计效果图欧式风格
  • 江西网站建设优化服务wordpress取消默认图片
  • 网站下载地址软件商店oppo官方下载
  • 欧美网站模板下载英铭长沙网站建设
  • 苏州网站设计公司价格wordpress 商城站下载
  • 东莞浩智网站建设多少钱wordpress 判断语句
  • 贵州企业网站建设设计专业的英文网站建设
  • 新余百度网站建设wordpress 登陆信息
  • 网站建设08网站建设需求表
  • 巴中建设银行网站西安搬家公司哪家服务好还实惠
  • 北京建设规划许可证网站黑帽seo软件
  • 怎么做一个网站送给女朋友海南百度推广代理商
  • 新华书店网站建设网站建设和考核工作通知
  • 江西建设银行分行网站二级建造师报考条件官网
  • 如何创建个人网站模板华为手机软文范文300
  • 何为网站开发用层还是表格做网站快