我试图将具有水平滚动方向的ListView放入列中。我已经尝试过将ListView封装到一个灵活的和扩展的Widget中,没有任何工作。我注意到有几个线程,但是没有任何帮助:4 Horizontal Listviews in a Scrollable Column in FLutter Horizontal ListView总是会发生相同的异常。
这是我的构建方法:
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(color: Colors.grey.shade100),
child: Scaffold(
body: NestedScrollView(
controller: _scrollController,
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
return [
SliverAppBar(
expandedHeight: 10.h,
centerTitle: true,
floating: false,
pinned: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(20),
bottomRight: Radius.circular(40))),
backgroundColor: kPrimaryColor,
flexibleSpace: FlexibleSpaceBar.createSettings(
child: FlexibleSpaceBar(
titlePadding: EdgeInsets.only(left: 0),
centerTitle: false,
title: Container(
width: 70.w,
child: Image.asset(
'assets/images/app_logo.png',
),
decoration: BoxDecoration(),
),
background: Container(
height: 10.h,
width: 100.w,
decoration: BoxDecoration(
color: kPrimaryColor,
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(20),
bottomRight: Radius.circular(40)),
),
),
),
currentExtent: currentExtent,
maxExtent: maxExtent,
),
),
];
},
body: Consumer<HomeModel>(
builder: (_, provider, a) {
return Column(
children: [
Container(
width: 100.w,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Wrap(
spacing: 1.w,
children: [
SizedBox(
width: 0.1.h,
),
for (int i = 0;
i < provider.categoryChips.length;
i++)
_buildCategoryFilterChip(i, provider),
SizedBox(
width: 0.1.h,
),
],
),
),
),
/************************************************************
* This following ListView throws the exception. ************
************************************************************/
ListView.separated(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: 20,
separatorBuilder: (_, __) => const Divider(),
itemBuilder: (context, int index) {
return ListTile(
title: Text('Item at $index'),
);
},
),
],
);
},
),
),
),
);
}
发生下列错误:
======== Exception caught by rendering library =====================================================
The following assertion was thrown during performLayout():
RenderBox was not laid out: RenderRepaintBoundary#1d5ca relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1929 pos 12: 'hasSize'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
The relevant error-causing widget was:
Column Column:file:///C:/Users/mm/StudioProjects/core/lib/ui/screens/_central/tabs/home/home_tab.dart:128:22
When the exception was thrown, this was the stack:
#2 RenderBox.size (package:flutter/src/rendering/box.dart:1929:12)
#3 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:57:18)
#4 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:829:43)
#5 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:931:32)
#6 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#7 RenderSliverFillRemainingWithScrollable.performLayout (package:flutter/src/rendering/sliver_fill.dart:92:14)
#8 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#9 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:510:13)
#10 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1580:12)
#11 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1489:20)
#12 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#14 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#15 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#16 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#18 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#20 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#22 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#24 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#26 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#28 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:545:11)
#29 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#31 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#32 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#33 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1097:7)
#34 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
#35 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
#36 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#38 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#40 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1388:11)
#41 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#43 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#45 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#46 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#47 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#48 RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:240:19)
#49 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#50 RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:137:12)
#51 _RenderSliverFractionalPadding.performLayout (package:flutter/src/widgets/sliver_fill.dart:167:11)
#52 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#53 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:510:13)
#54 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1580:12)
#55 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1489:20)
#56 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#58 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#60 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#62 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#63 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#64 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#65 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#66 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#67 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#68 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#69 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#70 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#71 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#72 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:545:11)
#73 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#75 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#76 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#77 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1097:7)
#78 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
#79 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
#80 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#82 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#83 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#84 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1388:11)
#85 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#86 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#87 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#88 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#89 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#90 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#91 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#92 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#93 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#95 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#96 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#97 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#98 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#99 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3422:13)
#100 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#101 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#102 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#103 _RenderTheatre.performLayout (package:flutter/src/widgets/overlay.dart:745:15)
#104 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#105 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#106 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#107 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#108 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#109 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#110 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#111 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#112 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#113 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#114 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#115 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#116 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#117 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#118 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#119 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:365:14)
#120 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#121 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:365:14)
#122 RenderObject.layout (package:flutter/src/rendering/object.dart:1858:7)
#123 RenderView.performLayout (package:flutter/src/rendering/view.dart:165:14)
#124 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1713:7)
#125 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:885:18)
#126 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:453:19)
#127 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:13)
#128 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:319:5)
#129 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
#130 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
#131 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:863:7)
(elided 6 frames from class _AssertionError, class _RawReceivePortImpl, class _Timer, and dart:async-patch)
The following RenderObject was being processed when the exception was fired: RenderFlex#7e932 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... needs compositing
... parentData: paintOffset=Offset(0.0, -0.0)
... constraints: BoxConstraints(w=392.7, h=592.8)
... size: MISSING
... direction: vertical
... mainAxisAlignment: start
... mainAxisSize: max
... crossAxisAlignment: center
... verticalDirection: down
RenderObject: RenderFlex#7e932 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
needs compositing
parentData: paintOffset=Offset(0.0, -0.0)
constraints: BoxConstraints(w=392.7, h=592.8)
size: MISSING
direction: vertical
mainAxisAlignment: start
mainAxisSize: max
crossAxisAlignment: center
verticalDirection: down
... child 1: RenderConstrainedBox#759ba relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... needs compositing
... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: Size(392.7, 48.0)
... additionalConstraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... child: RenderRepaintBoundary#f3542 relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... layer: OffsetLayer#f93e7
... engine layer: OffsetEngineLayer#01287
... handles: 2
... offset: Offset(0.0, 140.3)
... size: Size(392.7, 48.0)
... metrics: 66.7% useful (2 bad vs 4 good)
... diagnosis: this is a useful repaint boundary and should be kept
... child: RenderCustomPaint#a8458 relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... size: Size(392.7, 48.0)
... child: RenderRepaintBoundary#adb4d relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... layer: OffsetLayer#3354f
... engine layer: OffsetEngineLayer#1d243
... handles: 2
... offset: Offset(0.0, 0.0)
... size: Size(392.7, 48.0)
... metrics: 66.7% useful (2 bad vs 4 good)
... diagnosis: this is a useful repaint boundary and should be kept
... child 2: RenderRepaintBoundary#1d5ca relayoutBoundary=up1 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... needs compositing
... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: MISSING
... usefulness ratio: no metrics collected yet (never painted)
... child: RenderCustomPaint#c682d relayoutBoundary=up2 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: MISSING
... child: RenderRepaintBoundary#498de relayoutBoundary=up3 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: MISSING
... usefulness ratio: no metrics collected yet (never painted)
... child: _RenderScrollSemantics#697ae relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... semantic boundary
... size: MISSING
====================================================================================================
======== Exception caught by rendering library =====================================================
The following assertion was thrown during paint():
RenderBox was not laid out: RenderRepaintBoundary#1d5ca relayoutBoundary=up1 NEEDS-PAINT
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1929 pos 12: 'hasSize'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
The relevant error-causing widget was:
Column Column:file:///C:/Users/mm/StudioProjects/core/lib/ui/screens/_central/tabs/home/home_tab.dart:128:22
When the exception was thrown, this was the stack:
#2 RenderBox.size (package:flutter/src/rendering/box.dart:1929:12)
#3 RenderBox.paintBounds (package:flutter/src/rendering/box.dart:2567:41)
#4 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:140:56)
#5 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
#6 PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:206:7)
#7 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:187:7)
#8 RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2794:15)
#9 RenderFlex.paint (package:flutter/src/rendering/flex.dart:1078:7)
#10 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#11 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
#12 RenderSliverSingleBoxAdapter.paint (package:flutter/src/rendering/sliver.dart:1779:15)
#13 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#14 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:189:13)
#15 RenderViewportBase._paintContents (package:flutter/src/rendering/viewport.dart:660:17)
#16 PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:398:12)
#17 PaintingContext.pushClipRect (package:flutter/src/rendering/object.dart:454:7)
#18 RenderViewportBase.paint (package:flutter/src/rendering/viewport.dart:635:38)
#19 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2409:7)
#20 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:141:11)
#21 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:100:5)
#22 PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:979:29)
#23 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:455:19)
#24 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:883:13)
#25 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:319:5)
#26 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15)
#27 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9)
#28 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:863:7)
(elided 6 frames from class _AssertionError, class _RawReceivePortImpl, class _Timer, and dart:async-patch)
The following RenderObject was being processed when the exception was fired: RenderFlex#7e932
... needs compositing
... parentData: paintOffset=Offset(0.0, -0.0)
... constraints: BoxConstraints(w=392.7, h=592.8)
... size: MISSING
... direction: vertical
... mainAxisAlignment: start
... mainAxisSize: max
... crossAxisAlignment: center
... verticalDirection: down
RenderObject: RenderFlex#7e932
needs compositing
parentData: paintOffset=Offset(0.0, -0.0)
constraints: BoxConstraints(w=392.7, h=592.8)
size: MISSING
direction: vertical
mainAxisAlignment: start
mainAxisSize: max
crossAxisAlignment: center
verticalDirection: down
... child 1: RenderConstrainedBox#759ba relayoutBoundary=up1
... needs compositing
... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: Size(392.7, 48.0)
... additionalConstraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... child: RenderRepaintBoundary#f3542 relayoutBoundary=up2
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... layer: OffsetLayer#f93e7
... engine layer: OffsetEngineLayer#01287
... handles: 2
... offset: Offset(0.0, 140.3)
... size: Size(392.7, 48.0)
... metrics: 75.0% useful (2 bad vs 6 good)
... diagnosis: this is a useful repaint boundary and should be kept
... child: RenderCustomPaint#a8458 relayoutBoundary=up3
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... size: Size(392.7, 48.0)
... child: RenderRepaintBoundary#adb4d relayoutBoundary=up4
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(w=392.7, 0.0<=h<=Infinity)
... layer: OffsetLayer#3354f
... engine layer: OffsetEngineLayer#1d243
... handles: 2
... offset: Offset(0.0, 0.0)
... size: Size(392.7, 48.0)
... metrics: 75.0% useful (2 bad vs 6 good)
... diagnosis: this is a useful repaint boundary and should be kept
... child 2: RenderRepaintBoundary#1d5ca relayoutBoundary=up1 NEEDS-PAINT
... needs compositing
... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... layer: OffsetLayer#33ab1 DETACHED
... handles: 1
... offset: Offset(0.0, 0.0)
... size: MISSING
... metrics: 0.0% useful (1 bad vs 0 good)
... diagnosis: insufficient data to draw conclusion (less than five repaints)
... child: RenderCustomPaint#c682d relayoutBoundary=up2 NEEDS-PAINT
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: MISSING
... child: RenderRepaintBoundary#498de relayoutBoundary=up3 NEEDS-PAINT
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... size: MISSING
... usefulness ratio: no metrics collected yet (never painted)
... child: _RenderScrollSemantics#697ae relayoutBoundary=up4 NEEDS-PAINT
... needs compositing
... parentData: <none> (can use size)
... constraints: BoxConstraints(0.0<=w<=392.7, 0.0<=h<=Infinity)
... semantic boundary
... size: MISSING
====================================================================================================
发布于 2022-03-02 06:04:15
您需要用Sizedbox或Container包装您的ListView.separated并提供特定的高度。任何在颤振中的东西,如果scrollDirection是水平的,它需要高度。
SizedBox(
height: 50,
child: ListView.separated(
scrollDirection: Axis.horizontal,
shrinkWrap: true,
itemCount: 20,
separatorBuilder: (_, __) => const Divider(),
itemBuilder: (context, int index) {
return ListTile(
title: Text('Item at $index'),
);
},
),
),
发布于 2022-03-02 05:51:14
下面是列工作中ListView的一个简单代码,现在选中
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({Key? key, required this.title}) : super(key: key);
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Column(
children: [
Expanded(
child: ListView(
scrollDirection: Axis.horizontal,
children: [
Text("sdf"),
Text("sdf"),
Text("sdf"),
],
),
),
],
)
);
}
}
https://stackoverflow.com/questions/71315665
复制相似问题