如何在 flutter 的列表视图中设置卡片的宽度?
How Can I set width of a card in list view in flutter?
我有一个卡片列表,但是当我更改了卡片的宽度后,它仍然采用与父容器相同的宽度。我试过用大小的框或容器包装列表视图、卡片甚至滚动视图,但对我来说没有任何效果。
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,
),
);
},
),
),
),
),
后面的白卡是父容器,或者我们可以说是最外面的容器。
将您的 children 包装在 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,
),
),
);
可以做到这一点
itemBuilder: (BuildContext context, int index) {
return Align( // wrap card with Align
child: SizedBox(
width: MediaQuery.of(context).size.width * 0.1,
child: Card(
我有一个卡片列表,但是当我更改了卡片的宽度后,它仍然采用与父容器相同的宽度。我试过用大小的框或容器包装列表视图、卡片甚至滚动视图,但对我来说没有任何效果。
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,
),
);
},
),
),
),
),
后面的白卡是父容器,或者我们可以说是最外面的容器。
将您的 children 包装在 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,
),
),
);
可以做到这一点
itemBuilder: (BuildContext context, int index) {
return Align( // wrap card with Align
child: SizedBox(
width: MediaQuery.of(context).size.width * 0.1,
child: Card(