如何在中间垂直对齐ListView

时间:2019-04-03 09:43:48

标签: dart flutter

我希望我的列表项位于ListView

的中间
@override Widget build(BuildContext context)
{
    List<String> listName = ['Woody', 'Buzz', 'Rex'];

    return Container
    (
      decoration: BoxDecoration(border: Border.all(color: Colors.pinkAccent)),
      width: 400,
      height: 700,
      alignment: Alignment.centerLeft,
      child: ListView.builder
      (
        itemCount: listName.length,
        itemBuilder: (context, index)
        {
          return OurName(listName[index]);
        },
      ),
    );
}

这是我使用shrinkWrap时的状态,当我向上滚动时,它被截断并且无法向下滚动 shrinkWrap

这就是我所期望的expected

3 个答案:

答案 0 :(得分:0)

问题的关键是shrinkWrap的{​​{1}}属性。因此,要解决此问题,您可以执行以下操作:

ListView

答案 1 :(得分:0)

我没有得到您想要的意思是要对齐整个列表视图,然后使用中心小部件并在中心对齐列表视图,还是使用对齐小部件并通过

手动对其进行对齐
Container(
        alignment: Alignment.centerLeft,
        child: ListView.builder(
          itemBuilder: (context, index) {
            return Text("The index$index");
          },
          shrinkWrap: true,
          itemCount: 30,
        ),
      ),

如果那不是您想要的,或者没有完成任务,请解释更多。

答案 2 :(得分:0)

对我来说,这是我的代码!

@override
  Widget build(BuildContext context) {
    return Container(
      height: double.infinity,
      width: double.infinity,
      alignment: Alignment.center,
      child: ListView.builder(
          shrinkWrap: true,
          itemCount:rows.length,
          itemBuilder: (
            context,
            index,
          ) {
            return ...;
          }),
    );
  }