首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >立柱水平ListView

立柱水平ListView
EN

Stack Overflow用户
提问于 2022-03-01 23:12:40
回答 2查看 1.8K关注 0票数 1

我试图将具有水平滚动方向的ListView放入列中。我已经尝试过将ListView封装到一个灵活的和扩展的Widget中,没有任何工作。我注意到有几个线程,但是没有任何帮助:4 Horizontal Listviews in a Scrollable Column in FLutter Horizontal ListView总是会发生相同的异常。

这是我的构建方法:

代码语言:javascript
运行
复制
  @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'),
                      );
                    },
                  ),
                ],
              );
            },
          ),
        ),
      ),
    );
  }

发生下列错误:

代码语言:javascript
运行
复制
======== 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
====================================================================================================
EN

回答 2

Stack Overflow用户

发布于 2022-03-02 06:04:15

您需要用Sizedbox或Container包装您的ListView.separated并提供特定的高度。任何在颤振中的东西,如果scrollDirection是水平的,它需要高度。

代码语言:javascript
运行
复制
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'),
                 );
                },
               ),
             ),
票数 2
EN

Stack Overflow用户

发布于 2022-03-02 05:51:14

下面是列工作中ListView的一个简单代码,现在选中

代码语言:javascript
运行
复制
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"),


              ],
            ),
          ),
        ],


      )

    );
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71315665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档