当涉及ListView时,我很难将各个项目放在一起。
我有此代码:
def y_ODE(x,y): return [y[1], -0.5*f(x)*y[1]]
它给了我左边的结果,但是我想要右边的结果:
我试图将ListView放在一个容器中(带有body:
Column(
children: [
Text('foo'),
Expanded(
child: ListView.builder(
controller: ...,
itemCount: ...,
itemBuilder: ...
)
),
Text('bar')
]
)
,
),但是它给了我一个height: double.maxFinite
。
编辑 :这是我要实现的结果(在“整页”中运行代码段):
Bottom overflowed by X pixels
body {
font-size: 18px;
margin: 0;
padding: 0;
}
.mobile {
position: relative;
width: 320px;
margin: 0 auto;
border: 1px solid cyan;
max-height: 400px;
overflow-y: scroll;
padding-top: 41px;
}
.appbar {
position: fixed;
top: 0;
width: 300px;
background: rgba(0, 0, 0, 1);
color: white;
padding: 10px;
}
.text {
background: rgba(255, 0, 0, .3);
padding: 10px;
}
.list-view {
background: rgba(0, 255, 0, .3);
padding: 10px;
min-height: 500px;
}
答案 0 :(得分:1)
您必须使用CustomScrollView
CustomScrollView(
slivers: <Widget>[
SliverToBoxAdapter(
child: Text("Text"),
),
SliverList(
delegate: SliverChildListDelegate( [
Container(
height: 200.0,
decoration: BoxDecoration(color: Colors.orange),
),
Container(
height: 400.0,
decoration: BoxDecoration(color: Colors.pink),
),
Container(
height: 500.0,
decoration: BoxDecoration(color: Colors.blue),
)
]),
),
SliverToBoxAdapter(
child: Text("Text"),
),
],
)
请注意,您可以使用SliverChildListDelegate或SliverChildBuilderDelegate
答案 1 :(得分:0)
尝试这个
ExpandableRecyclerAdapter<T>.ViewHolder
这段代码对我有用。
答案 2 :(得分:0)
您可以将顶部和底部的foo和bar添加为列表的第一项和最后一项。 init_app
将有ListView
个项目。
list.length + 2