下面的可滑动调整大小小部件

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

我正在使用Slidable,只要使用它,下面的小部件就会向上移动。

enter image description here

enter image description here

Widget buildItemList(BuildContext context, DocumentSnapshot document) {
    return new Container(
          child: Card(
          elevation: 10.0,
          margin: new EdgeInsets.symmetric(horizontal: 10.0, vertical: 10.0),
            child: Slidable(
                actionPane: SlidableDrawerActionPane(),
                //actionExtentRatio: 0.25,
                closeOnScroll: false,
                secondaryActions: <Widget>[
                  IconSlideAction(
                    caption: 'Delete',
                    color: Colors.red,
                    icon: Icons.delete,
                    onTap: (){},
                  )
                ],
            child: Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,

              // Unnecessary code was removed

              children: <Widget>[
                Container(
                  padding: const EdgeInsets.only(right: 12.0),
                  child: Row(
                    children: <Widget>[
                      Text('0'),
                      Text('/'),
                      Text(document['value'].toString())
                    ],)
                )          
              ]
            ),
        ),
      ),
    );
  }

我放在Slidable的位置无关紧要,它始终会调整小部件的大小。有人可以帮忙吗?

谢谢!

flutter dart formatting swipe
1个回答
0
投票

这将解决问题

      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
          Expanded(
            child: Container(
                height: double.maxFinite,
                width: double.maxFinite,
                padding: const EdgeInsets.only(right: 12.0),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.end,
                  children: <Widget>[
                    Text('0'),
                    Text('/'),
                    Text('value'.toString())
                  ],
                )),
          )
        ],
      ),

如果您不需要额外的功能,则可以删除两行,只需编写类似的内容

child: Container(
  alignment: Alignment.centerRight,
  padding: const EdgeInsets.only(right: 12.0),
  child: Text('0/${document['value'].toString()}'),
),
© www.soinside.com 2019 - 2024. All rights reserved.