Flutter 颤振更改GridView小部件中一个元素的大小
我想知道如何定制这样一个GridView元素:Flutter 颤振更改GridView小部件中一个元素的大小,flutter,Flutter,我想知道如何定制这样一个GridView元素: 您可以使用GridViewBuilder并为特定索引返回不同的小部件 GridView.builder( itemCount: no.of.items, gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: GridViewRow), itemBuild
您可以使用
GridViewBuilder
并为特定索引返回不同的小部件
GridView.builder(
itemCount: no.of.items,
gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: GridViewRow),
itemBuilder: (BuildContext context, int index) {
If (index == 1){
return Container(
height: 100,
width: 100,
color: Colors.red,
) ;
}
return Container(
height: 100,
width: 100,
color: Colors.green,
) ;
}
)
这里是结构,当然对于GridView,一些硬编码的值是无用的。你可以从那开始,改变设计
Container(
height: 300,
width: 200,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Colors.orange,
),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Align(
alignment: Alignment.topRight,
child: Container(
height: 50,
width: 50,
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topRight: Radius.circular(20),
bottomLeft: Radius.circular(20),
),
color: Colors.white.withOpacity(.3),
),
child: Icon(Icons.add),
),
),
Image.asset(
"/assets/your_image",
height: 100,
width: 100,
),
Container(
padding: EdgeInsets.only(left: 16),
width: double.infinity,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Kiwi'),
SizedBox(
height: 2,
),
Text('Gurugram Mandi'),
],
),
),
Padding(
padding: EdgeInsets.only(left: 16, right: 16),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("90"),
Text("Port Quintal"),
],
),
Text("View Prices"),
],
),
),
SizedBox(height: 5)
],
),
);