diff --git a/lib/ui/teacher_student_management_page.dart b/lib/ui/teacher_student_management_page.dart index e99a69c..76388b7 100644 --- a/lib/ui/teacher_student_management_page.dart +++ b/lib/ui/teacher_student_management_page.dart @@ -657,12 +657,12 @@ class _TeacherStudentManagementPageState padding: const EdgeInsets.all(24.0), child: LayoutBuilder( builder: (context, constraints) { - // πŸ–₯️ μ›Ή(넓은 ν™”λ©΄)은 계정 μΆ”κ°€/μ—‘μ…€ 등둝을 μ •μ‚¬κ°ν˜• 2칸으둜 λ‚˜λž€νžˆ, 폰은 기쑴처럼 μ„Έλ‘œλ‘œ μŒ“λŠ”λ‹€. + // πŸ–₯️ μ›Ή(넓은 ν™”λ©΄)은 계정 μΆ”κ°€/μ—‘μ…€ 등둝을 μž‘μ€ μ •μ‚¬κ°ν˜• 2칸으둜 λ‚˜λž€νžˆ, 폰은 기쑴처럼 μ„Έλ‘œλ‘œ μŒ“λŠ”λ‹€. final bool isWide = constraints.maxWidth >= 800; - final double squareSize = (constraints.maxWidth - 20) / 2; - final double listWidth = isWide - ? squareSize * 2 + 20 - : constraints.maxWidth; + // πŸ“‰ 계정 μΆ”κ°€ / μ—‘μ…€ 등둝 μΉΈ: κΈ°μ‘΄ μ •μ‚¬κ°ν˜• 크기의 25%둜 μΆ•μ†Œ. + final double formSquareSize = + ((constraints.maxWidth - 20) / 2) * 0.25; + final double listWidth = constraints.maxWidth; final Widget addBoxColumn = Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -670,8 +670,8 @@ class _TeacherStudentManagementPageState _sectionTitle('μ‹ κ·œ 학생 계정 μΆ”κ°€'), const SizedBox(height: 16), SizedBox( - width: isWide ? squareSize : double.infinity, - height: isWide ? squareSize : null, + width: isWide ? formSquareSize : double.infinity, + height: isWide ? formSquareSize : null, child: _buildAddAccountBox(), ), ], @@ -683,8 +683,8 @@ class _TeacherStudentManagementPageState _sectionTitle('μ—‘μ…€λ‘œ ν•œλ²ˆμ— μΆ”κ°€ (μ‹ μž…μƒ λ“±)'), const SizedBox(height: 16), SizedBox( - width: isWide ? squareSize : double.infinity, - height: isWide ? squareSize : 240, + width: isWide ? formSquareSize : double.infinity, + height: isWide ? formSquareSize : 240, child: _buildExcelBox(), ), ], @@ -760,12 +760,17 @@ class _TeacherStudentManagementPageState : GridView.builder( shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), + // πŸ“ˆ 학생 타일: κΈ°μ‘΄(8/4μ—΄ κΈ°μ€€) ν•œ μΉΈ 폭보닀 50% 더 큰 μ •μ‚¬κ°ν˜•μœΌλ‘œ. gridDelegate: - SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: isWide ? 8 : 4, + SliverGridDelegateWithMaxCrossAxisExtent( + maxCrossAxisExtent: + ((listWidth - + (isWide ? 7 : 3) * 10) / + (isWide ? 8 : 4)) * + 1.5, crossAxisSpacing: 10, mainAxisSpacing: 10, - childAspectRatio: isWide ? 1.4 : 0.9, + childAspectRatio: 1, ), itemCount: _controller.students.length, itemBuilder: (context, index) =>