From c12aada4092a0635114eb420e3930ca282aead11 Mon Sep 17 00:00:00 2001 From: jjangddu Date: Wed, 17 Jun 2026 16:00:14 +0900 Subject: [PATCH] =?UTF-8?q?ux:=20Sensor=20Alignment=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=20=EB=B9=88=20=EA=B3=B5=EA=B0=84=20=EA=B7=A0=EB=93=B1=20?= =?UTF-8?q?=EB=B6=84=EB=B0=B0=20(demo-final)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 증상: 화면 아래쪽에만 큰 빈 공간 — 사용자 스크린샷 확인. 수정: 3개 위치의 fixed Spacer 를 Spacer(weight=1f) 로 교체 → Column 의 남은 vertical 공간을 3등분 균등 분배. 1) Hint 1 ↔ 일러스트 (Spacer 16dp → weight 1f) 2) Step/Hint 2 ↔ Start Alignment 버튼 (Spacer 24dp → weight 1f) 3) Skip 아래 (Spacer 32dp → weight 1f) 결과: - 화면 전체에 골고루 분포, 아래쪽 큰 빈 공간 해소 - 인접 요소간 fixed gap 은 그대로 유지 (illustration ↔ Step 의 8dp 등) 비고: dev mode (verticalScroll) 에서는 weight 가 0 으로 collapse 되어 자연 stacking. 일반 사용자 모드만 균등 분배 효과 적용. Co-Authored-By: Claude Opus 4.7 --- .../ui/views/monitoring/PlacementGuideView.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt index b8b3dbb..81d1436 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PlacementGuideView.kt @@ -299,9 +299,8 @@ fun PlacementGuideView(appState: AppState) { append(rawHint) } } - // Hint 1 ↔ 일러스트 사이 간격 — top bar 의 내부 padding(16dp) 과 매칭. - // (이전: Spacer 8+2dp + Box.weight(1f) 가 남은 공간을 잡아먹어 비대칭.) - Spacer(modifier = Modifier.height(16.dp)) + // Hint 1 ↔ 일러스트 사이 — weight 로 화면 빈 공간 균등 분배 (위/중간/아래 3등분). + Spacer(modifier = Modifier.weight(1f)) // 화살표 깜빡임 — alpha 1.0 ↔ 0.0 (완전 사라짐), 빨강 색. // 사용자 피드백: "붉은색/사라짐 으로 깜빡임" @@ -637,7 +636,8 @@ fun PlacementGuideView(appState: AppState) { } } - Spacer(modifier = Modifier.height(24.dp)) + // Step/Hint 2 ↔ 버튼 사이 — 두 번째 weight spacer + Spacer(modifier = Modifier.weight(1f)) // 첫 스캔 시 1회만 piezo power on var piezoPowered by remember { mutableStateOf(false) } @@ -1085,7 +1085,8 @@ fun PlacementGuideView(appState: AppState) { ) } - Spacer(modifier = Modifier.height(32.dp)) + // 하단 weight spacer — Skip 아래 빈 공간 (세 번째 분할). + Spacer(modifier = Modifier.weight(1f)) } // end scrollable Column // Floating settings overlay (개발자 모드)