import 'package:flutter/material.dart';
import 'package:flutter_swiper/flutter_swiper.dart';
class HomeView extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Home'),
),
body: Column(
children: <Widget>[
Text('1'),
Text('2'),
Text('3'),
Text('4'),
GetHttp(),
GetBanner(),
],
),
);
}
}
class GetHttp extends StatefulWidget {
@override
_GetHttpState createState() => _GetHttpState();
}
class _GetHttpState extends State<GetHttp> {
@override
Widget build(BuildContext context) {
return GridView.count(
crossAxisCount: 2,
children: <Widget>[
Container(
child: Image.asset('images/swipe_1.jpeg',fit: BoxFit.cover,),
),
Container(
child: Image.asset('images/swipe_2.jpeg',fit: BoxFit.cover,),
),
Container(
child: Image.asset('images/swipe_3.jpeg',fit: BoxFit.cover,),
),
Container(
child: Image.asset('images/swipe_4.jpeg',fit: BoxFit.cover,),
),
],
);
}
}
// 轮播图
class GetBanner extends StatefulWidget {
@override
_GetBannerState createState() => _GetBannerState();
}
class _GetBannerState extends State<GetBanner> {
@override
Widget build(BuildContext context) {
return Container(
child: Swiper(
itemBuilder: (BuildContext context, int index) {
return new Image.asset('images/swipe_${index+1}.jpeg', fit: BoxFit.fill,);
},
itemCount: 4,
pagination: new SwiperPagination(),
control: new SwiperControl(
iconPrevious: null,
iconNext: null,
),
)
);
}
}
我加了后面两个 statefulWidget
类型的 GetHttp
就报错了,,,
该用什么widget
?
报错信息:
Performing hot reload... ⣻flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
flutter: The following assertion was thrown during performResize():
flutter: Vertical viewport was given unbounded height.
flutter: Viewports expand in the scrolling direction to fill their container.In this case, a vertical
flutter: viewport was given an unlimited amount of vertical space in which to expand. This situation
flutter: typically happens when a scrollable widget is nested inside another scrollable widget.
flutter: If this widget is always nested in a scrollable widget there is no need to use a viewport because
flutter: there will always be enough vertical space for the children. In this case, consider using a Column
flutter: instead. Otherwise, consider using the "shrinkWrap" property (or a ShrinkWrappingViewport) to size
flutter: the height of the viewport to the sum of the heights of its children.
flutter:
flutter: Widget creation tracking is currently disabled. Enabling it enables improved error messages. It can
flutter: be enabled by passing `--track-widget-creation` to `flutter run` or `flutter test`.
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0 RenderViewport.performResize.<anonymous closure> (package:flutter/src/rendering/viewport.dart:1165:15)
flutter: #1 RenderViewport.performResize (package:flutter/src/rendering/viewport.dart:1218:6)
flutter: #2 RenderObject.layout (package:flutter/src/rendering/object.dart:1686:9)
flutter: #3 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #4 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #5 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #6 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #7 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #8 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #12 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #14 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #15 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:744:15)
flutter: #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #17 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
flutter: #18 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:444:7)
flutter: #19 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
flutter: #20 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
flutter: #21 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #23 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #25 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
flutter: #26 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #27 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
flutter: #28 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:444:7)
flutter: #29 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
flutter: #30 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
flutter: #31 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #32 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #33 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #34 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #35 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
flutter: #36 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #37 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:142:11)
flutter: #38 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:444:7)
flutter: #39 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:212:7)
flutter: #40 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:356:14)
flutter: #41 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #43 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #45 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1232:11)
flutter: #46 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #48 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #50 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #52 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #53 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:510:15)
flutter: #54 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #56 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #58 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #60 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #62 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #63 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #64 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #65 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #66 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3140:13)
flutter: #67 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #68 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:510:15)
flutter: #69 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #71 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #73 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #75 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #76 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #77 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
flutter: #79 RenderObject.layout (package:flutter/src/rendering/object.dart:1701:7)
flutter: #80 RenderView.performLayout (package:flutter/src/rendering/view.dart:152:13)
flutter: #81 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1578:7)
flutter: #82 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:844:18)
flutter: #83 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:341:19)
flutter: #84 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:761:13)
flutter: #85 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:280:5)
flutter: #86 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1033:15)
flutter: #87 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:975:9)
flutter: #88 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:784:7)
flutter: #90 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:382:19)
flutter: #91 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
flutter: #92 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
flutter: (elided one frame from package dart:async-patch)
flutter:
flutter: The following RenderObject was being processed when the exception was fired: RenderViewport#3e402 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE:
flutter: needs compositing
flutter: creator: Viewport ← IgnorePointer-[GlobalKey#183b2] ← Semantics ← _PointerListener ← Listener ←
flutter: _GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#a4cde] ←
flutter: _PointerListener ← Listener ← _ScrollableScope ← _ScrollSemantics-[GlobalKey#f52a7] ← Scrollable ←
flutter: ⋯
flutter: parentData: <none> (can use size)
flutter: constraints: BoxConstraints(0.0<=w<=414.0, 0.0<=h<=Infinity)
flutter: layer: OffsetLayer#0ac41 DETACHED
flutter: size: MISSING
flutter: axisDirection: down
flutter: crossAxisDirection: right
flutter: offset: ScrollPositionWithSingleContext#d6235(offset: 0.0, range: null..null, viewport: null,
flutter: ScrollableState, AlwaysScrollableScrollPhysics -> BouncingScrollPhysics, IdleScrollActivity#2245c,
flutter: ScrollDirection.idle)
flutter: anchor: 0.0
flutter: This RenderObject had the following descendants (showing up to depth 5):
flutter: center child: RenderSliverPadding#48a7c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: child: RenderSliverGrid#8bb85 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: RenderBox was not laid out: RenderViewport#3e402 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderViewport#3e402 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderIgnorePointer#bfb07 relayoutBoundary=up13 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#96d37 relayoutBoundary=up12 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderPointerListener#073bd relayoutBoundary=up11 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderSemanticsGestureHandler#f3f0e relayoutBoundary=up10 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderPointerListener#79bd7 relayoutBoundary=up9 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: _RenderScrollSemantics#9c289 relayoutBoundary=up8 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
flutter: Another exception was thrown: RenderBox was not laid out: RenderViewport#3e402 NEEDS-PAINT
Reloaded 0 of 590 libraries in 436ms.
这里查看滚动相关的布局
https://flutterchina.club/widgets/scrolling/