如何在flutter中滚动整行和ListView.builder?

问题描述 投票:0回答:1

我的函数中有这样的代码:

for (var i = 0; i < widget.menuItem.category.length; i++) ...[
      Flexible(
        flex: 6,
        child: ListView.builder(
          itemCount: widget.menuItem.category.length,
          itemBuilder: (BuildContext context, int index) {
            return Padding(
              padding: EdgeInsets.only(left: 16, right: 16, bottom: 4),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: <Widget>[
                  Container(
                    child: Text('Select ' + widget.menuItem.category[i]),
                    padding: EdgeInsets.only(
                        left: 16, right: 16, top: 8, bottom: 6),
                  ),
                  Container(
                    child: Text('Select ' +
                        _qty.toString() +
                        ' item (' +
                        _qty.toString() +
                        '/' +
                        widget.menuItem.setMenuItems.length.toString() +
                        ')'),
                    padding: EdgeInsets.only(
                        left: 16, right: 16, top: 8, bottom: 6),
                  ),
                ],
              ),
            );
          },
        ),
      ),
      _buildSetMenusView(setMenuItems: widget.menuItem.setMenuItems),
    ],

和 _buildSetMenusView 函数如下:

_buildSetMenusView({List<MenuItem> setMenuItems}) {
return Flexible(
  flex: 12,
  child: ListView.builder(
    itemCount: setMenuItems.length,
    itemBuilder: (BuildContext context, int index) {
      final isSelected = _selectedVariants.contains(setMenuItems[index]);
      return Padding(
        padding: EdgeInsets.only(left: 16, right: 16, bottom: 4),
        child: _buildSetMenuItemButton(
            setMenuItem: setMenuItems[index], isSelected: isSelected),
      );
    },
  ),
);}

它显示的用户界面如下:

我想要的UI是这样的:

可以滚动

如何更正当前代码以使其与所需/想要的 UI 相同?

flutter scroll row flutter-listview
1个回答
0
投票

在ListView.builder中添加

shrinkWrap
physics

ListView.builder(
   shrinkWrap: true,
   physics: const NeverScrollableScrollPhysics(),
   ...
);
© www.soinside.com 2019 - 2024. All rights reserved.