【问题标题】:How to vertical align ListView in the middle如何在中间垂直对齐ListView
【发布时间】:2019-08-24 19:08:15
【问题描述】:

我希望我的列表项位于 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

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

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

    Container(
            alignment: Alignment.centerLeft,
            child: ListView.builder(
              itemBuilder: (context, index) {
                return Text("The index$index");
              },
              shrinkWrap: true,
              itemCount: 30,
            ),
          ),
    

    【讨论】:

    • 如果我使用shrinkwrap,我的ListView 的高度不再是700 或屏幕高度
    • @cyclick 您可以将容器的高度设置为 700,结果将相同,列表将根据内容更新高度,最大高度等于容器高度。
    【解决方案2】:

    对我来说,这段代码有效!

    @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 ...;
              }),
        );
      }
    

    【讨论】:

      【解决方案3】:

      我不明白你的意思是要对齐整个列表视图然后使用中心小部件并将列表视图对齐在中心,还是使用对齐小部件并手动对齐它

      Align(
        alignment: Alignment.centerRight,
        child: //here your list,
      )
      

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

      【讨论】:

      • 我要居中的是列表视图中的项目
      • 我真的不认为有必要这样做,但为了更好地帮助您,请记住一个问题,列表中还有其他元素吗?
      • @danypata 这是我所期望的link,我在羽毛link (AS3) 中这样做没有问题,我想将我的应用移植到flutter
      • 这是你要找的东西吗?
      猜你喜欢
      • 1970-01-01
      • 2016-03-24
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      • 2019-02-06
      • 2011-01-23
      • 2013-10-29
      • 2017-01-17
      相关资源
      最近更新 更多