diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index aaa039f..33be1cc 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -1241,4 +1241,5 @@ $ flutter test - 追剧保持三列网格,播放历史改为左封面右信息的单列列表,行距 16。 - 历史卡片补充 96×128 封面、观看进度、已看百分比、继续观看和编辑删除。 - 追剧加号卡片移到全部追剧卡片之后,空列表时仍在左上角。 +- 加号改为 `#8E8E93`、28 尺寸、1.5 描边,卡片底色与圆角不变。 - 刷新、分页与各页独立滚动位置保持;`flutter analyze`:No issues found。 diff --git a/lib/core/theme/app_dimens.dart b/lib/core/theme/app_dimens.dart index d18a354..807e451 100644 --- a/lib/core/theme/app_dimens.dart +++ b/lib/core/theme/app_dimens.dart @@ -152,6 +152,7 @@ abstract final class AppDimens { static const double followingTabGap = 24; static const double followingEditIconSize = 24; static const double followingAddIconSize = 28; + static const double followingAddIconStroke = 1.5; static const double followingGridGap = 6; static const double followingGridRowGap = 12; static const double followingCardTextExtent = 66; diff --git a/lib/pages/following/following_grid_card.dart b/lib/pages/following/following_grid_card.dart index a3506e0..e20f320 100644 --- a/lib/pages/following/following_grid_card.dart +++ b/lib/pages/following/following_grid_card.dart @@ -163,11 +163,10 @@ class FollowingAddCard extends StatelessWidget { borderRadius: BorderRadius.circular(AppDimens.homeCardRadius), ), child: const Center( - child: Icon( - Icons.add, + child: CustomPaint( key: Key('following-add-icon'), - size: AppDimens.followingAddIconSize, - color: AppColors.textPrimary, + size: Size.square(AppDimens.followingAddIconSize), + painter: _FollowingPlusPainter(), ), ), ), @@ -177,3 +176,22 @@ class FollowingAddCard extends StatelessWidget { ); } } + +class _FollowingPlusPainter extends CustomPainter { + const _FollowingPlusPainter(); + + @override + void paint(Canvas canvas, Size size) { + final paint = Paint() + ..color = AppColors.textSecondary + ..strokeWidth = AppDimens.followingAddIconStroke + ..strokeCap = StrokeCap.round; + final center = size.center(Offset.zero); + canvas + ..drawLine(Offset(center.dx, 0), Offset(center.dx, size.height), paint) + ..drawLine(Offset(0, center.dy), Offset(size.width, center.dy), paint); + } + + @override + bool shouldRepaint(covariant _FollowingPlusPainter oldDelegate) => false; +}