首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有颤动的Dart中使用像`Offset`/`Color`这样的基本类

在没有颤动的Dart中使用像`Offset`/`Color`这样的基本类
EN

Stack Overflow用户
提问于 2021-01-27 15:27:42
回答 2查看 122关注 0票数 0

我想在一个纯dart程序中使用这些基本类(比如OffsetSizeColor)。我不能在纯dart项目中导入它们。我该如何使用它们?

这些类是非常基础的,非常有帮助。例如,使用Color (和Colors)可以很容易地使用颜色系统。所以如果我能用上它们我会很感激的。

我已经尝试过this,但它给出了以下错误:Error: Not found: 'dart:ui'。我也尝试过复制和粘贴,但这有点难看……

EN

回答 2

Stack Overflow用户

发布于 2021-01-28 20:58:05

简而言之,您不能这样做,除非您从package:flutter/material.dart中的源类复制代码。

票数 0
EN

Stack Overflow用户

发布于 2021-01-30 06:29:16

您不能在控制台程序中导入dart:ui。但是如果你想使用它们,你可以做一些事情:

要使用Color类以及RgbColorHexColorHslColorXyzColorCielabColor,可以使用color包。您可以通过在pubspec.yaml文件(需要手动创建)中导入包来在cli应用程序中使用它。

pubspec.yaml:

代码语言:javascript
复制
name: CLI
description: A CLI App
version: 1.0.0
publish_to: 'none'

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  color: 2.1.1     <---

main.dart:

代码语言:javascript
复制
import 'package:color/color.dart';

void main(List<String> args) {
  Color color = new Color.hex("FFFFFF");
  print(color);   //Should print "ffffff"
}

编辑:如果要使用Flutter的Color类,请将其复制到单独的color.dart文件中,以及与Color类位于同一文件中的_scaleAlpha() (sky_engine\lib\ui\painting.dart)和_clampInt() + _lerpInt() (位于sky_engine\lib\ui\lerp.dart中)。不要忘记对这个新文件执行import "dart:math" as math命令。你说过复制是很难看的,但是如果你以后想让它与Flutter兼容,那就是最好的了。只需将main.dart文件中的import "color.dart"更改为import "dart:ui"

至于SizeOffset,它们位于(颤动路径) flutter\bin\cache\pkg\sky_engine\lib\ui\geometry.dart中。正如你所说,复制和粘贴是丑陋的,看看这些功能,我会说大多数对控制台应用程序都没有用。

也许可以尝试自己实现它们,方法是从头开始编写适合您需要的类,或者剥离geometry.dart中的原始类。如果去掉注释,这两个类都很小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65914605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档