flutter中的布局控件超多,它的布局方式跟iOS原生不同,他的布局方式是通过在基本view外侧包装而成,从属关系上来看,view属于布局。
简单的代码:
Align(
alignment: Alignment.center,
child: MaterialButton(
onPressed: logprint,
child: Text("ddddd"),
color: Colors.blue,
textColor: Colors.white,
disabledTextColor: Colors.black,
height: 40,
minWidth: 50,
),
),
如果想设置一个小view(例如上面的button)的位置,你就需要用一个Align去包装它,然后在Align中设置距离父view边框的距离。其他布局的同理。但是很多布局方式有交叉的地方,比如上面的通过Alignment.center设置自己在父视图的中间,但是你也可以直接使用Center来包装child来实现。
吐槽:从原生iOS开发者的角度看,如果把button和align封装在一起使用不是会更好吗?省时省代码。好像是原生开发的降级。布局脱离了view还有任何意义吗?
flutter中的基本思路好像都是这种,各种玩意都是称作widget的小东西,不管是view还是各种布局方式、还是控制器。不知道其他人怎么看,反正我是觉得,越散乱越会有门槛,flutter的结局肯定是各种封装集合widget,要不然效率真赶不上原生。
flutter的优点应该是他有自己的一套绘制方案,多平台共用,但是缺点也很明显,就是代码实现方式上相比较原生来说是它的短板,有些掣肘。
网友评论