flutter开发

撸代码

flutter环境和运行环境搭建好后就可以快乐撸代码了,对于学过面向对象java的菜鸟的我,都非常简单的。官方文档说不需要Dart语言和移动端编程经验,只需要有面向对象编程即可

flutter简介

flutter是一个跨平台的移动开发框架,使用Dart语言,他的目的时创建一个高性能,高稳定性,高帧率,低延迟的安卓和ios移动应用。并且有原生的应用一样的体验。

核心

其中框架有函数式响应、2D引擎渲染、直接可用的Widget库和各种开发工具。
Widget是每个Flutter应用的基础。mvc框架的原理是三层view,controller,Layou分开定义不一样,它是一致的
一个小部件可以定义为

  • 一个结构性的元素。例如按钮或者菜单
  • 一个元素的风格。例如字体和颜色
  • 制定布局属性。例如padding内边距
  • 也可以包含业务逻辑
  • 以及其他
    最后widget是经过组合使用的。每个小部件嵌在父类中,并且继承了父类的属性。并没有单独的application
    组合大于继承的
    例如控件中的Container容器小部件,他就是由以下几个widget组成

  • LimitedBox ConstrainedBox

  • Align
  • padding
  • DecoratedBox
  • Transform

Container 源码

Widget build(BuildContext context) {
Widget current = child;
if (child == null && (constraints == null || !constraints.isTight)) {
  current = new LimitedBox(
    maxWidth: 0.0,
    maxHeight: 0.0,
    child: new ConstrainedBox(constraints: const BoxConstraints.expand())
  );
}

if (alignment != null)
  current = new Align(alignment: alignment, child: current);

final EdgeInsetsGeometry effectivePadding = _paddingIncludingDecoration;
if (effectivePadding != null)
  current = new Padding(padding: effectivePadding, child: current);

if (decoration != null)
  current = new DecoratedBox(decoration: decoration, child: current);

if (foregroundDecoration != null) {
  current = new DecoratedBox(
    decoration: foregroundDecoration,
    position: DecorationPosition.foreground,
    child: current
  );
}

if (constraints != null)
  current = new ConstrainedBox(constraints: constraints, child: current);

if (margin != null)
  current = new Padding(padding: margin, child: current);

if (transform != null)
  current = new Transform(transform: transform, child: current);

return current;
}

当然还有其他的控件,只学到这,慢慢补充

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值