赞
踩
flutter create flutterdemo
1、android、ios、linux、macos、web、windows文件夹:都是对应平台相关代码
2、lib文件夹:flutter相关代码,我们编写的代码就在这个文件夹
3、test文件夹:用于存放测试代码
4、pubspec.yaml:配置文件,一般存放一些第三方库的依赖。
5、analysis_options.yaml文件:分析dart语法的文件,老项目升级成新项目有警告信息的话可以删掉 此文件
每一个flutter项目的lib目录里面都有一个main.dart这个文件就是flutter的入口文件
main.dart里面的
- void main(){
- runApp(MyApp());
- }
- //也可以简写
- void main()=>runApp(MyApp());
其中的main方法是dart的入口方法。
runApp方法是flutter的入口方法。
MyApp是自定义的一个组件
demo1
- //代码块
- import 'package:flutter/material.dart';
-
- void main() {
- runApp(const Center(
- child: Text(
- "我是一个文本",
- textDirection: TextDirection.ltr,
- ),
- ));
- }
使用可选参数添加相关属性信息
- import 'package:flutter/material.dart';
-
- void main() {
- runApp(const Center(
- child: Text(
- "我是一个文本",
- textDirection: TextDirection.ltr,
- style: TextStyle(
- fontSize: 40.0,
- // color: Colors.yellow,
- color: Color.fromRGBO(244, 233, 121, 0.5),
- ),
- ),
- ));
- }
demo3
- import 'package:flutter/material.dart';
-
- //MaterialApp 和 Scaffold两个组件装饰App
- void main() {
- runApp(MaterialApp(
- home: Scaffold(
- appBar: AppBar(title: const Text("你好Flutter")),
- body: const Center(
- child: Text(
- "我是一个文本",
- textDirection: TextDirection.ltr,
- style: TextStyle(
- fontSize: 40.0,
- // color: Colors.yellow,
- color: Color.fromRGBO(244, 233, 121, 0.5),
- ),
- ),
- ),
- ),
- ));
- }

demo4
- import 'package:flutter/material.dart';
-
- import 'package:flutter/material.dart';
-
- //MaterialApp 和 Scaffold两个组件装饰App
- void main() {
- runApp(MaterialApp(
- home: Scaffold(
- appBar: AppBar(title: const Text("你好Flutter")),
- body:const HomeWidget(),
- ),
- ));
- }
- //抽离组件
- class HomeWidget extends StatelessWidget{
- const HomeWidget({Key? key}) : super(key: key);
-
- @override
- Widget build(BuildContext context) {
- return const Center(
- child: Text(
- "我是一个文本",
- textDirection: TextDirection.ltr,
- style: TextStyle(
- fontSize: 40.0,
- // color: Colors.yellow,
- color: Color.fromRGBO(244, 233, 121, 0.5),
- ),
- ),
- );
- }
-
- }

MaterialApp是一个方便的Widget,它封装了应用程序实现Material Design所需要的一些Widget。一 般作为顶层widget使用。
常用的属性:
home (主页)
title (标题)
color (颜色)
theme (主题)
routes (路由)
...
Scaffold是Material Design布局结构的基本实现。此类提供了用于显示drawer、snackbar和底部sheet 的API。
Scaffold 有下面几个主要属性:
appBar - 显示在界面顶部的一个 AppBar。
body - 当前界面所显示的主要内容 Widget。
drawer - 抽屉菜单控件。
在Flutter中自定义组件其实就是一个类,这个类需要继承StatelessWidget/StatefulWidget 前期我们都继承StatelessWidget。后期给大家讲StatefulWidget的使用。
StatelessWidget 是无状态组件,状态不可变的widget
StatefulWidget 是有状态组件,持有的状态可能在widget生命周期改变
示例
- import 'package:flutter/material.dart';
-
- import 'package:flutter/material.dart';
-
- //MaterialApp 和 Scaffold两个组件装饰App
- void main() {
- runApp(MaterialApp(
- home: Scaffold(
- appBar: AppBar(title: const Text("你好Flutter")),
- body:const HomeWidget(),
- ),
- ));
- }
-
- class HomeWidget extends StatelessWidget{
- const HomeWidget({Key? key}) : super(key: key);
-
- @override
- Widget build(BuildContext context) {
- return const Center(
- child: Text(
- "我是一个文本",
- textDirection: TextDirection.ltr,
- style: TextStyle(
- fontSize: 40.0,
- // color: Colors.yellow,
- color: Color.fromRGBO(244, 233, 121, 0.5),
- ),
- ),
- );
- }
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。