【问题标题】:I get text widgets drawn with underline Flutter我得到了用下划线 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

【问题讨论】:

    标签: flutter flutter-web


    【解决方案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 小部件,不会产生任何成本影响。我希望这会有所帮助。
    猜你喜欢
    • 2012-02-10
    • 2018-04-17
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多