From ce310afa8903d63ef908c35c63dff5f1a384fe1a Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Thu, 22 Oct 2026 18:23:37 +0800 Subject: [PATCH] =?UTF-8?q?fix(home):=20=E6=94=B6=E7=B4=A7=E9=A6=96?= =?UTF-8?q?=E9=A1=B5=E9=A1=B6=E9=83=A8=E5=8C=BA=E9=97=B4=E8=B7=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/plans/PROGRESS.md | 1 + lib/core/theme/app_dimens.dart | 4 ++++ lib/pages/home/widgets/home_grid_header.dart | 13 ++++++++----- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 23383af..3e34e83 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -1113,5 +1113,6 @@ $ flutter test - 一级分类改为页内切换 6 个列表,未选 16/w400 灰字、选中 20/w700 白字,无下划线;二级 chips 仅精选显示。 - 四类短剧卡片移除底板/描边,封面统一 8 圆角,网格行距 10、封底到标题 6,题材移至右上角异形丝带。 +- 首页搜索栏到一级、一级到二级、二级到网格间距为 8/8/10;非精选 tab 直接以 10 衔接网格。 - 播放量统一 spark 图标与 `w` 格式,整数无小数;首页、剧单、全部短剧、追剧共用。 - 全部短剧的地区、字幕、配音筛选 UI 已占位;以下接口待补:地区、字幕/配音筛选数据。 diff --git a/lib/core/theme/app_dimens.dart b/lib/core/theme/app_dimens.dart index ae015eb..9f114d6 100644 --- a/lib/core/theme/app_dimens.dart +++ b/lib/core/theme/app_dimens.dart @@ -112,6 +112,10 @@ abstract final class AppDimens { static const double homeSecondaryTagFont = 13; static const double homePrimaryCategoryGap = 24; static const double homeSecondaryTagGap = 18; + static const double homeSearchTopGap = 0; + static const double homeSearchPrimaryGap = 8; + static const double homePrimarySecondaryGap = 8; + static const double homeSecondaryGridGap = 10; static const double homeIconSlot = 44; static const double homeHeaderIcon = 22; diff --git a/lib/pages/home/widgets/home_grid_header.dart b/lib/pages/home/widgets/home_grid_header.dart index 713336e..df3445f 100644 --- a/lib/pages/home/widgets/home_grid_header.dart +++ b/lib/pages/home/widgets/home_grid_header.dart @@ -81,7 +81,10 @@ class HomeGridHeader extends StatelessWidget { children: [ _searchRow(l10n), _primaryRow(l10n), - if (selectedPrimary == HomePrimaryTab.featured) _tagRow(l10n), + if (selectedPrimary == HomePrimaryTab.featured) + _tagRow(l10n) + else + const SizedBox(height: AppDimens.homeSecondaryGridGap), ], ); } @@ -90,9 +93,9 @@ class HomeGridHeader extends StatelessWidget { return Padding( padding: const EdgeInsets.fromLTRB( AppDimens.feedPageHorizontal, - AppDimens.spaceSm, + AppDimens.homeSearchTopGap, AppDimens.feedPageHorizontal, - AppDimens.spaceSm, + AppDimens.homeSearchPrimaryGap, ), child: Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -302,9 +305,9 @@ class HomeGridHeader extends StatelessWidget { return Padding( padding: const EdgeInsets.fromLTRB( AppDimens.feedPageHorizontal, - AppDimens.spaceMd, + AppDimens.homePrimarySecondaryGap, AppDimens.feedPageHorizontal, - AppDimens.spaceSm, + AppDimens.homeSecondaryGridGap, ), child: Row( crossAxisAlignment: CrossAxisAlignment.start,