博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flutter入门
阅读量:4994 次
发布时间:2019-06-12

本文共 2057 字,大约阅读时间需要 6 分钟。

在前面总结了一篇关于flutter环境配置的文章,现在学习了一些关于flutter入门的知识,这里记录一些学习笔记。

目录结构

在vscode中使用Ctrl+shift+p新建项目后,打开项目文件夹,项目目录如下:

其中有几个文件夹需要重点关注:

  • android:Android平台相关代码
  • ios:iOS平台相关代码
  • lib:flutter相关代码,主要是我们自己写的一些代码
  • test:用于存放测试代码
  • pubspex.yaml:配置文件,一般存放一些第三方的依赖

目前,就上面这些时需要我们关注的,其他的基本上暂时都用不上。

入口文件和方法

每一个 flutter 项目的 lib 目录里面都有一个 main.dart 这个文件就是 flutter 的入口文件 。
在新建的项目里面,main.dart文件里面是有一些基本内容的,但是,既然是自己写页面,我们就可以把这些内容都删掉,然后自己写了。
首先,要使用flutter,必须引入material.dart
import 'package:flutter/material.dart';

然后添加如下代码

void main(){  runApp(MyApp());}
其中的 main 方法是 dart 的入口方法。runApp 方法是 flutter 的入口方法。MyApp 是自定义的一个组件 。

一切皆组件

在flutter中,时刻需要记住一句话:一切皆组件。例如,我们要实现一个文字居中的效果,就需要使用flutter自定义的居中组件Center和文字组件Text。
import 'package:flutter/material.dart';void main(){  runApp(new Center(      child: new Text(        '这里是文本',        textDirection: TextDirection.ltr,        style:TextStyle(          fontSize:25        )      ),    )  );}

但是,由于在dart中允许我们是实例化类的时候,省略new关键字,所以,我们可以去掉上面代码中的new关键字。

另外,既然是组件化思想,那么把所以的代码都放在runApp里面,显然是不合理的,我们需要对上面的代码进行抽离。

自定义组件

在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget :StatelessWidget 是无状态组件,状态不可变的 widget;StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变 。
 
import 'package:flutter/material.dart';void main () => runApp(MyApp());class MyApp extends StatelessWidget{  @override  Widget build(BuildContext context){    return MaterialApp(      title:'Flutter Demo',      home:Scaffold(        appBar:AppBar(          title:Text('ListView Widget')        ),        body:Text('ListView Text')      ),    );  }}

APP装饰组件

在上面的自定义组件中,我们使用到了MaterialApp和Scaffold两个组件,这两个组件常用来装饰APP。

MaterialApp

MaterialApp 是一个方便的 Widget,它封装了应用程序实现 Material Design 所需要的一些 Widget。一般作为顶层 widget 使用。
 
MaterialApp中常用属性包括:home(主页)、title(标题)、color(颜色)、theme(主题)、routes(路由)...

Scaffold

Scaffold 是 Material Design 布局结构的基本实现。此类提供了用于显示 drawer、snackbar 和底部 sheet 的 API。 主要包含以下几个属性:
  • appBar:显示在界面顶部的一个AppBar
  • body:当前界面所显示的主要内容Widget
  • drawer:抽屉菜单控件

 自定义有状态组件

StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变。通俗的讲:如果我们想改变页面中的数据的话这个时候就需要用到 StatefulWidget 。

转载于:https://www.cnblogs.com/yuyujuan/p/10957622.html

你可能感兴趣的文章
[译]RabbitMQ教程C#版 - 路由
查看>>
升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署
查看>>
Android:onNewIntent()触发机制及注意事项
查看>>
珠宝公司之感想
查看>>
项目问题
查看>>
scss侦听并压缩
查看>>
我有接口文档, 你有酒吗?
查看>>
iOS - Push 通知推送
查看>>
[FJOI2007]轮状病毒
查看>>
Azure AADSTS7000215 其中一种问题的解决
查看>>
关于吃苦
查看>>
uva 1629切蛋糕(dp)
查看>>
生成awr报告
查看>>
cocos2d-x 3.0rc2 对于每个包执行情况的重要平台 (超级方便)
查看>>
Android 深入解析光传感器(二)
查看>>
Ansible@一个高效的配置管理工具--Ansible configure management--翻译(八)
查看>>
【bzoj4552/Tjoi2016&Heoi2016】排序——二分+线段树/平衡树+线段树分裂与合并
查看>>
Windows Internals学习笔记(八)IO系统
查看>>
sql插件,SQLPrompt
查看>>
Objetive-C 属性和线程安全
查看>>