Canvas 神秘颤振警告:元素隐式隐藏?
警告: SDK库“ui.dart”中的元素“TextStyle”由隐式隐藏 “文本样式.省道” 代码摘录:Canvas 神秘颤振警告:元素隐式隐藏?,canvas,dart,flutter,Canvas,Dart,Flutter,警告: SDK库“ui.dart”中的元素“TextStyle”由隐式隐藏 “文本样式.省道” 代码摘录: 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: Colo
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));
这是一个警告,不是一个错误,但我对这条消息的含义一无所知。有人知道怎么翻译吗?这条隐式隐藏的警告消息是什么意思?删除
导入'dart:ui'代码>为我工作
转售:
文件包painting
下的文件text\u style.dart
具有TextStyle
。文件包ui
下的文件text.dart
具有TextStyle
。它们有相同的名字,所以Dart无法区分,意思是“阴影”。使用导入'dart:ui'作为ui
而是告诉Dart您真正想要导入的TextStyle
。在我的情况下,我需要使用的是packagepainting下的TextStyle,所以删除import'dart:ui'代码>为我工作
如果导入package:flatter/material.dart
,则TextStyle
指向packagepainting
下的一个。在您的例子中,您还导入了包ui
,因此出现了“名称阴影”。a(希望)澄清了答案,以供将来参考
您至少有两个解决导入冲突的选项(在多个导入中名称相同,并且它们相互影响)
使用命名的导入前缀作为
使用隐藏
关键字
例如:
导入dart:ui可能会导致文本样式冲突(颤振材料包和dart ui库中都存在TextStyle
类)
解决方案:
一,
二,
我的错。以下是对“如何消除此错误?”问题的最新精彩答案,不幸的是,它没有远程解决此处所述的问题。我正试图了解如何解决飞镖/颤振程序的故障。我想确切地理解错误消息的含义。抱歉,如果我在问题陈述中没有特别清楚地说明这一点。包绘画下的文件“text\u style.dart”有一个“TextStyle”。包ui下的文件“text.dart”也有一个“TextStyle”。它们有相同的名字,所以Dart无法区分,意思是“阴影”。使用“导入'dart:ui'作为ui;”来告诉dart您真正想要导入的“TextStyle”。在我的情况下,我需要使用的是packagepainting下的TextStyle,所以删除import'dart:ui';为我工作。
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
import 'dart:ui' hide TextStyle;
import 'package:flutter/material.dart';
// hiding the TextStyle from ui lib (material TextStyle no longer shadowed)
...
TextStyle(... // from flutter/material
ImageFilter(... // from dart:ui