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

贵阳做网站kuhugz网站规划与设计

贵阳做网站kuhugz,网站规划与设计,电脑网页打不开但是可以上网,做网站一般把宽度做多少前言 在 Flutter 中,应用的顶级组件或根组件通常是在 main() 函数中通过 runApp() 方法创建的。这个组件通常是一个 MaterialApp、CupertinoApp、GetMaterialApp 或其他类似的应用框架组件。 以下是一个创建 MaterialApp 作为根组件的示例: void main()…

前言

在 Flutter 中,应用的顶级组件或根组件通常是在 main() 函数中通过 runApp() 方法创建的。这个组件通常是一个 MaterialApp、CupertinoApp、GetMaterialApp 或其他类似的应用框架组件。

以下是一个创建 MaterialApp 作为根组件的示例:

void main() {runApp(MyApp());
}
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Demo',theme: ThemeData(primarySwatch: Colors.blue,),home: MyHomePage(title: 'Flutter Demo Home Page'),);}
}

在这个示例中,MyApp 是应用的根组件,它返回了一个 MaterialApp 组件。MaterialApp 组件是应用的主框架,它包含了应用的主题、路由等设置。MyHomePage 组件是应用的主页面,它被设置为 MaterialApp 的 home 属性,这意味着它是应用启动时显示的第一个页面。
请注意,你的根组件应该是一个 StatelessWidget 或 StatefulWidget,并且它的 build 方法应该返回一个组件。这个组件通常是一个应用框架组件,如 MaterialApp 或 CupertinoApp,但也可以是任何其他类型的组件。

一、组件 MaterialApp

组件无需引入依赖,项目创建时,默认存在。
这是 Flutter 提供的默认应用框架,它实现了 Material Design 风格。它提供了路由、主题、本地化等基本功能。

优点:简单、易用。
缺点:功能相对基础,如果需要更高级的功能(如状态管理、依赖注入等),可能需要使用其他库。
例子:

/** 引入使用的组件 */
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';/** 主函数 */
void main() {runApp(MyApp());
}/*** StatelessWidget 是一个静态组件(不可变组件)* StatelessWidget 是非常基础的 Flutter 组件,它用于构建不需要维护内部状态的用户界面* 请注意,虽然 StatelessWidget 本身是不可变的,但它可以依赖于可以改变的数据* 例如,它可以依赖于父组件传递的参数,或者依赖于 InheritedWidget 提供的数据* 当这些数据改变时,StatelessWidget 会被重新构建,从而更新用户界面*/
class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Demo',/** ThemeData对象定义应用主题色 */theme: ThemeData(primarySwatch: Colors.blue,),/** * localizationsDelegates 和 supportedLocales 属性被设置为支持英语和中文的本地化代理,* 这使得应用可以根据用户的设备设置显示不同的语言*/localizationsDelegates: [GlobalMaterialLocalizations.delegate,GlobalWidgetsLocalizations.delegate,],supportedLocales: [const Locale('en', ''), // Englishconst Locale('zh', ''), // Chinese],/** initialRoute 设置初始展示的路由页面 */initialRoute: '/',/** routes 路由表 */routes: {'/': (context) => HomePage(),'/second': (context) => SecondPage(),},);}
}class HomePage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(/** 标题设置 */appBar: AppBar(title: Text('Home Page'),),/** 内容设置 */body: Center(/** 动效按钮 */child: RaisedButton(child: Text('Go to Second Page'),/** 点击事件 */onPressed: () {/** 路由跳转页面 */Navigator.pushNamed(context, '/second');},),),);}
}class SecondPage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Second Page'),),body: Center(child: Text('This is the second page'),),);}
}

二、组件 CupertinoApp

组件无需引入依赖,项目创建时,默认存在,在 pubspec.yaml 文件中,cupertino_icons 依赖包含该组件。
这是 Flutter 提供的另一个应用框架,它实现了 Cupertino (iOS) 风格。它的优点和缺点与 MaterialApp 类似,但它提供了一套模仿 iOS 界面设计的组件
例子:同上,替换关键组件即可。

三、组件 GetMaterialApp

该组件在项目创建时,没有默认携带,使用该组件要在 pubspec.yaml 文件添加 get 依赖以及版本,版本号在 pub.dev 搜索 get 进行查找,进入找到 Versions 标签进行查看版本号。
这是 GetX 库提供的应用框架,它提供了一些额外的功能,如状态管理、依赖注入、路由管理等。
优点:功能强大、易用。
缺点:需要额外的学习成本,而且如果你不需要它的高级功能,使用它可能会有些过度。
例子:

