如何在颤动的列表视图中设置卡片的宽度?

时间:2020-06-19 14:04:03

标签: flutter listview dart resize card

我有一张卡片清单,但是当我更改卡片的宽度时,它仍然与父容器的宽度相同。我尝试用大小合适的盒子或容器包装listview,card甚至scrollView,但没有任何效果。

  Container(
              height: MediaQuery.of(context).size.height * 0.6,
              width: MediaQuery.of(context).size.width * 0.8,
              decoration: BoxDecoration(
                color: kWhiteColor,
                borderRadius: BorderRadius.all(
                    Radius.circular(MediaQuery.of(context).size.height * 0.02)),
              ),
              child: Padding(
                padding:
                    EdgeInsets.all(MediaQuery.of(context).size.height * 0.015),
                child: SingleChildScrollView(
                  scrollDirection: Axis.vertical,
                  child: ListView.builder(
                    physics: const NeverScrollableScrollPhysics(),
                    shrinkWrap: true,
                    itemCount: 10,
                    itemBuilder: (BuildContext context, int index) {
                      return SizedBox(
                        width: MediaQuery.of(context).size.width*0.001,
                        height: MediaQuery.of(context).size.height*0.3,
                        child: Card(
                          color: Colors.black,
                        ),
                      );
                    },
                  ),
                ),
              ),
            ),

Problem I'm Facing

后面的白卡是父母,或者我们可以说最外面的容器。

2 个答案:

答案 0 :(得分:2)

Align小部件包裹孩子

return Align(
  alignment: Alignment.centerRight, //or choose another Alignment
  child: SizedBox(
    width: MediaQuery.of(context).size.width*0.001, //you sure it should be 0.001?
    height: MediaQuery.of(context).size.height*0.3,
    child: Card(
      color: Colors.black,
    ),
  ),
);

答案 1 :(得分:1)

可以这样做

          itemBuilder: (BuildContext context, int index) {
            return Align( // wrap card with Align
              child: SizedBox(
                width: MediaQuery.of(context).size.width * 0.1,
                child: Card(