警告:
SDK库'ui.dart'中的元素'TextStyle'被隐式隐藏 'text_style.dart'。
代码提取:
import 'dart:math';
import 'dart:ui';
import 'package:flutter/material.dart';
@override
void paint(Canvas canvas, Size size) {
TextSpan span = new TextSpan(style: new TextStyle(color: Colors.blue[800], fontSize: 12.0,), text: "Title");
TextPainter tp = new TextPainter(text: span, textAlign: TextAlign.left, textDirection: TextDirection.ltr);
tp.layout();
tp.paint(canvas, new Offset(50.0, 300.0));
现在这是一个警告,而不是一个错误,但我不知道此消息的含义。有人知道怎么翻译吗? implicitly hidden
警告消息是什么意思?
答案 0 :(得分:3)
一个(希望)澄清答案,以备将来参考。
为解决导入冲突,您至少有两个选择(在一个以上的导入中,它们的名称相同,并且彼此互为阴影)。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Emulators moduleId="IdEmu129872q53" moduleName="Emulators">
<VICEModule moduleId="Id1" moduleName="VICE V1">
<InstallationPath>V1 Path</InstallationPath>
<Port>6510</Port>
</VICEModule>
<VICEModule moduleId="Id2" moduleName="VICE V2">
<InstallationPath>V2 Path</InstallationPath>
<Port>6511</Port>
</VICEModule>
</Emulators>
as
关键字示例:
导入dart:ui可能会导致TextStyles冲突(在flutter材质包和dart ui库中都存在hide
类)
解决方案:
1。
TextStyle
2。
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
// prefix your use of the ui library with ui (material TextStyle no longer shadowed)
...
ui.TextStyle(... // from dart:ui
ui.ImageFilter(... // from dart:ui
TextStyle(... // from flutter/material
答案 1 :(得分:2)
删除import 'dart:ui';
为我工作。
重新发布:
软件包text_style.dart
下的文件painting
具有一个TextStyle
。软件包text.dart
下的文件ui
也具有一个TextStyle
。它们具有相同的名称,因此Dart无法区分,这意味着“阴影”。改用import 'dart:ui' as ui;
,告诉Dart您确实要导入哪个TextStyle
。在我的情况下,我需要使用包装画下的TextStyle,因此删除import 'dart:ui';
对我有用。
如果导入package:flutter/material.dart
,则TextStyle
指向包painting
下的那个。对于您而言,您还导入了软件包ui
,因此发生了“名称阴影”。