import 'package:flutter/material.dart';
import 'package:get/get.dart';void main() {runApp(MyApp());
}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return GetMaterialApp(title: 'Flutter Demo',theme: ThemeData(primarySwatch: Colors.blue,),initialRoute: '/',/** * GetMaterialApp 的 getPages 属性是一个路由表,这使得应用可以通过路由名进行页面跳转。* 在这个例子中,应用有两个页面:HomePage 和 SecondPage,它们的路由名分别是 '/' 和 '/second'。*/getPages: [GetPage(name: '/', page: () => HomePage()),GetPage(name: '/second', page: () => SecondPage()),],);}
}
/** * HomeController 是一个 GetxController,它包含了一个可观察的 count 变量和一个 increment 方法。* HomePage 使用 Get.put() 方法创建了一个 HomeController 的实例,并将它存储在 GetX 的依赖注入系统中。*/
class HomeController extends GetxController {var count = 0.obs;void increment() {count++;}
}class HomePage extends StatelessWidget {final HomeController controller = Get.put(HomeController());@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Home Page'),),body: Center(/** HomePage 使用 Obx() 组件来监听 count 变量的变化,并在 count 变化时重新构建 Text 组件 */child: Obx(() => Text('Clicks: ${controller.count}')),),floatingActionButton: FloatingActionButton(child: Icon(Icons.add),onPressed: controller.increment,),);}
}class SecondPage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Second Page'),),body: Center(child: RaisedButton(child: Text('Go back'),/** SecondPage 使用 Get.back() 方法来返回上一个页面,这是 GetX 提供的路由管理功能的一部分 */onPressed: () => Get.back(),),),);}
}

四、组件 Phoenix

该组件需要引入依赖,在 pubspec.yaml 写入依赖 phoenix 以及版本号,版本号在 pub.dev 搜索 flutter_phoenix 进入找到 Versions 标签进行查看版本号。
这是 phoenix 库提供的应用框架,它的主要功能是可以在运行时重启应用。这对于一些需要清理全局状态或重载应用配置的场景非常有用。
例子:

import 'package:flutter/material.dart';
import 'package:flutter_phoenix/flutter_phoenix.dart';void main() {runApp(Phoenix(child: MyApp()));
}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Phoenix Demo',theme: ThemeData(primarySwatch: Colors.blue,),home: MyHomePage(title: 'Flutter Phoenix Demo Home Page'),);}
}class MyHomePage extends StatelessWidget {MyHomePage({Key? key, required this.title}) : super(key: key);final String title;@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(title),),body: Center(child: RaisedButton(child: Text('Restart App'),onPressed: () {/** 重启应用 */Phoenix.rebirth(context);},),),);}
}
http://www.zhongyajixie.com/news/10714.html

相关文章:

  • 关于配色的网站推荐网站页面优化包括
  • 大讲堂123专注网站模板制作关键词优化app
  • 做购物网站小图标网页seo
  • 广东建的电商网站叫啥企业网站排名优化
  • 品牌策划案模板范文网络优化工程师前景如何
  • 长沙做网站那家好网络营销成功的案例分析
  • 商城网站租服务器安全不怎样推广一个产品
  • 北京做网站供应商餐饮管理培训课程
  • 用dw做网站 主题是哪个排名优化公司哪家好
  • 新手做网站需要哪些软件seo网络优化专员
  • html5做服装网站免费刷推广链接的网站
  • 电子商务网站平台建设预算不包括关键词热度分析
  • 免费申请域名做网站品牌战略
  • 图片网站如何做百度排名每日新闻摘抄10一15字
  • 有哪些可以在线做海报的网站游戏推广赚钱
  • 怎样做联盟网站百度seo还有前景吗
  • 多网站后台问题培训加盟
  • 西安将军山网站建设厦门网站seo外包
  • 温州网站制作多少钱百度网盘下载速度
  • 公司建立网站seo兼职平台
  • 信用网站建设内容网站引流推广软件
  • 河北省网站建设成都网络推广
  • 有专门做网站的公司吗南京网页搜索排名提升
  • 抖音小程序代理关键词优化seo
  • 外贸b2c平台都有哪些网站北京seo实战培训班
  • 东莞企业网站建设报价深圳网站优化哪家好
  • 手工制作国庆节作品图片站长seo查询
  • 福州有什么做网站的公司seo相关岗位
  • 找人做网站被骗了属于诈骗吗东莞市网络seo推广企业
  • 静态网站如何做优化企业关键词排名优化网址