diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 3fefd21..6f90aee 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -1112,7 +1112,7 @@ $ flutter test ## 2026-10-22 首页布局对齐修正 - 一级分类页内切换 6 个列表,未选 18/w400 `#B0B0B0`、选中 20/w700 白字,无下划线;二级 chips 仅精选显示。 -- 四类短剧卡片移除底板/描边,封面统一 8 圆角,网格行距 10、封底到标题 6;热剧/新剧/漫剧角标移至右上角异形丝带。 +- 四类卡片去底板/描边,封面 8 圆角、行距 10、封底标题间距 6;热剧/新剧/漫剧角标为右上角 16 高紧凑异形丝带。 - 标题下方恢复左对齐题材文字,使用 `|` 分隔、灰色小字,与封面状态角标保持独立。 - 首页搜索栏到一级、一级到二级、二级到网格间距为 8/8/10;非精选 tab 直接以 10 衔接网格。 - 播放量回到封面右下角,使用 spark 图标与 12/w400 纯文字、`w` 格式,并加极淡底部渐变;四类列表共用。 diff --git a/lib/core/theme/app_dimens.dart b/lib/core/theme/app_dimens.dart index 1ed7c4e..cec1b67 100644 --- a/lib/core/theme/app_dimens.dart +++ b/lib/core/theme/app_dimens.dart @@ -91,13 +91,11 @@ abstract final class AppDimens { static const double cardPlayCountGap = 2; static const double cardPlayCountBottom = 6; static const double cardPlayCountScrimHeight = 32; - static const double cardGenreRibbonHeight = 20; - static const double cardGenreRibbonRadius = 10; - static const double cardGenreRibbonLeftInset = 8; - static const double cardGenreRibbonMaxWidth = 86; + static const double cardGenreRibbonHeight = 16; + static const double cardGenreRibbonLeftInset = 4; + static const double coverBadgeRibbonHorizontalPadding = 4; static const double cardTagFont = 11; - static const double cardTagHorizontalPadding = 6; - static const double cardBadgeFont = 10; + static const double cardBadgeFont = 9; static const double cardCoverTitleGap = 6; static const double cardTitleTagGap = 6; static const double cardCoverAspectRatio = 5 / 6; diff --git a/lib/core/widgets/drama_cover_badge_ribbon.dart b/lib/core/widgets/drama_cover_badge_ribbon.dart index 95a5048..f69d09f 100644 --- a/lib/core/widgets/drama_cover_badge_ribbon.dart +++ b/lib/core/widgets/drama_cover_badge_ribbon.dart @@ -24,15 +24,12 @@ class DramaCoverBadgeRibbon extends StatelessWidget { key: Key('drama-cover-badge-ribbon-$keyPrefix'), clipper: const _SlantedRibbonClipper(), child: Container( - constraints: const BoxConstraints( - maxWidth: AppDimens.cardGenreRibbonMaxWidth, - ), height: AppDimens.cardGenreRibbonHeight, padding: const EdgeInsets.only( left: - AppDimens.cardTagHorizontalPadding + + AppDimens.coverBadgeRibbonHorizontalPadding + AppDimens.cardGenreRibbonLeftInset, - right: AppDimens.cardTagHorizontalPadding, + right: AppDimens.coverBadgeRibbonHorizontalPadding, ), alignment: Alignment.center, color: color,