尝试在材质应用程序中使用文本时,AppBar 中的 Flutter 非常量构造函数错误

Posted

技术标签:

【中文标题】尝试在材质应用程序中使用文本时,AppBar 中的 Flutter 非常量构造函数错误【英文标题】:Flutter non-const constructor error within AppBar when trying to use text inside material app 【发布时间】:2022-01-24 01:08:19 【问题描述】:

您好,我有一个简单的问题,我在这里做错了什么?我正在尝试在 Scaffold 中创建一个 AppBar,但是当我尝试使用 Text 时,它似乎不起作用并说要添加一个 Const,但是当我这样做时,它并不能解决问题。

很抱歉,如果已经有这方面的信息,我只是不知道要查找的具体条款来解决这个问题。我知道您可以将 AppBar 放在 void main() 中,但是我正在按照教程进行操作,并且希望以类似的方式进行操作。

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget 
  const MyApp(Key? key) : super(key: key);

  @override
  Widget build(BuildContext context) 
    return const MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: Text('My First App'),
          ),
          body: Text('This is the body of text.')
      ),
    );
  

这是输出的错误:

12:25:错误:无法调用非“const”构造函数,其中 const 表达式是预期的。尝试使用构造函数或工厂 '常量'。 应用程序栏:常量应用程序栏( ^^^^^^

新错误:

../../runtime/platform/allocation.cc:14:错误:内存不足。 版本=2.14.4(稳定)(2021 年 10 月 13 日星期三 11:11:32 +0200)开启 “windows_x64”pid=24408,线程=30512, 隔离组=(无)(0000000000000000),隔离=(无)(0000000000000000) 隔离指令=0,vm_instructions=7ff65bad4f10 pc 0x00007ff65bcdaa42 fp 0x00000056bb8ff3c0 Dart_IsPrecompiledRuntime+0x21a352 -- DumpStackTrace 结束

FAILURE:构建失败并出现异常。

其中:脚本'C:\Users\A\Documents\flutter\packages\flutter_tools\gradle\flutter.gradle' 行:1005

出了什么问题:任务 ':app:compileFlutterBuildDebug' 执行失败。

Process 'command 'C:\Users\A\Documents\flutter\bin\flutter.bat'' 以非零退出值 -1073740791 结束

尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

【问题讨论】:

尝试从 MaterialApp 中删除 'const'。替换:return const MaterialApp 与 return MaterialApp 【参考方案1】:

只需在 Material 应用前删除 const


import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget 
  const MyApp(Key? key) : super(key: key);

  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: Text('My First App'),
          ),
          body: Text('This is the body of text.')
      ),
    );
  

【讨论】:

但是在 Text 小部件之前使用 const 很不错 它现在给了我一个新错误,我根本无法运行该应用程序。顺便说一句,我正在使用 android Studio。 我已经在顶部的第一个帖子中添加了有关新错误的详细信息,您可以看看吗? @ashley 对于您需要创建单独问题的新错误。请遵守so规则meta.***.com/questions/371614/… 抱歉,谢谢。

以上是关于尝试在材质应用程序中使用文本时,AppBar 中的 Flutter 非常量构造函数错误的主要内容,如果未能解决你的问题,请参考以下文章

添加带有材质表的组件更改 Material-UI AppBar 样式

[Material appbar存在时,Android Studio布局预览不起作用

我想在 appbar 中制作两个文本

Flutter:不使用AppBar时如何在Android和iOS上更改状态栏文本颜色[重复]

为啥我的 AppBar MUI 样式组件在状态更改时不会更改样式?

将文本向左对齐/在材质 ui 框中的 div 内开始