body.dart 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import 'package:flutter/material.dart';
  2. import 'package:fooddeliveryapp/constants.dart';
  3. import 'package:fooddeliveryapp/models/product.dart';
  4. import 'package:fooddeliveryapp/screen/details/detail_screen.dart';
  5. import 'package:fooddeliveryapp/screen/order/order_home_screen.dart';
  6. import 'item-card.dart';
  7. /// order页面中body体内容
  8. class Body extends StatelessWidget {
  9. @override
  10. Widget build(BuildContext context) {
  11. return TabBarView(
  12. children: getMyTabs().map((t) => t.body).toList(),
  13. );
  14. }
  15. }
  16. class Menu extends StatelessWidget {
  17. const Menu({
  18. Key key,
  19. @required this.productsList,
  20. }) : super(key: key);
  21. final List<Product> productsList;
  22. @override
  23. Widget build(BuildContext context) {
  24. return Expanded(
  25. flex: 1,
  26. child: Padding(
  27. padding: const EdgeInsets.symmetric(horizontal: kDefaultPaddin),
  28. child: GridView.builder(
  29. itemCount: productsList.length,
  30. gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
  31. crossAxisCount: 2,
  32. mainAxisSpacing: kDefaultPaddin,
  33. crossAxisSpacing: kDefaultPaddin,
  34. childAspectRatio: 0.75),
  35. itemBuilder: (context, index) => ItemCard(
  36. product: productsList[index],
  37. press: () => Navigator.push(
  38. context,
  39. MaterialPageRoute(
  40. builder: (context) => DetailsScreen(
  41. product: productsList[index],
  42. ),
  43. )),
  44. )),
  45. ),
  46. );
  47. }
  48. }