如何在颤动的列表视图中设置卡片的宽度?
Posted
技术标签:
【中文标题】如何在颤动的列表视图中设置卡片的宽度?【英文标题】:How Can I set width of a card in list view in flutter? 【发布时间】:2020-10-09 19:26:12 【问题描述】:我有一个卡片列表,但是当我更改卡片的宽度时,它仍然采用与父容器相同的宽度。我试过用大小合适的盒子或容器来包装 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,
),
);
,
),
),
),
),
White Card 后面是父容器,或者我们可以说是最外面的容器。
【问题讨论】:
【参考方案1】:将您的孩子包裹在 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,
),
),
);
【讨论】:
0.001 仅用于测试目的【参考方案2】:可以这样做
itemBuilder: (BuildContext context, int index)
return Align( // wrap card with Align
child: SizedBox(
width: MediaQuery.of(context).size.width * 0.1,
child: Card(
【讨论】:
以上是关于如何在颤动的列表视图中设置卡片的宽度?的主要内容,如果未能解决你的问题,请参考以下文章