dart – 找不到方向性小部件

dart – 找不到方向性小部件,第1张

概述我试图在颤动中创建一个简单的布局,但不断收到此错误: The following assertion was thrown building Text(“Deliver features faster”, textAlign: center): No Directionality widget found. 我认为问题可能在TextDirection类属性中,但我一直无法找到它. 这是我的代码: 我试图在颤动中创建一个简单的布局,但不断收到此错误:

The following assertion was thrown building Text(“Deliver features faster”,textAlign: center):
No Directionality Widget found.

我认为问题可能在TextDirection类属性中,但我一直无法找到它.

这是我的代码:

import 'package:Flutter/material.dart';import 'package:Flutter/Widgets.dart';voID main(){  runApp( new MyHome());}class MyHome extends StatelessWidget{  @overrIDe  Widget build(BuildContext context) {    // Todo: implement build    return new Material(      child: new Container(        color: colors.red,margin: const EdgeInsets.all(5.0),child: new Row(          children: <Widget>[            new Expanded(              child: new Text('Deliver features faster',textAlign: TextAlign.center),),new Expanded(              child: new Text('Craft beautiful UIs',new Expanded(              child: new FittedBox(                fit: BoxFit.contain,// otherwise the logo will be tiny                child: const Flutterlogo(),],)      ),);  }}

以下是错误的完整堆栈跟踪:

The following assertion was thrown building Text("Deliver features faster",textAlign: center):No Directionality Widget found.RichText Widgets require a Directionality Widget ancestor.The specific Widget that Could not find a Directionality ancestor was:  RichText(textAlign: center,softWrap: wrapPing at Box wIDth,maxlines: unlimited,text: "Deliver  features faster")The ownership chain for the affected Widget is:  RichText ← Text ← Expanded ← Row ← DecoratedBox ← padding ← Container ← DefaultTextStyle ←  AnimatedDefaultTextStyle ← _InkFeatures-[GlobalKey#978b7 ink renderer] ← ⋯Typically,the Directionality Widget is introduced by the MaterialApp or WidgetsApp Widget at thetop of your application Widget tree. It determines the ambIEnt reading direction and is used,forexample,to determine how to lay out text,how to interpret "start" and "end" values,and to resolveEdgeInsetsDirectional,AlignmentDirectional,and other *Directional objects.When the exception was thrown,this was the stack:#0      deBUGCheckHasDirectionality.<anonymous closure> (package:Flutter/src/Widgets/deBUG.dart:223:7)#1      deBUGCheckHasDirectionality (package:Flutter/src/Widgets/deBUG.dart:239:4)#2      RichText.createRenderObject (package:Flutter/src/Widgets/basic.dart:4245:37)#3      RenderObjectElement.mount (package:Flutter/src/Widgets/framework.dart:4259:28)#4      Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#5      Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#6      ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#7      Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#8      ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#9      ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#10     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#11     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#12     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#13     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#14     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#15     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#16     ParentDataElement.mount (package:Flutter/src/Widgets/framework.dart:3938:16)#17     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#18     MultiChildRenderObjectElement.mount (package:Flutter/src/Widgets/framework.dart:4738:32)#19     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#20     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#21     SingleChildRenderObjectElement.mount (package:Flutter/src/Widgets/framework.dart:4633:14)#22     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#23     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#24     SingleChildRenderObjectElement.mount (package:Flutter/src/Widgets/framework.dart:4633:14)#25     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#26     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#27     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#28     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#29     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#30     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#31     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#32     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#33     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#34     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#35     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#36     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#37     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#38     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#39     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#40     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#41     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#42     StatefulElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3752:22)#43     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#44     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#45     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#46     SingleChildRenderObjectElement.mount (package:Flutter/src/Widgets/framework.dart:4633:14)#47     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#48     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#49     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#50     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#51     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#52     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#53     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#54     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#55     SingleChildRenderObjectElement.mount (package:Flutter/src/Widgets/framework.dart:4633:14)#56     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#57     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#58     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#59     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#60     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#61     StatefulElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3752:22)#62     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#63     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#64     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#65     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#66     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#67     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#68     StatefulElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3752:22)#69     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#70     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#71     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#72     ComponentElement.performRebuild (package:Flutter/src/Widgets/framework.dart:3636:16)#73     Element.rebuild (package:Flutter/src/Widgets/framework.dart:3478:5)#74     ComponentElement._firstBuild (package:Flutter/src/Widgets/framework.dart:3605:5)#75     ComponentElement.mount (package:Flutter/src/Widgets/framework.dart:3600:5)#76     Element.inflateWidget (package:Flutter/src/Widgets/framework.dart:2890:14)#77     Element.updateChild (package:Flutter/src/Widgets/framework.dart:2693:12)#78     RenderObjectToWidgetElement._rebuild (package:Flutter/src/Widgets/binding.dart:852:16)#79     RenderObjectToWidgetElement.mount (package:Flutter/src/Widgets/binding.dart:823:5)#80     RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:Flutter/src/Widgets/binding.dart:769:17)#81     BuildOwner.buildScope (package:Flutter/src/Widgets/framework.dart:2205:19)#82     RenderObjectToWidgetAdapter.attachToRenderTree (package:Flutter/src/Widgets/binding.dart:768:13)#83     BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.attachRootWidget (package:Flutter/src/Widgets/binding.dart:657:7)#84     runApp (package:Flutter/src/Widgets/binding.dart:699:7)#85     main (/data/user/0/com.yourcompany.Flutterproject/cache/Flutter_projectENWZDI/Flutter_project/lib/main.dart:6:3)#86     _startIsolate.<anonymous closure> (dart:isolate-patch/dart:isolate/isolate_patch.dart:279)#87     _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:165)════════════════════════════════════════════════════════════════════════════════════════════════════Another exception was thrown: No Directionality Widget found.Another exception was thrown: Horizontal RenderFlex with multiple children has a null textDirection,so the layout order is undefined.Another exception was thrown: 'package:Flutter/src/rendering/Box.dart': Failed assertion: line 1446 pos 12: 'hasSize': is not true.uID=10079(com.yourcompany.Flutterproject) Thread-5 IDentical 2 linesAnother exception was thrown: 'package:Flutter/src/rendering/Box.dart': Failed assertion: line 1446 pos 12: 'hasSize': is not true.Another exception was thrown: 'package:Flutter/src/rendering/proxy_Box.dart': Failed assertion: line 1564 pos 12: 'hasSize': is not true.
解决方法 Flutter不知道文本是LTR还是RTL,所以你需要明确告诉他 textDirection

new Text("Hello",textDirection: TextDirection.ltr)

或者您可以使用Directionality小部件包装文本

new Directionality(          textDirection: TextDirection.ltr,child: new Text('Hello')

而且它的目的是:

A Widget that determines the ambIEnt directionality of text and
text-direction-sensitive render objects.

并且不需要为MaterialApp窗口小部件范围内的文本窗口小部件提供明确的书写方向,因为窗口小部件和材质库中的默认本地化是LTR

总结

以上是内存溢出为你收集整理的dart – 找不到方向性小部件全部内容,希望文章能够帮你解决dart – 找不到方向性小部件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1000507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存