如何减少ListView.builder中RaisedButton的宽度?

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

我似乎无法弄清楚如何减少RaisedButton内的ListView.builder的宽度。

ListView.builder(
          itemCount: streetList.length,
          itemBuilder: (context, index) {
            bool first = 0 == (index);
            bool last = streetList.length - 1 == (index);
            EdgeInsets itemEdges = EdgeInsets.only(bottom: 20);

            if (first) {
              itemEdges = EdgeInsets.only(top: 50, bottom: 20);
            } else if (last) {
              itemEdges = EdgeInsets.only(bottom: 50);
            }

            return Container(
              margin: EdgeInsets.symmetric(horizontal: 30),
              padding: itemEdges,
              child: SizedBox(
                // height: 50,
                child: RaisedButton(
                  child: Text(streetList[index]),
                  onPressed: () {
                    Navigator.push(
                      context,
                      MaterialPageRoute(
                        builder: (context) => StreetNumberList(
                            widget.peopleList, (streetList[index])),
                      ),
                    );
                  },
                ),
              ),
            );
          }),

我明白了:

enter image description here

我正在尝试减小RaisedButtons的宽度,但似乎ListView.builder项目设置为始终使用最大宽度。我怎样才能覆盖它?

谢谢!

dart flutter
1个回答
1
投票

如果你想要RaisedButton的默认大小,只需将Align小部件添加为父级

    return Container(
                  margin: EdgeInsets.symmetric(horizontal: 30),
                  padding: itemEdges,
                  child: Align(
                      child: RaisedButton(
                        child: Text("index: $index"),
                        onPressed: () {},

                    ),
                  ),
                );

如果你想改变大小,请使用SizedBox里面的Align

    return Container(
                  margin: EdgeInsets.symmetric(horizontal: 30),
                  padding: itemEdges,
                  child: Align(
                    child: SizedBox(
                      width: 250,
                      child: RaisedButton(
                        child: Text("index: $index"),
                        onPressed: () {},
                      ),
                    ),
                  ),
                );
© www.soinside.com 2019 - 2024. All rights reserved.