• 文本 Text

    • softwrap 为true时文本行将在换行之前填充列宽
  • 横向 Row

    • MainAxisAlignment 横向对齐方式
    • CrossAxisAlignment 垂直对齐方式
  • 竖直 Column

    • MainAxisAlignment
      • MainAxisAlignment.spaceEvenly 等宽
    • CrossAxisAlignment
    • mainAxisSize
  • 容器,添加填充、边距、边框、背景颜色或其他装饰 Container

    • 如果不设置其宽高,将默认与父布局一致,但是如果它有一个孩子,那么他的大小和孩子一致
    • decoration
      • BoxDecoration
        • border
        • borderRadius
  • 权重布局 Expanded

  • 带主题的根布局 MaterailApp

  • 界面跳转 Navitator

  • 带AppBar的部件 Scaffold

    • AppBar
      • Leading
      • Title
      • Action
    • body
  • 点击事件 GestureDetector

    • onTop
  • 点击事件2 InkWell

  • 居中 Center

  • 图片 Image

  • 小图标 Icon

  • 可滚动列表 ListView

  • 限制宽高 SizeBox

  • 可滚动的网格 GridView

    • GridView.count允许您指定列数
    • GridView.extent允许您指定图块的最大像素宽度
  • 将最多 3 行文本以及可选的前导和尾随图标组织成一行 ListTile

  • 小卡片 Card

  • 遍历获取小部件集合的方式

    • List.generate(count, (i) => Container(child: Image.asset(‘images/pic$i.jpg’)));
  • 可裁剪超出父布局的部件 ClipOval

  • 圆形头像 CircleAvatar

  • 添加分割线 Divider

  • 设置内边距 Padding

  • 根据宽高动态式布局 LayoutBuilder

  • 得到设备的大小,方向 MediaQuery

  • 响应式布局(可以设备情况更改布局)

    • AspectRatio 尝试将子项调整为特定的纵横比
    • CustomSingleChildLayout
    • CustomMultiChildLayout
    • FittedBox
    • FractionallySizedBox
    • LayoutBuilder
    • MediaQuery
    • MediaQueryData
    • OrientationBuilder
  • 自适应布局

    • 单个子view
      • Align- 使孩子在自身内部对齐。对于垂直和水平对齐,它需要一个介于 -1 和 1 之间的双精度值。
      • AspectRatio— 尝试将子项调整为特定的纵横比。
      • ConstrainedBox- 对其子项施加大小限制,提供对最小或最大大小的控制。
      • CustomSingleChildLayout— 使用委托函数来定位单个子项。委托可以确定子级的布局约束和定位。
      • Expanded和 —允许orFlexible的子项 缩小或增长以填充任何可用空间。RowColumn
      • FractionallySizedBox— 将其子项调整为可用空间的一小部分。
      • LayoutBuilder— 构建一个可以根据其父级大小自行重排的小部件。
      • SingleChildScrollView- 将滚动添加到单个子项。通常与Row或一起使用Column。
    • 多个子view
      • Column, Row, and Flex— 在单个水平或垂直运行中布置子级。两者Column并Row扩展Flex小部件。
      • CustomMultiChildLayout— 在布局阶段使用委托函数定位多个子项。
      • Flow— 类似于CustomMultiChildLayout,但更有效,因为它是在绘制阶段而不是布局阶段执行的。
      • ListView, GridView, and CustomScrollView— 提供可滚动的子级列表。
      • Stack- 相对于Stack. 功能类似于 CSS 中的位置固定。
      • Table— 对其子项使用经典的表格布局算法,结合多行和多列。
      • Wrap- 在多个水平或垂直运行中显示其子项。
  • 调整设备密度 VisualDensity

    • 获取 Theme.of(context).visualDensity
  • 不同屏幕的一般大小 FormFactor

  • 屏幕类型 ScreenType

  • 获取设备类型 KIsWeb Platform

    bool get isMobileDevice => !kIsWeb && (Platform.isIOS || Platform.isAndroid);
    bool get isDesktopDevice =>
    !kIsWeb && (Platform.isMacOS || Platform.isWindows || Platform.isLinux);
    bool get isMobileDeviceOrWeb => kIsWeb || isMobileDevice;
    bool get isDesktopDeviceOrWeb => kIsWeb || isDesktopDevice;
    
  • 监听滚动行为 Listener

  • 不同手势下变化状态 FocusableActionDetector

  • 小部件手势的顺序 FocusTraversalGroup

  • 监听键盘输入 Focus

    • RawKeyDownEvent
  • 全局键盘监听

    • RawKeyboard
  • 鼠标相关

    • MouseRegion
  • 带滚动条的部件

    • Scrollbar
  • 可以被选择的文本

    • SelectableText
  • 富文本

    • TextSpan
  • 悬停提示 Tooltip

  • 弹出提示,上下文菜单

    • context_menus
    • anchored_popups
    • flutter_portal
    • uper_tooltip
    • custom_pop_up_menu
  • 拖动

    • Draggable DragTarget
  • 父布局是屏幕时,该部件的宽高强制与屏幕相同

  • 父布局是屏幕时,使用 UnconstrainedBox 可获得任意大小

  • 如果部件的宽高大于父布局了,使用 OverflowBox 可消除警告

  • 限制大小的容器 LimitedBox

  • 包裹内容 FittedBox

    • 只能缩放有界的小部件
  • 有别于Expanded Flexible

  • 约束其与父布局的大小相同 SizedBox.expand

  • 透明度小部件 Opacity

  • 占位小部件 Spacer

  • 好看风格的标题栏 Sliver (配合CustomScrollView)

    • SliverAppBar
    • SliverGrid 可动态变化列数
    • SliverList
  • 动态决定部件的显示与否 Visibility

  • 以下划线开头的成员或类_是私有的

  • 回调出状态 ValueChanged

  • 加载assets下的资产

    • AssetBundle
    • rootBundle
    • DefaultAssetBundle
  • 加载图像 AssetImage

  • 在Android中加载Flutter资源

    PluginRegistry.Registrar;
    AssetManager assetManager = registrar.context().getAssets();
    String key = registrar.lookupKeyForAsset("icons/heart.png");
    AssetFileDescriptor fd = assetManager.openFd(key);
    
  • 路由

    • Navigator
    • Router
  • 动画

    • Text
      • AnimatedDefaultTextStyle
    • CustomPainter
    • TweenAnimationBuilder
    • ImplicitlyAnimatedWidget
    • AnimatedBuilder
    • 动画库
      • Flare
      • Lottie
  • 动画六步走

    • 有状态的小部件 with SingleTickerProviderStateMixin
    • 生成 AnimationController controller = AnimationController(duration: const Duration(seconds: 2), vsync: this);
    • 生成 Animation animation = Tween
      (begin: 0, end: 300).animate(controller)..addStatusListener()..addListener();
    • controller.forward();
    • 记得将animation添加到具体的小部件上面
    • controller.dispose(); 记得一定要放在super.dispost()之后
  • 动画小部件 AnimatedWidget(父类,可进行自定义)

    • AnimatedBuilder
    • AnimatedModalBarrier
    • DecoratedBoxTransition
    • FadeTransition
    • PositionedTransition
    • RelativePositionedTransition
    • RotationTransition
    • ScaleTransition
    • SizeTransition
    • SlideTransition
  • AnimatedBuilder

    • BottomSheet
    • ExpansionTile
    • PopupMenu
    • ProgressIndicator
    • RefreshIndicator
    • Scaffold
    • SnackBar
    • TabBar
    • TextField
  • 动画小容器 AnimatedContainer

  • 联网 http 软件包

  • Json序列化库

    • json_serializable
      • flutter pub run build_runner build –delete-conflicting-outputs
      • flutter pub run build_runner watch –delete-conflicting-outputs
  • flutter和其他原生平台互调方法

  • flutter还可以调用C代码

  • flutter添加库的命令

    • flutter pub add 库名(比如http)

原文地址:http://www.cnblogs.com/maowuge/p/16801926.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性