gpt4 book ai didi

dart - 渲染图像下方的可滚动列表

转载 作者:IT王子 更新时间:2023-10-29 06:35:13 25 4
gpt4 key购买 nike

我有一个可点击图像的 Livtview,当点击一个图像时,它会呈现另一个页面,该页面在原始图像上方有一个文本,我试图在图像之后添加一个 ListView ,该 ListView 也可以作为第一个列表滚动,但是没有顶部图像移动或此时任何一种方式都可以。我尝试像第一页那样构建 ListView ,但它一直出现视口(viewport)错误,所以我将 shrinkwrap 添加到 ListView ,现在我在屏幕底部看到一个红色条,它不会滚动到屏幕上可见的内容屏幕。

这是第二个 ListView 所在的一些代码。

@override
Widget build(BuildContext context) {
var _children = <Widget>[
new Center(
child: new Text(widget.spec.name,
style: new TextStyle(fontSize: 30.0, fontWeight: FontWeight.bold),
),
),
new Center(
child: new Container(
padding: new EdgeInsets.only(
left: 10.0, right: 10.0, top: 20.0, bottom: 10.0),
child: new Image.asset(widget.spec.pic.assetName),
)
),

new Center(
child: new Container(
padding: new EdgeInsets.only(
left: 10.0, right: 10.0, top: 20.0, bottom: 10.0),
child: new Text('Facilities for Specialty',
style: new TextStyle(fontSize: 30.0),
textAlign: TextAlign.center,
),
),
),

new RefreshIndicator(
child: new ListView.builder(
itemBuilder: _itemBuilder,
itemCount: listcount,
shrinkWrap: true,
scrollDirection: Axis.vertical,
),
onRefresh: _onRefresh,

),


];
return new Scaffold(
appBar: new AppBar(title: new Text("My Specialty")),
body: new Column(
children: _children,
),
);
}

有人有什么想法吗?

这是shrinkWrap 为false 时的错误。但是当它真正的滚动不起作用时。

The following assertion was thrown during performResize():
I/flutter ( 1519): Vertical viewport was given unbounded height.
I/flutter ( 1519): Viewports expand in the scrolling direction to fill their container.In this case, a vertical
I/flutter ( 1519): viewport was given an unlimited amount of vertical space in which to expand. This situation
I/flutter ( 1519): typically happens when a scrollable widget is nested inside another scrollable widget.
I/flutter ( 1519): If this widget is always nested in a scrollable widget there is no need to use a viewport because
I/flutter ( 1519): there will always be enough vertical space for the children. In this case, consider using a Column
I/flutter ( 1519): instead. Otherwise, consider using the "shrinkWrap" propery (or a ShrinkWrappingViewport) to size
I/flutter ( 1519): the height of the viewport to the sum of the heights of its children.
I/flutter ( 1519):
I/flutter ( 1519): When the exception was thrown, this was the stack:
I/flutter ( 1519): #0 RenderViewport.performResize.<anonymous closure> (package:flutter/src/rendering/viewport.dart:701)
I/flutter ( 1519): #2 RenderViewport.performResize (package:flutter/src/rendering/viewport.dart:696)
I/flutter ( 1519): #3 RenderObject.layout (package:flutter/src/rendering/object.dart:1854)
I/flutter ( 1519): #4 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #5 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #6 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #7 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #8 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #9 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #10 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #11 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #12 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #13 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #14 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #15 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #16 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:544)
I/flutter ( 1519): #17 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #18 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:124)
I/flutter ( 1519): #19 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:85)
I/flutter ( 1519): #20 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:194)
I/flutter ( 1519): #21 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:338)
I/flutter ( 1519): #22 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #23 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #24 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #25 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #26 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1015)
I/flutter ( 1519): #27 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #28 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #29 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #30 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #31 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #32 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #33 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #34 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:2609)
I/flutter ( 1519): #35 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #36 RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105)
I/flutter ( 1519): #37 RenderObject.layout (package:flutter/src/rendering/object.dart:1869)
I/flutter ( 1519): #38 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:433)
I/flutter ( 1519): #39 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1746)
I/flutter ( 1519): #40 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1041)
I/flutter ( 1519): #41 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:251)
I/flutter ( 1519): #42 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:504)
I/flutter ( 1519): #43 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:189)
I/flutter ( 1519): #44 BindingBase&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:688)
I/flutter ( 1519): #45 BindingBase&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:636)
I/flutter ( 1519): #46 _drawFrame (file:///b/build/slave/Linux_Engine/build/src/flutter/lib/ui/hooks.dart:70)
I/flutter ( 1519): (elided one frame from class _AssertionError)
I/flutter ( 1519):
I/flutter ( 1519): The following RenderObject was being processed when the exception was fired:
I/flutter ( 1519): RenderViewport#7f9aa NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 1519): creator: Viewport ← _ScrollableScope ← IgnorePointer-[GlobalKey#d069c] ← Listener ←
I/flutter ( 1519): _GestureSemantics ← RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#a4705] ←
I/flutter ( 1519): RepaintBoundary ← CustomPaint ← RepaintBoundary ← NotificationListener<ScrollNotification> ←
I/flutter ( 1519): GlowingOverscrollIndicator ← Scrollable ← ⋯
I/flutter ( 1519): parentData: <none> (can use size)
I/flutter ( 1519): constraints: BoxConstraints(0.0<=w<=411.4, 0.0<=h<=Infinity)
I/flutter ( 1519): size: MISSING
I/flutter ( 1519): AxisDirection.down
I/flutter ( 1519): offset: ScrollPositionWithSingleContext#0c3e5(offset: 0.0, range: null..null, viewport: null,
I/flutter ( 1519): ScrollableState, AlwaysScrollableScrollPhysics -> ClampingScrollPhysics, IdleScrollActivity#59379,
I/flutter ( 1519): ScrollDirection.idle)
I/flutter ( 1519): anchor: 0.0
I/flutter ( 1519): This RenderObject had the following child:
I/flutter ( 1519): RenderSliverList#bc50e NEEDS-LAYOUT NEEDS-PAINT
I/flutter ( 1519): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.
I/flutter ( 1519): Another exception was thrown: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1430: 'hasSize': is not true.

最佳答案

我会将您的 RefreshIndicatorListView 包装在 Expanded 中。这告诉 Flutter 他们想要消耗剩余的空间。您不需要 shr​​inkWrap 它。

关于dart - 渲染图像下方的可滚动列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45148378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com