创建一个简单Flutter App

创建一个简单Flutter App,第1张

创建flutter工程

打开Android studio(简称AS)>File>New>New Flutter Project 一路Next就可以

运行Flutter App

或者在终端中执行flutter run

运行到手机上如下

工程介绍


Flutter项目主要分为Android,iOS,lib,pubspec.yaml这四个,其中lib下就是用来flutter开发的,我们的dart文件就放在这里,pubspec.yaml文件就是flutter的构建管理工具,就跟gradle中的build.gradle一样。

Fluter简介
void main() {
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State createState() => _MyHomePageState();
}

class _MyHomePageState extends State {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), 
    );
  }
}

入口函数

void main() => runApp(MyApp());

或者

void main() {
  runApp(MyApp());
}

MyApp()相当于new MyApp(),创建对象时new关键字可以省略
runApp接受的是Widget,MyApp继承了StatelessWidget,flutter中的Widget分为StatelessWidget(无状态)和StatefulWidget(有状态),当你需要根据数据来动态更新试图就需要使用StatefulWidget,否则使用StatelessWidget。(例如文本Text控件 如果在创建初始化的时候设置内容,后续不更改则使用StatelessWidget,如果需要根据逻辑更改文本内容就需要使用StatefulWidget)

MyApp的build返回Widget,其实返回的是MaterialApp,MaterialApp 是Material 库中提供的 Flutter APP 框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个 widget。

这里我们先不去过多了解其中的内容,等后面基础内容学习完成后,对flutter有个较为完整的认识后再来深入了解,目前只需要先了解title,home,routes三个属性就可以了

title:不需要什么解释了

home:你的主页面,接收一个Widget

routes:路由表,接收Map,用于页面跳转使用,当然关于路由的用法是非常多的,这个暂时先不讲,后面会主们对路由使用做一个综合性讲解,目前只要学会一种方式即可。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/994720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存