Widget
在Flutter里所有的UI空间都是基于一个叫“Widget”(部件)的东西,这相当于iOS UIKit里的UIView,Widget分为Stateful(有状态的)和Stateless(无状态的)
- Dart中当行函数或方法可以用=>表示执行
- MaterialApp提供了一系列的UI属性,相当于UIWindow。
- Scaffold 是 Material library 中提供的一个widget, 它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂.Scfffold相当于iOS里的NavigationController
- widget的主要工作是提供一个build()方法来描述如何根据其他较低级别的widget来显示自己。
- 在flutter中final是不可变的相当于swift中的let
- Container中的属性alignment是flutter中布局属性之一,相当于iOS中的origin,Alignment(0.0, 0.0),范围是-1.0~1.0,藐视了container显示的位置,默认值是(0.0,0.0)位于视图的中心,
- AspectRatio宽高比属性,aspectRatio: 2/1,宽高比2:1
- Flutter中的布局方式有三种分别是Row(横向布局)、Column(纵向布局),Stack重叠布局
- Positioned,Stack布局中的属性,有点类似iOS中的frame布局,可设置视图的宽、高、上下左右的边距。
- Stateful由两个类组成,继承StatefulWidget的类用于描述UI,继承State的类用于描述状态和数据,如果UI是动态的就要用StatefulWidget,相反如果UI是不变的就继承StatelessWidget
- setState用于刷新UI,相当于[tableview reloadData]
网友评论