gpt4 book ai didi

android - void main()=> runApp(MaterialApp(home:MyApp()))之间的区别;和void main()=> runApp(MyApp());

转载 作者:行者123 更新时间:2023-12-03 04:51:45 28 4
gpt4 key购买 nike

这是我的Flutter中凸起按钮的代码,如果我更换
void main()=> runApp(MaterialApp(home:MyApp()));

void main()=> runApp(MyApp());
引发错误
为我提供解决方案……它与flutter和flutter插件的版本是否有联系?
谁能提供这两行之间的区别?

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home:MyApp()));


class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return Container(
child: Center(
child: RaisedButton(
child: Text("Hello"),
onPressed: (){
print("Hello world");
},
)
),
);
}
}
错误:
Performing hot restart...
Syncing files to device SM G965F...
Restarted application in 1,759ms.
I/flutter (22269): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (22269): The following assertion was thrown building InkWell(gestures: [tap], clipped to BoxShape.rectangle,
I/flutter (22269): dirty, state: _InkResponseState<InkResponse>#db17e):
I/flutter (22269): No Directionality widget found.
I/flutter (22269): InkWell widgets require a Directionality widget ancestor.
I/flutter (22269): The specific widget that could not find a Directionality ancestor was:
I/flutter (22269): InkWell
I/flutter (22269): The ownership chain for the affected widget is: "InkWell ← DefaultTextStyle ←
I/flutter (22269): AnimatedDefaultTextStyle ← _InkFeatures-[GlobalKey#cee82 ink renderer] ←
I/flutter (22269): NotificationListener<LayoutChangedNotification> ← CustomPaint ← _ShapeBorderPaint ← PhysicalShape
I/flutter (22269): ← _MaterialInterior ← Material ← ⋯"
I/flutter (22269): Typically, the Directionality widget is introduced by the MaterialApp or WidgetsApp widget at the
I/flutter (22269): top of your application widget tree. It determines the ambient reading direction and is used, for
I/flutter (22269): example, to determine how to lay out text, how to interpret "start" and "end" values, and to resolve
I/flutter (22269): EdgeInsetsDirectional, AlignmentDirectional, and other *Directional objects.
I/flutter (22269):
I/flutter (22269): The relevant error-causing widget was:
I/flutter (22269): RaisedButton file:///F:/Flutter_Projects/flutter_test_app/lib/main.dart:16:18
I/flutter (22269):
I/flutter (22269): When the exception was thrown, this was the stack:
I/flutter (22269): #0 debugCheckHasDirectionality.<anonymous closure> (package:flutter/src/widgets/debug.dart:247:7)
I/flutter (22269): #1 debugCheckHasDirectionality (package:flutter/src/widgets/debug.dart:263:4)
I/flutter (22269): #2 InkResponse.debugCheckContext (package:flutter/src/material/ink_well.dart:521:12)
I/flutter (22269): #3 _InkResponseState.build (package:flutter/src/material/ink_well.dart:843:19)
I/flutter (22269): #4 StatefulElement.build (package:flutter/src/widgets/framework.dart:4619:28)
I/flutter (22269): #5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4502:15)
I/flutter (22269): #6 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4675:11)
I/flutter (22269): #7 Element.rebuild (package:flutter/src/widgets/framework.dart:4218:5)
I/flutter (22269): #8 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4481:5)
I/flutter (22269): #9 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4666:11)
I/flutter (22269): #10 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4476:5)
I/flutter (22269): ... Normal element mounting (92 frames)
I/flutter (22269): #102 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3446:14)
I/flutter (22269): #103 Element.updateChild (package:flutter/src/widgets/framework.dart:3214:18)
I/flutter (22269): #104 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1148:16)
I/flutter (22269): #105 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1119:5)
I/flutter (22269): #106 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1061:17)
I/flutter (22269): #107 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2607:19)
I/flutter (22269): #108 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1060:13)
I/flutter (22269): #109 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:941:7)
I/flutter (22269): #110 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:922:7)
I/flutter (22269): (elided 11 frames from class _RawReceivePortImpl, class _Timer, dart:async, and dart:async-patch)
I/flutter (22269):
I/flutter (22269): ════════════════════════════════════════════════════════════════════════════════════════════════════

最佳答案

MaterialApp建立在WidgetApp之上。这些类用于提供一些基础知识Flutter Widget作为导航处理(仅作为示例)。

错误说:

I/flutter (22269): No Directionality widget found.

RaisedButton小部件中使用的InkWell需要它,这是WidgetApp提供的小部件之一。这就是为什么如果不将应用程序包装在其中的话,很多事情将无法正常工作的原因。

您可以找到有关WidgetApp here的更多信息
MaterialApp用于提供 Material 设计外观。

关于android - void main()=> runApp(MaterialApp(home:MyApp()))之间的区别;和void main()=> runApp(MyApp());,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61231069/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com