【问题标题】:Reverse list in ListView.builder in FlutterFlutter 中 ListView.builder 中的反向列表
【发布时间】:2019-08-01 09:47:30
【问题描述】:

我想反转列表,我通过使用reverse: true, 实现了这一点。它正在工作,但列表已与底部对齐,并在列表中包含最少项目时在顶部显示空白。

 Expanded(child:  ListView.builder(
                shrinkWrap: true,
                reverse: true,
                controller: _scrollController,
                itemCount:order_response.orderDetails.length,
                itemBuilder: (context, position) {return orderListItemTile(width,height,order_response,position);},
              ),)

但是当我删除expanded() 小部件时,当项目增加时,它会按像素溢出。

 ListView.builder(
            shrinkWrap: true,
            reverse: true,
            controller: _scrollController,
            itemCount:order_response.orderDetails.length,
            itemBuilder: (context, position) {return orderListItemTile(width,height,order_response,position);},
          ),

【问题讨论】:

    标签: android dart flutter


    【解决方案1】:

    除了反转列表之外,另一种解决方案可能是将 ListView 放在带有 alignment: Alignment.topCenterAlign 小部件中。在ListView 中也需要shrinkWrap: true

             Align(
                alignment: Alignment.topCenter,
                child: ListView.builder(
                  reverse: true,
                  shrinkWrap: true,
                  ...
                  ...
               )
             )
    

    【讨论】:

      【解决方案2】:

      使用以下方法反转您的列表:

      var reversedList = _response.orderDetails.reversed.toList();
      

      【讨论】:

      • val 不能用于在 Dart 中声明变量。也许你对它在 Kotlin 中的用法感到困惑?在这种情况下,finalvar 或使用类型本身是合适的。
      • 工作得很好。
      猜你喜欢
      • 2021-12-11
      • 2020-07-02
      • 2021-04-26
      • 2021-02-24
      • 2021-12-20
      • 2021-04-30
      • 2021-06-27
      • 2021-03-14
      • 2022-01-20
      相关资源
      最近更新 更多