我得到了用下划线 Flutter 绘制的文本小部件

Posted

技术标签:

【中文标题】我得到了用下划线 Flutter 绘制的文本小部件【英文标题】:I get text widgets drawn with underline Flutter 【发布时间】:2020-08-18 12:45:32 【问题描述】:

我正在构建我的第一个网络项目。 所以项目的结构如下: Web:是一个网站,其中一个页面(RetailerAccess)是一个应该与所有设备兼容的实际应用程序。 为此,我在main() 中使用平台检查并返回正确的屏幕。

home: kIsWeb
            ? Stack(
                children: [
                  Container(
//        color: Colors.white,
                    child: AnimatedBackground(),
                  ),
                  LayoutTemplate()
                ],
              )
            : RetailerAccess());

它按预期工作.. 在浏览器上运行时会显示网页,您可以导航到 RetailerAccess,而如果在 iPad 上运行则直接在 RetailerAccess 上启动。 到目前为止,一切都很好。 奇怪的是,文本小部件在设备上运行时使用双绿色下划线绘制,而在浏览器上运行时则正常绘制。 您是否知道任何使其行为如此的错误,或者我应该以特定方式设置什么?

我尝试在运行 ios 9.3.5 的旧 iPad 3 上以发布模式运行它,但没有任何变化..

非常感谢您的帮助。

更新:

我意识到我在 RetailerAccess 中没有 ScaffoldMaterial 小部件包装它,它解决了它。 无论如何都不应该将主题传递给RetailerAccess

【问题讨论】:

【参考方案1】:

您收到错误是因为您没有 scaffold 小部件。 试试下面的代码: 效果很好:

home: kIsWeb
            ? Scaffold(
            Stack(
                children: [
                  Container(
//        color: Colors.white,
                    child: AnimatedBackground(),
                  ),
                  LayoutTemplate()
                ],
              )
            ),
            : Scaffold( 
            RetailerAccess()
            );

我希望这会有所帮助。

【讨论】:

您好,欢迎来到社区,感谢您的回答,我正在编辑我的问题,因为我意识到我没有 Scaffold。我用 Material 小部件将它包裹起来,它可以工作。.跨度> 好吧,我确实使用了 Material 小部件,它解决了它,我可能应该按照您的建议使用 Scaffold。再次感谢您。 不客气。是的,您需要一个 material 小部件,然后将一个 scaffold 小部件设置为 home 属性。 Scaffold(body: RetailerAccess()) 确实有效,但我想知道我是否不应该直接在RetailerAccess 中使用脚手架,而不是像我通常对应用程序中的任何屏幕所做的那样...... 您也可以在那里使用scaffold 小部件,不会产生任何成本影响。我希望这会有所帮助。

以上是关于我得到了用下划线 Flutter 绘制的文本小部件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用提供的建议生成在不正确的单词下划线的 Flutter 文本字段?

Flutter:如何在 10 分钟后已经有一些小部件的列中添加小部件

如何从有状态小部件类 Flutter 访问小部件状态

Flutter源码中Te​​xt小部件的RenderObject类在哪里

Flutter 文本小部件

Dart/flutter 小部件测试,无论是按键还是文本都找不到文本小部件