FIutter基础

作者: R7_Perfect | 来源:发表于2019-11-25 14:26 被阅读0次

最基础布局的特性和使用

类型 作用特点
Container 只有一个子 Widget。默认充满,包含了padding、margin、color、宽高、decoration 等配置。
Padding 只有一个子 Widget。只用于设置Padding,常用于嵌套child,给child设置padding。
Center 只有一个子 Widget。只用于居中显示,常用于嵌套child,给child设置居中。
Stack 可以有多个子 Widget。 子Widget堆叠在一起。
Column 可以有多个子 Widget。垂直布局。
Row 可以有多个子 Widget。水平布局。
Expanded 只有一个子 Widget。在 Column 和 Row 中充满。

基础的widget

类型 作用特点
MaterialApp 一般作为APP顶层的主页入口,可配置主题,多语言,路由等
Scaffold 一般用户页面的承载Widget,包含appbar、snackbar、drawer等material design的设定。
Appbar 一般用于Scaffold的appbar ,内有标题,二级页面返回按键等,当然不止这些,tabbar等也会需要它 。
Appbar 一般用于Scaffold的appbar ,内有标题,二级页面返回按键等,当然不止这些,tabbar等也会需要它 。
Text 显示文本,几乎都会用到,主要是通过style设置TextStyle来设置字体样式等。
RichText 富文本,通过设置TextSpan,可以拼接出富文本场景。
Text 显示文本,几乎都会用到,主要是通过style设置TextStyle来设置字体样式等。
TextField 文本输入框 :new TextField(controller: //文本控制器, obscureText: "hint文本");
Image 图片加载: new FadeInImage.assetNetwork( placeholder: "预览图", fit: BoxFit.fitWidth, image: "url");
FlatButton 按键点击: new FlatButton(onPressed: () {},child: new Container());

和Android对应关系

Android 内容 Flutter 内容 IOS
Views 通过invalid更新 StateXXWidget 通过setState来更新状态 UIView
Views addChild() 或 removeChild() 添加或者删除子 View StateXXWidget 控制子 Widget 的创建 UIView 可动态修改
View动画 通过 XML 文件定义动画,也可以调用 View 对象的 animate() 方法 Animation<double> AnimationController 开控制 animate(withDuration:animations:)
自定义绘制 Canvas和Paint等 CustomPaint CustomPainter实现 CoreGraphics
自定义View 继承 View 自定义Widget 通过组合更小的 Widget 来创建自定义 Widget 继承UIView
Intent 组件间通信使用Intent Navigator Navigator 和 Route,使用intent可以用额外插件 UINavigationController
外部Intent manifest中注册接收 外部Intent manifest中注册接收后,使用MethodChannel通过原生发过来 URL scheme
异步 UI runOnUiThread() Looper Isolate async/await,不能分享内存,setState/SendPort&ReceivePort来更新UI Looper
OkHttp OkHttp http包 'package:http/http.dart' as http
ProgressBar ProgressBar ProgressIndicator ProgressIndicator的子类 UIProgressView
图片 drawable,mipmap 图片 asset Images.xcasset
字符串 string.xml 字符串 代码中 Localizable.strings
gradle pubspec.yaml Podfile
组件生命周期 ActivityLifecycleCallbacks Widgets生命周期 didChangeAppLifecycleState ViewController
LinearLayout Row/Column
RelativeLayout Row/Column Row/Column,Stack Widget,声明孩子相对父亲的布局规则
ScrollView ListView 既是一个 ScrollView,也是一个 ListView UITableView 和 UICollectionView
事件监听 XXListener 事件监听 onPressed,OnTap等 tableView:didSelectRowAtIndexPath:
ListView adapters ListView List<Widget>需要传入一组widget
ListView onItemClickListener ListView 每个widget自我管理事件 GestureRecognizer
ListView notifyDataSetChanged ListView ListView.Builder reloadData
自定义字体 FontFamily pubspec.yaml配置 TextStyle(fontFamily: 'MyCustomFont') info.plist
EditTextView TextField onSubmitted,decoration
主题 manifest中theme MaterialApp ThemeData

相关文章

  • FIutter基础

    最基础布局的特性和使用 类型作用特点Container只有一个子 Widget。默认充满,包含了padding、m...

  • Fiutter- 数据存储

    前言 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用...

  • Fiutter-容器组件一

    前言 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用...

  • Fiutter-容器组件二

    前言 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用...

  • Fiutter- ListView列表组件

    前言 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用...

  • Fiutter- 案例2 (Home页面)

    前言 Home页面是通过BottomNavigationBar去进行切换的,当BottomNavigationBa...

  • Fiutter- 案例1 (主界面)

    前言 本来想把之前自己的ReactNative的Demo项目拿来变成Flutter版本,但是这几年一直搞Nativ...

  • Fiutter- App级别组件

    前言 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用...

  • Fiutter- 手势识别组件

    前言 Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用...

  • Fiutter- 案例3 (推荐页面)

    前言 推荐页面是Home页面的一个子页面,里面会使用到Loading,列表,API数据请求相关只是 Home页面 ...

网友评论

    本文标题:FIutter基础

    本文链接:https://www.haomeiwen.com/subject/esadwctx.html