detail.dart 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import 'package:farmer_client/pages/machinery/widgets/DefLayout.dart';
  2. import 'package:farmer_client/pages/machinery/widgets/RoundButton.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter/widgets.dart';
  5. import 'package:flutter_screenutil/flutter_screenutil.dart';
  6. import 'package:amap_flutter_base/amap_flutter_base.dart';
  7. import 'package:farmer_client/widgets/amap/amap.dart';
  8. import '../../../../models/entities/CardInfo.dart';
  9. import '../../widgets/summary.dart';
  10. Widget page({required CardInfo item,required String km, required BuildContext context, VoidCallback? handleClick}) {
  11. final _offset = 20.w;
  12. final width = MediaQuery.of(context).size.width;
  13. final mapHeight = 226.5.w;
  14. final cardHeight = 250.w;
  15. final LatLng position = LatLng(32.690712, 112.091892);
  16. return DefLayout(
  17. head: AMap(position: position),
  18. children: [
  19. DefLayout.card(
  20. top: DefLayout.headHeight - DefLayout.offset,
  21. height: DefLayout.headHeight,
  22. child: Image.network(item.thumb.toString(), fit: BoxFit.cover,
  23. errorBuilder: (ctx, exception, stackTrace) {
  24. return Container(); //THE WIDGET YOU WANT TO SHOW IF URL NOT RETURN IMAGE
  25. },
  26. ),
  27. ),
  28. DefLayout.card(
  29. top: (DefLayout.headHeight - DefLayout.offset) * 2,
  30. padding: EdgeInsets.only(top: 45.w, left: 15.w, right: 15.w, bottom: 20.w),
  31. child: _content(context, handleClick,item,km)
  32. ),
  33. ]
  34. );
  35. }
  36. Widget _content(BuildContext context, VoidCallback? handleClick,CardInfo item,String km) {
  37. return
  38. Column(
  39. children: [
  40. summary(item: item,km:km),
  41. RoundButton(text: "预约", onPressed: handleClick,),
  42. ],
  43. );
  44. }