upload_step_card.dart 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter_screenutil/flutter_screenutil.dart';
  3. import '../../../../resource/assets.gen.dart';
  4. import '../../../../resource/colors.gen.dart';
  5. import '../../intimacy_analyse_upload/widget/upload_nine_grid.dart';
  6. import '../step_card.dart';
  7. /// 上传步骤卡片
  8. class UploadStepCard extends StatelessWidget {
  9. /// 顶部标题区域的组件
  10. final Widget? topTitleWidget;
  11. /// 底部的子组件,可以没有
  12. final Widget? bottomChild;
  13. const UploadStepCard({
  14. super.key,
  15. this.topTitleWidget,
  16. this.bottomChild,
  17. });
  18. @override
  19. Widget build(BuildContext context) {
  20. return StepCard(
  21. // 背景图片
  22. bgImageProvider: Assets.images.bgIntimacyAnalyseUploadCard.provider(),
  23. // 顶部的标题
  24. topTitleWidget: topTitleWidget,
  25. // 顶部的图标
  26. topIconWidget: Assets.images.iconIntimacyAnalyseUploadTop.image(
  27. height: 63.h,
  28. width: 103.w,
  29. ),
  30. contentWidget: Column(
  31. children: [
  32. SizedBox(height: 14.h),
  33. // 图片九宫格
  34. Container(
  35. margin: EdgeInsets.only(left: 12.w, right: 12.w),
  36. padding: EdgeInsets.only(
  37. left: 12.w,
  38. top: 12.h,
  39. right: 12.w,
  40. bottom: 12.h,
  41. ),
  42. decoration: BoxDecoration(
  43. color: ColorName.white,
  44. borderRadius: BorderRadius.circular(16.r),
  45. ),
  46. // 图片九宫格
  47. child: UploadNineGrid(
  48. mode: Mode.edit,
  49. imageSrcList: ["", "", "", "", "", "", ""],
  50. maxCount: 9,
  51. spacing: 8.0,
  52. ),
  53. ),
  54. SizedBox(height: 10.h),
  55. // 当前的亲密关系
  56. bottomChild ?? SizedBox(),
  57. ],
  58. ),
  59. );
  60. }
  61. }