upload_step_card.dart 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. bgImageProvider: Assets.images.bgIntimacyAnalyseUploadCard.provider(),
  22. topTitleWidget: topTitleWidget,
  23. // 顶部的图标
  24. topIconWidget: Assets.images.iconIntimacyAnalyseUploadTop.image(
  25. height: 63.h,
  26. width: 103.w,
  27. ),
  28. contentWidget: Column(
  29. children: [
  30. // 图片九宫格
  31. Container(
  32. margin: EdgeInsets.only(left: 12.w, right: 12.w),
  33. padding: EdgeInsets.only(
  34. left: 12.w,
  35. top: 12.h,
  36. right: 12.w,
  37. bottom: 12.h,
  38. ),
  39. decoration: BoxDecoration(
  40. color: ColorName.white,
  41. borderRadius: BorderRadius.circular(16.r),
  42. ),
  43. // 图片九宫格
  44. child: UploadNineGrid(
  45. mode: Mode.edit,
  46. imageSrcList: ["", "", "", "", "", "", ""],
  47. maxCount: 9,
  48. spacing: 8.0,
  49. ),
  50. ),
  51. SizedBox(height: 10.h),
  52. // 当前的亲密关系
  53. bottomChild ?? SizedBox(),
  54. ],
  55. ),
  56. );
  57. }
  58. }