定位的小部件导致孩子消失/异常
Posted
技术标签:
【中文标题】定位的小部件导致孩子消失/异常【英文标题】:Positioned Widget Causes Child To Disappear/Exception 【发布时间】:2019-07-04 12:22:32 【问题描述】:我目前正在学习 Flutter,我正在尝试使用 Stack 中的 Positioned 小部件将轮播放置在屏幕底部。目前,堆栈是一张地图,上面有旋转木马。当我使用定位的小部件将轮播移动到底部时,它消失了,我遇到了这个错误。
I/flutter (19228): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1578 pos 12: '!_debugDoingThisLayout': is not true.
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#51ed3 relayoutBoundary=up4 NEEDS-LAYOUT NEEDS-PAINT
Restarted application in 1,970ms.
I/flutter (19228): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (19228): The following assertion was thrown during performResize():
I/flutter (19228): Horizontal viewport was given unbounded width.
I/flutter (19228): Viewports expand in the scrolling direction to fill their container.In this case, a horizontal
I/flutter (19228): viewport was given an unlimited amount of horizontal space in which to expand. This situation
I/flutter (19228): typically happens when a scrollable widget is nested inside another scrollable widget.
I/flutter (19228): If this widget is always nested in a scrollable widget there is no need to use a viewport because
I/flutter (19228): there will always be enough horizontal space for the children. In this case, consider using a Row
I/flutter (19228): instead. Otherwise, consider using the "shrinkWrap" property (or a ShrinkWrappingViewport) to size
I/flutter (19228): the width of the viewport to the sum of the widths of its children.
I/flutter (19228):
I/flutter (19228): When the exception was thrown, this was the stack:
I/flutter (19228): #0 RenderViewport.performResize.<anonymous closure> (package:flutter/src/rendering/viewport.dart:1155:15)
I/flutter (19228): #1 RenderViewport.performResize (package:flutter/src/rendering/viewport.dart:1182:6)
I/flutter (19228): #2 RenderObject.layout (package:flutter/src/rendering/object.dart:1619:9)
I/flutter (19228): #3 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #4 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #5 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #6 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #7 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #8 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #9 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #11 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #12 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #13 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #14 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #15 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #17 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #19 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #20 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #21 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:258:13)
I/flutter (19228): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #23 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:549:15)
I/flutter (19228): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #25 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
I/flutter (19228): #26 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:339:7)
I/flutter (19228): #27 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
I/flutter (19228): #28 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
I/flutter (19228): #29 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #30 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #31 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #32 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #33 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1188:11)
I/flutter (19228): #34 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #35 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #36 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #37 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #38 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #39 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #40 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #41 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #42 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #43 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #44 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #45 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #46 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #47 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #48 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #49 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #50 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2881:13)
I/flutter (19228): #51 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #52 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:510:15)
I/flutter (19228): #53 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #54 __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #55 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #56 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #57 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #58 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #59 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #60 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #61 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #62 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #63 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #64 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #65 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #66 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #67 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #68 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #69 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #70 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #71 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #72 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #73 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #74 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #75 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #76 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #77 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #78 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #79 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #80 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #81 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2881:13)
I/flutter (19228): #82 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #83 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:510:15)
I/flutter (19228): #84 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #85 __RenderTheatre&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #86 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #87 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #88 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #89 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #90 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #91 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #92 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #93 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #94 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #95 _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:13)
I/flutter (19228): #96 RenderObject.layout (package:flutter/src/rendering/object.dart:1634:7)
I/flutter (19228): #97 RenderView.performLayout (package:flutter/src/rendering/view.dart:147:13)
I/flutter (19228): #98 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1509:7)
I/flutter (19228): #99 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:768:18)
I/flutter (19228): #100 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:281:19)
I/flutter (19228): #101 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:677:13)
I/flutter (19228): #102 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:219:5)
I/flutter (19228): #103 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (19228): #104 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (19228): #105 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:751:7)
I/flutter (19228): #107 _Timer._runTimers (dart:isolate/runtime/libtimer_impl.dart:382:19)
I/flutter (19228): #108 _Timer._handleMessage (dart:isolate/runtime/libtimer_impl.dart:416:5)
I/flutter (19228): #109 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
I/flutter (19228): (elided one frame from package dart:async)
I/flutter (19228):
I/flutter (19228): The following RenderObject was being processed when the exception was fired:
I/flutter (19228): RenderViewport#90797 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (19228): creator: Viewport ← _ScrollableScope ← IgnorePointer-[GlobalKey#3c2b1] ← Semantics ← Listener ←
I/flutter (19228): _GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#cd194] ←
I/flutter (19228): _ScrollSemantics-[GlobalKey#45621] ← RepaintBoundary ← CustomPaint ← RepaintBoundary ←
I/flutter (19228): NotificationListener<ScrollNotification> ← ⋯
I/flutter (19228): parentData: <none> (can use size)
I/flutter (19228): constraints: BoxConstraints(0.0<=w<=Infinity, h=180.0)
I/flutter (19228): size: MISSING
I/flutter (19228): axisDirection: right
I/flutter (19228): crossAxisDirection: down
I/flutter (19228): offset: _PagePosition#6c97d(offset: null, range: null..null, viewport: null, ScrollableState,
I/flutter (19228): PageScrollPhysics -> ClampingScrollPhysics, IdleScrollActivity#73c09, ScrollDirection.idle)
I/flutter (19228): anchor: 0.0
I/flutter (19228): This RenderObject had the following child:
I/flutter (19228): RenderSliverFillViewport#ce224 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (19228): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderViewport#90797 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderViewport#90797 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderIgnorePointer#598aa relayoutBoundary=up11 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#4c977 relayoutBoundary=up10 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderPointerListener#2c082 relayoutBoundary=up9 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderSemanticsGestureHandler#e6e8c relayoutBoundary=up8 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: _RenderScrollSemantics#92ccd relayoutBoundary=up7 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#443e3 relayoutBoundary=up6 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderCustomPaint#4e459 relayoutBoundary=up5 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#954aa relayoutBoundary=up4 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderDecoratedBox#1354c relayoutBoundary=up3 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderConstrainedBox#b5d9f relayoutBoundary=up2 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderDecoratedBox#1354c relayoutBoundary=up3
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#954aa relayoutBoundary=up4 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderConstrainedBox#b5d9f relayoutBoundary=up2
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderDecoratedBox#1354c relayoutBoundary=up3
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#954aa relayoutBoundary=up4 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1578 pos 12: '!_debugDoingThisLayout': is not true.
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderDecoratedBox#1354c relayoutBoundary=up3
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#954aa relayoutBoundary=up4 NEEDS-PAINT
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderDecoratedBox#1354c relayoutBoundary=up3
I/chatty (19228): uid=10100(com.example.mapview) Thread-2 identical 13 lines
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderDecoratedBox#1354c relayoutBoundary=up3
I/flutter (19228): Another exception was thrown: 'package:flutter/src/rendering/object.dart': Failed assertion: line 1578 pos 12: '!_debugDoingThisLayout': is not true.
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderDecoratedBox#1354c relayoutBoundary=up3
I/flutter (19228): Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#954aa relayoutBoundary=up4 NEEDS-PAINT
这是我的堆栈的代码
return new MaterialApp(
home: Scaffold(
appBar: new AppBar(title: new Text("Commonwealth Walkway Offline Map")),
body: Stack(
children: <Widget>[
FlutterMap(
mapController: mapController,
options: new MapOptions(
center: new LatLng(51.1747, -115.56934),
minZoom: 13.0,
maxZoom: 16.0,
zoom: 14.0,
swPanBoundary: LatLng(51.16968, -115.58628),
nePanBoundary: LatLng(51.1883, -115.5516),
),
layers: [
new TileLayerOptions(
offlineMode: true,
maxZoom: 16,
urlTemplate: "assets/map/banff/z/x/y.png",
),
new MarkerLayerOptions(
markers: generateMarkers(
markers,
swiperController.move,
_currentIndex,
LatLng(51.17360, -115.57140),
_direction)), //_currentLocation
],
),
Positioned(
bottom: 1.0,
child: Container(
color: Colors.blue,
height: 150.0,
child: Swiper(
itemBuilder: (BuildContext context, index)
return Carousels(markers[index], _update);
,
itemCount: markers.length,
viewportFraction: 0.8,
scale: 0.9,
loop: false,
controller: swiperController,
onIndexChanged: (index)
setState(()
_currentIndex = index;
);
,
),
),
)
],
),
),
);
Swiper/Carousel 包可以在这里找到:https://pub.dartlang.org/packages/flutter_swiper#-readme-tab-
【问题讨论】:
【参考方案1】:正如您的日志所述:
“约束:BoxConstraints(0.0
您必须定义Container
的宽度,它是您的Swiper
的父级。您还必须组织堆栈中未使用行和列定位的项目,以使其布局在不同屏幕上保持一致。
在您的Container
中添加这一行:
width: MediaQuery.of(context).size.width,
这将使您的Swiper
填满屏幕width
,您可以将其修改为任何其他值以适合您的设计。
【讨论】:
以上是关于定位的小部件导致孩子消失/异常的主要内容,如果未能解决你的问题,请参考以下文章