我的ListView可以在没有行代码的情况下正常工作,但是我需要在listView的最后一个元素下放置一个textfield和一个按钮。都在同一高度。所以我才想要用Row。但是如果我试图在我的listView下写它并启动这个应用程序,我什么也看不到,甚至listView也看不见。作为一个错误,它只向我报告:
相关的导致错误的小部件是: file:///Users/apple/Desktop/Work%202021/toduba-merchant/lib/tabs/home_tab.dart:95:22,当异常被抛出时,这是堆栈:#0 (package:flutter/src/rendering/viewport.dart:649:25) #1 RenderViewportBase.paint (package:flutter/src/rendering/viewport.dart:641:7) #2 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2322:7) #3 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:140:11) 4 PaintingContext.repaintCompositedChild (包:颤振/src/rendering/object.dart:100:5)触发异常时正在处理以下RenderObject : RenderViewport#ba090 .需要复合..。parentData:(可以使用大小) ..。约束: BoxConstraints(w=375.0,h=474.9)层: OffsetLayer#32030分离.发动机层: Null#007db .抵销:抵销(0.0,0.0)尺寸:尺寸(375.0,474.9) .axisDirection:下来..。crossAxisDirection:对..。偏移量:ScrollPositionWithSingleContext#d8a7b(偏移量: 0.0,范围: null..null,视窗: 474.9,ScrollableState,BouncingScrollPhysics -> RangeMaintainingScrollPhysics,IdleScrollActivity#f75ff,ScrollDirection.idle)锚: 0.0 RenderObject: RenderViewport#ba090需要组合parentData:(可以使用大小)约束: BoxConstraints(w=375.0,h=474.9)层: OffsetLayer#32030分离引擎层: Null#007db偏移:偏移量:大小(375.0,474.9) axisDirection:向下偏移:ScrollPositionWithSingleContext#d8a7b(偏移: 0.0,范围: null..null,视图端口: 474.9,ScrollableState,BouncingScrollPhysics -> RangeMaintainingScrollPhysics,IdleScrollActivity#f75ff,RangeMaintainingScrollPhysics)锚: 0.0 .中心儿童: RenderSliverPadding#7222a relayoutBoundary=up1需要-油漆.需要复合..。parentData: paintOffset=Offset(0.0,0.0) (可以使用大小)约束: SliverConstraints(AxisDirection.down、GrowthDirection.forward、ScrollDirection.idle、scrollOffset: 0.0、remainingPaintExtent: 474.9、crossAxisExtent: 375.0、crossAxisDirection: AxisDirection.right、viewportMainAxisExtent: 474.9、remainingCacheExtent: 724.9、cacheOrigin: 0.0)几何学:零。填充: EdgeInsets.all(20.0) .textDirection: ltr .孩子: RenderSliverList#9d74e relayoutBoundary=up2需要-油漆.需要复合..。parentData: paintOffset=Offset(0.0,0.0) (可以使用大小)约束: SliverConstraints(AxisDirection.down、GrowthDirection.forward、ScrollDirection.idle、scrollOffset: 0.0、remainingPaintExtent: 454.9、crossAxisExtent: 335.0、crossAxisDirection: AxisDirection.right、viewportMainAxisExtent: 474.9、remainingCacheExtent: 704.9、cacheOrigin: 0.0)几何学:零。目前还活着的儿童:0到3.索引0的孩子: RenderIndexedSemantics#3b488 relayoutBoundary=up3 relayoutBoundary=up3油漆.需要复合..。parentData: index=0;layoutOffset=0.0 (可以使用大小).约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)语义边界..。尺寸:尺寸(335.0,29.0) .指数:0。孩子: RenderRepaintBoundary#8cd41 relayoutBoundary=up4需要-油漆.需要复合..。parentData:(可以使用大小) ..。约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)尺寸:尺寸(335.0,29.0) .有用率:尚未收集任何指标(从未绘制).有索引1的孩子: RenderIndexedSemantics#c3e1f relayoutBoundary=up3需要-油漆.需要复合..。parentData: index=1;layoutOffset=29.0 (可以使用大小).约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)语义边界..。尺寸:尺寸(335.0,260.0) .指数:1.孩子: RenderRepaintBoundary#16c99 relayoutBoundary=up4需要-油漆.需要复合..。parentData:(可以使用大小) ..。约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)尺寸:尺寸(335.0,260.0) .有用率:尚未收集任何指标(从未绘制).有索引2的孩子: RenderIndexedSemantics#967b1 relayoutBoundary=up3需要-油漆.需要复合..。parentData: index=2;layoutOffset=289.0 (可以使用大小).约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)语义边界..。尺寸:尺寸(335.0,22.0)。索引:2.孩子: RenderRepaintBoundary#348b5 relayoutBoundary=up4需要-油漆.需要复合..。parentData:(可以使用大小) ..。约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)尺寸:尺寸(335.0,22.0)。有用率:尚未收集任何指标(从未绘制).有索引3的孩子: RenderIndexedSemantics#047b6 relayoutBoundary=up3需要-油漆.需要复合..。parentData: index=3;layoutOffset=311.0 (可以使用大小).约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)语义边界..。尺寸:失踪..。指数:3.孩子: RenderRepaintBoundary#af13c relayoutBoundary=up4需要-油漆.需要复合..。parentData:(可以使用大小) ..。约束: BoxConstraints(w=335.0,0.0<=h<=Infinity)尺寸:失踪..。有用性比率:尚未收集任何指标(从未绘制)
return Container(
color: appColors.primaryColor,
child: ListView(
primary: false,
children: [
// TITOLO
Align(
alignment: Alignment.center,
child: Container(
child: Text(
localization.showQR,
style: Theme.of(context).primaryTextTheme.headline5.copyWith(
color: appColors.green,
fontWeight: FontWeight.bold,
),
),
),
),
Align(
alignment: Alignment.center,
child: Container(
child: qrCodeHolder
),
),
Align(
alignment: Alignment.center,
child: Container(
child: AutoSizeText(
localization.home_subLabel,
textAlign: TextAlign.center,
maxLines: 1,
style: Theme.of(context).primaryTextTheme.headline5.copyWith(
color: appColors.green,
fontWeight: FontWeight.bold,
),
),
),
),
Positioned(
//top: size.height * .02,
//right: size.width * .02,
child: Row(
children: [
TextField(
inputFormatters: [
new LengthLimitingTextInputFormatter(7),
],
decoration: InputDecoration(
filled: true,
fillColor: Colors.white,
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
),
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 18.0,
color: Colors.black,
),
),
IconButton(
icon: Image.asset("assets/images/send.png"),
onPressed: () => showDialog(context: context, builder: (_) => PaymentDialog()),
),
Text("dfjbsdifbsdf"),
]
),
),
],
padding: EdgeInsets.all(20.0),
),
);发布于 2021-03-26 08:45:50
您需要将您的TextField包装在一个扩展小部件或一个宽度有限的容器中。这是因为Row假定它可以使用最大宽度,而TextField和TextFormField小部件默认情况下尝试获取最大宽度。
通过把它们放在一起,你就会得到你正在犯的错误。
对于TextField,在一行中,必须用Expanded或Flexible包装。
Row(
children: [
Expanded(
child: TextField ()
)
])https://stackoverflow.com/questions/66813508
复制相似问题