gpt4 book ai didi

flutter - Flutter 包 widgets.dart、material.dart 和 cupertino.dart 有什么区别,应该使用哪一个?

转载 作者:IT王子 更新时间:2023-10-29 06:56:26 26 4
gpt4 key购买 nike

在使用 flutter 时,我经常遇到标准库中不同包公开的类型。

例如 FlutterError但同样适用于其他小部件。在编写它并在 VS Code 中使用 IntelliSense 解析要导入的包时,FlutterError可用,IntelliSense 为我提供了多个不同包中的 FlutterError:

在这种情况下,它可以从

  • package:flutter/widgets.dart
  • package:flutter/foundation.dart
  • package:flutter/material.dart
  • package:flutter/cupertino.dart
  • package:flutter/rendering.dart

我的理解是material.dartcupertino.dart提供特定样式的小部件 - 但其余的是什么以及我应该在 MaterialApp(..) 中导入哪个包应该是独立于平台的并且也可以在 iOS 上运行?

并且 - 如果它有所不同 - 应该使用哪个平台特定的小部件,以便在 Android 和 iOS 上自动使用 Date/Timepickers 等 native 功能,以便 Datepicker 自动成为 Android 上的平台特定变体和iOS 上特定于平台的变体?

最佳答案

发生的事情是,该类定义在框架的下部(这里是 foundation for FlutterError)

然后框架的较高层使用 export 指令重新导出较低层的内容。

这样做主要是为了确保开发人员不必在通常需要全部导入 5 个以上不同的东西。

例如 material.dart 大致如下所示:

export 'package:flutter/widget.dart';

class RaisedButton { }

关于flutter - Flutter 包 widgets.dart、material.dart 和 cupertino.dart 有什么区别,应该使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56797821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com