导入dart:ui后仍报Undefined name 'ui'错误该如何解决
Flutter
ui.Gradient.linear 未定义报错修复方案 - 报错根本原因:你导入
dart:ui库时未声明ui别名,导致代码中使用ui.前缀调用库API时无法识别标识符。 - 修复方法:将导入语句
import 'dart:ui';修改为import 'dart:ui' as ui;即可。 - 可选替代方案:如果你不想使用前缀调用,也可以直接删除代码中
Gradient.linear前的ui.前缀,直接写Gradient.linear也能正常运行,推荐使用别名方式避免不同库的同名类冲突。
修正后完整代码
import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:html_editor_enhanced/html_editor.dart'; import 'dart:ui' as ui; // 此处添加了as ui别名 class Write extends StatelessWidget { // const Write({Key? key}) : super(key: key); HtmlEditorController controller = HtmlEditorController(); @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ Text( "write or copy/paste your beautiful creation", style: TextStyle( height:5, foreground: Paint() ..shader = ui.Gradient.linear( const Offset(0, 20), const Offset(150, 20), <Color>[ Colors.red, Colors.yellow, ], ))), const SizedBox(height: 40), HtmlEditor( controller: controller, //required htmlEditorOptions: const HtmlEditorOptions( hint: "Your text here...", // initialText: "and it came to pass...", ), otherOptions: const OtherOptions( height: 400, ), ), ], ), ); } }
内容的提问来源于stack exchange,提问作者Jaden Lorenc
相关产品推荐
相关产品推荐

