![](/img/trans.png)
[英]How can I dynamically scale Widgets(cards, in my case) in Flutter?
[英]i want to navigate my cards which are in grid view using flutter. my cards contain images not icons
import 'package:testapp/TryNavigate.dart';
import 'package:testapp/TryNavigate2.dart';
class CategoriesMain extends StatefulWidget {
@override
_CategoriesMainState createState() => _CategoriesMainState();
}
class _CategoriesMainState extends State<CategoriesMain> {
@override
Widget build(BuildContext context) {
return new Scaffold(
body: Products(),
);
}
}
class Products extends StatefulWidget {
@override
_ProductsState createState() => _ProductsState();
}
class _ProductsState extends State<Products> {
final list_item = [
{
"name": "Baby Stuffs",
"pic": "images/baby.png",
"price": 70,
},
{
"name": "Fruits",
"pic": "images/fruits.png",
"price": 70,
},
{
"name": "Fruits",
"pic": "images/start.jpg",
"price": 70,
},
{
"name": "Beverages",
"pic": "images/beverages.png",
"price": 70,
},
{
"name": "Bread",
"pic": "images/bread.jpg",
"price": 70,
},
{
"name": "Canneds Goods",
"pic": "images/cannedgoods.png",
"price": 70,
},
{
"name": "Condiments",
"pic": "images/condiments.png",
"price": 70,
},
{
"name": "Snacks",
"pic": "images/snacks.png",
"price": 70,
},
{
"name": "Dairy, Eggs",
"pic": "images/dairy2.jpg",
"price": 70,
},
{
"name": "Signature Cafes",
"pic": "images/cafe.jpg",
"price": 70,
},
{
"name": "Frozen Foods",
"pic": "images/frozenfoods.jpg",
"price": 70,
},
{
"name": "Grains, Pasta",
"pic": "images/grains.jpg",
"price": 70,
},
{
"name": "Meat and Seafood",
"pic": "images/meat.jpg",
"price": 70,
},
{
"name": "Miscellaneous",
"pic": "images/misc.jpg",
"price": 70,
},
{
"name": "Paper Products",
"pic": "images/paperproducts.jpg",
"price": 70,
},
{
"name": "Cleaning Supplies",
"pic": "images/cleaning supplies.png",
"price": 70,
},
{
"name": "Personal Care",
"pic": "images/personalcare.jpg",
"price": 70,
},
{
"name": "Pet Care",
"pic": "images/petcare.jpg",
"price": 70,
},
];
@override
Widget build(BuildContext context) {
return GridView.builder(
itemCount: list_item.length,
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
itemBuilder: (BuildContext context, int index) {
return Product(
product_name: list_item[index]['name'],
product_pic: list_item[index]['pic'],
product_price: list_item[index]['price'],
);
});
}
}
class Product extends StatelessWidget {
final product_name;
final product_pic;
final product_price;
Product({this.product_name, this.product_pic, this.product_price});
@override
Widget build(BuildContext context) {
return Card(
semanticContainer: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(15.0),
),
clipBehavior: Clip.antiAlias,
child: Material(
child: InkWell(
splashColor: Colors.pink,
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Expanded(
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(product_pic), fit: BoxFit.fill),
),
)),
Padding(
padding: EdgeInsets.all(10.0),
child: Text(
product_name,
style: TextStyle(fontSize: 18.0),
)),
],
),
)
)
)
);
}
}
我希望每个图像都导航到自己的页面,但我真的不知道如何:((我尝试在某些平台上搜索,但我读到的是他们使用图标而不是图像。我真的不知道如何导航这些图像到他们自己的页面。
我希望每个图像都导航到自己的页面,但我真的不知道如何:((我尝试在某些平台上搜索,但我读到的是他们使用图标而不是图像。我真的不知道如何导航这些图像到他们自己的页面。
我希望每个图像都导航到自己的页面,但我真的不知道如何:((我尝试在某些平台上搜索,但我读到的是他们使用图标而不是图像。我真的不知道如何导航这些图像到他们自己的页面。
我希望每个图像都导航到自己的页面,但我真的不知道如何:((我尝试在某些平台上搜索,但我读到的是他们使用图标而不是图像。我真的不知道如何导航这些图像到他们自己的页面。
您可以用GestureDetector
小部件包装每张卡片并在点击时导航它
return GestureDetector(
onTap: () => Navigator.of(context).push(), //your navigator code here
child: Card(), //your card widget here
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.