From a4a7b5be48cf70025f837e8ed177f2be2a78cf6b Mon Sep 17 00:00:00 2001 From: sihoo Date: Thu, 1 Oct 2026 00:38:06 +0000 Subject: [PATCH] =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=95=84=20=EA=BE=B8?= =?UTF-8?q?=EB=AF=B8=EA=B8=B0=20=EC=83=81=EC=A0=90=20=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20=EC=B9=B4=ED=85=8C=EA=B3=A0=EB=A6=AC?= =?UTF-8?q?=20=ED=83=80=EC=9D=BC=EC=9D=B4=20=EC=95=88=20=EB=B3=B4=EC=9D=B4?= =?UTF-8?q?=EB=8D=98=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ListView(스크롤 영역) 안에서 Row에 stretch 정렬만 주면 높이가 정해지지 않아 자식 크기 계산이 깨지는 문제였다. 카테고리 타일 Row 전체를 SizedBox로 감싸 높이를 고정하니 "기본 프로필 꾸미기" 타일과 그 아래 템플릿 목록이 정상적으로 그려진다. --- lib/ui/profile_customize_screen.dart | 83 +++++++++++++++------------- 1 file changed, 46 insertions(+), 37 deletions(-) diff --git a/lib/ui/profile_customize_screen.dart b/lib/ui/profile_customize_screen.dart index 5e4aec5..714b9b5 100644 --- a/lib/ui/profile_customize_screen.dart +++ b/lib/ui/profile_customize_screen.dart @@ -138,45 +138,54 @@ class _ProfileCustomizeScreenState extends State { } Widget _buildCategoryTiles() { - return Row( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Expanded( - flex: 3, - child: _CategoryTile( - title: '기본 프로필 꾸미기', - icon: Icons.person_rounded, - selected: _selectedCategory == 'basic_profile', - enabled: true, - onTap: () => setState(() => _selectedCategory = 'basic_profile'), + // 📏 ListView(스크롤 영역) 안에서는 높이가 정해져 있지 않아 Row에 + // stretch 정렬만 주면 자식 크기 계산이 깨진다. SizedBox로 높이를 못박아둔다. + return SizedBox( + height: 180, + child: Row( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Expanded( + flex: 3, + child: _CategoryTile( + title: '기본 프로필 꾸미기', + icon: Icons.person_rounded, + selected: _selectedCategory == 'basic_profile', + enabled: true, + onTap: () => setState(() => _selectedCategory = 'basic_profile'), + ), ), - ), - const SizedBox(width: 12), - Expanded( - flex: 4, - child: Column( - children: [ - _CategoryTile( - title: '랭킹 · 친구창 배경', - subtitle: '준비중', - icon: Icons.leaderboard_rounded, - selected: false, - enabled: false, - onTap: null, - ), - const SizedBox(height: 12), - _CategoryTile( - title: '출석 · 그룹창 표시', - subtitle: '준비중', - icon: Icons.groups_rounded, - selected: false, - enabled: false, - onTap: null, - ), - ], + const SizedBox(width: 12), + Expanded( + flex: 4, + child: Column( + children: [ + Expanded( + child: _CategoryTile( + title: '랭킹 · 친구창 배경', + subtitle: '준비중', + icon: Icons.leaderboard_rounded, + selected: false, + enabled: false, + onTap: null, + ), + ), + const SizedBox(height: 12), + Expanded( + child: _CategoryTile( + title: '출석 · 그룹창 표시', + subtitle: '준비중', + icon: Icons.groups_rounded, + selected: false, + enabled: false, + onTap: null, + ), + ), + ], + ), ), - ), - ], + ], + ), ); }