학생 계정 관리 화면 박스 크기 재조정
계정 추가/엑셀 등록 정사각형 칸은 기존 크기의 25%로 축소하고, 학생 목록 타일은 기존보다 50% 더 큰 정사각형으로 확대. 목록 폭은 더 이상 위 두 칸 폭에 종속되지 않고 전체 폭을 사용하도록 변경. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -657,12 +657,12 @@ class _TeacherStudentManagementPageState
|
|||||||
padding: const EdgeInsets.all(24.0),
|
padding: const EdgeInsets.all(24.0),
|
||||||
child: LayoutBuilder(
|
child: LayoutBuilder(
|
||||||
builder: (context, constraints) {
|
builder: (context, constraints) {
|
||||||
// 🖥️ 웹(넓은 화면)은 계정 추가/엑셀 등록을 정사각형 2칸으로 나란히, 폰은 기존처럼 세로로 쌓는다.
|
// 🖥️ 웹(넓은 화면)은 계정 추가/엑셀 등록을 작은 정사각형 2칸으로 나란히, 폰은 기존처럼 세로로 쌓는다.
|
||||||
final bool isWide = constraints.maxWidth >= 800;
|
final bool isWide = constraints.maxWidth >= 800;
|
||||||
final double squareSize = (constraints.maxWidth - 20) / 2;
|
// 📉 계정 추가 / 엑셀 등록 칸: 기존 정사각형 크기의 25%로 축소.
|
||||||
final double listWidth = isWide
|
final double formSquareSize =
|
||||||
? squareSize * 2 + 20
|
((constraints.maxWidth - 20) / 2) * 0.25;
|
||||||
: constraints.maxWidth;
|
final double listWidth = constraints.maxWidth;
|
||||||
|
|
||||||
final Widget addBoxColumn = Column(
|
final Widget addBoxColumn = Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -670,8 +670,8 @@ class _TeacherStudentManagementPageState
|
|||||||
_sectionTitle('신규 학생 계정 추가'),
|
_sectionTitle('신규 학생 계정 추가'),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: isWide ? squareSize : double.infinity,
|
width: isWide ? formSquareSize : double.infinity,
|
||||||
height: isWide ? squareSize : null,
|
height: isWide ? formSquareSize : null,
|
||||||
child: _buildAddAccountBox(),
|
child: _buildAddAccountBox(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -683,8 +683,8 @@ class _TeacherStudentManagementPageState
|
|||||||
_sectionTitle('엑셀로 한번에 추가 (신입생 등)'),
|
_sectionTitle('엑셀로 한번에 추가 (신입생 등)'),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: isWide ? squareSize : double.infinity,
|
width: isWide ? formSquareSize : double.infinity,
|
||||||
height: isWide ? squareSize : 240,
|
height: isWide ? formSquareSize : 240,
|
||||||
child: _buildExcelBox(),
|
child: _buildExcelBox(),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -760,12 +760,17 @@ class _TeacherStudentManagementPageState
|
|||||||
: GridView.builder(
|
: GridView.builder(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
|
// 📈 학생 타일: 기존(8/4열 기준) 한 칸 폭보다 50% 더 큰 정사각형으로.
|
||||||
gridDelegate:
|
gridDelegate:
|
||||||
SliverGridDelegateWithFixedCrossAxisCount(
|
SliverGridDelegateWithMaxCrossAxisExtent(
|
||||||
crossAxisCount: isWide ? 8 : 4,
|
maxCrossAxisExtent:
|
||||||
|
((listWidth -
|
||||||
|
(isWide ? 7 : 3) * 10) /
|
||||||
|
(isWide ? 8 : 4)) *
|
||||||
|
1.5,
|
||||||
crossAxisSpacing: 10,
|
crossAxisSpacing: 10,
|
||||||
mainAxisSpacing: 10,
|
mainAxisSpacing: 10,
|
||||||
childAspectRatio: isWide ? 1.4 : 0.9,
|
childAspectRatio: 1,
|
||||||
),
|
),
|
||||||
itemCount: _controller.students.length,
|
itemCount: _controller.students.length,
|
||||||
itemBuilder: (context, index) =>
|
itemBuilder: (context, index) =>
|
||||||
|
|||||||
Reference in New Issue
Block a user