import 'package:flutter/cupertino.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:keyboard/utils/grid_util.dart'; import '../data/bean/widget_location.dart'; import '../resource/assets.gen.dart'; /// 步骤卡片工具类 class StepCardUtil { StepCardUtil._(); /// 一列多少个 static const int defaultCrossAxisCount = 3; /// 获取卡片背景图片 static ImageProvider getCardBgImageProvider( int itemCount, { int crossAxisCount = defaultCrossAxisCount, }) { // 计算出九宫格有多少行 int rowCount = GridUtil.calculateRowCount(itemCount, crossAxisCount); // 根据行数不同,使用不同的步骤卡片背景 if (rowCount == 1) { return Assets.images.bgIntimacyAnalyseUploadCard.provider(); } else if (rowCount == 2) { return Assets.images.bgIntimacyAnalyseUploadCard2.provider(); } else { return Assets.images.bgIntimacyAnalyseUploadCard3.provider(); } } /// 计算顶部Icon的位置 static WidgetLocation calculateTopIconWidgetLocation( int itemCount, { int crossAxisCount = defaultCrossAxisCount, }) { // 计算出九宫格有多少行 int rowCount = GridUtil.calculateRowCount(itemCount, crossAxisCount); if (rowCount == 1) { return WidgetLocation(null, -8.h, 0, null); } else if (rowCount == 2) { return WidgetLocation(null, -5.h, 0, null); } else { return WidgetLocation(null, -11.h, 0, null); } } }