这样的布局在 Flutter 中能否实现并高效渲染?
Example:
黄色和蓝色块都可以有大约 30 个元素,所以我想应该使用类似 ListView.builder 的东西。
我尝试过嵌套2个ListView.builder,内部带有shrinkWrap = true。黄色块是在需要时才构建的,但是蓝色列表虽然有 itemBuilder,但它会一次性构建所有子元素,从而导致性能问题。
new ListView.builder(
itemCount: 20,
itemBuilder: (BuildContext context, int blockIdx) {
print("Building block $blockIdx");
return new Column(
children: [
Padding(
child: Text("Block $blockIdx"),
padding: EdgeInsets.all(8.0)
),
ListView.builder(
shrinkWrap: true,
physics: ClampingScrollPhysics(),
itemCount: 30,
itemBuilder: (BuildContext context, int childIdx) {
print("Building block $blockIdx child $childIdx");
return Padding(
child: Text("Child $childIdx"),
padding: EdgeInsets.only(left: 20.0, right: 8.0, top: 8.0, bottom: 8.0),
);
},
);
],
);
},
);
提前致谢。