From d2e76402920302ecf7aad16bf003fb423c615652 Mon Sep 17 00:00:00 2001 From: jjangddu Date: Tue, 9 Jun 2026 11:46:49 +0900 Subject: [PATCH] =?UTF-8?q?UI:=20=EB=8F=84=EB=84=9B=EC=B0=A8=ED=8A=B8=20?= =?UTF-8?q?=ED=83=9C=EB=B8=94=EB=A6=BF=20=EC=82=AC=EC=9D=B4=EC=A6=88=20?= =?UTF-8?q?=EB=8D=94=20=ED=81=AC=EA=B2=8C=20=E2=80=94=20cap=20600=E2=86=92?= =?UTF-8?q?820,=20budget=20280=E2=86=92360?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 스크린샷 피드백: 도넛이 화면을 거의 채우고 컨트롤 버튼이 자연스럽게 최하단으로 떨어지는 느낌이 목표. 이전 변경(420→600)은 한 단계로 부족 — 태블릿 가용 높이(1500dp+)에서 여전히 cap에 묶여 여백이 보임. 수정: - nonDonutBudget: 280dp → 360dp 실측한 비-도넛 컨텐츠(top bar + status badge + info cards + control buttons + Dev Tools toggle + spacings)에 더 가까운 값. 도넛 사이즈 계산이 정확해져 spacing 어색함 없음. - max cap: 600dp → 820dp 큰 태블릿(1500dp+ 가용 높이)에서 도넛이 화면 위쪽을 거의 가득 채움. - min: 160dp → 180dp (살짝 상향) 폰 영향: availableH-360이 어차피 cap보다 작은 값이라 자동 결정 → 변동 없음. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../ui/views/monitoring/PiezoMonitoringView.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt index 5370604..bc2b238 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/monitoring/PiezoMonitoringView.kt @@ -955,11 +955,13 @@ fun PiezoMonitoringView(appState: AppState) { // 결정한다. 가로 모드 / 작은 화면에서도 progress + 다른 컨텐츠가 모두 들어오도록. androidx.compose.foundation.layout.BoxWithConstraints(modifier = Modifier.fillMaxSize()) { val availableH = this.maxHeight - // 회의 결정: dev/일반 도넛 크기 통일. nonDonutBudget도 통일. - val nonDonutBudget = 280.dp - // 태블릿에서 화면 꽉 채우도록 max cap 확장 (이전 420 → 600). - // 폰은 availableH-280이 cap보다 작아서 자동으로 작은 값으로 결정. - val donutFitSize = (availableH - nonDonutBudget).coerceIn(160.dp, 600.dp) + // 회의 + 스크린샷 피드백: 태블릿에서 도넛이 화면 위쪽을 거의 가득 채우고 + // 컨트롤 버튼이 자연스럽게 하단으로 떨어지도록 조정. + // - nonDonutBudget: 비-도넛 컨텐츠 실측 공간 반영 (top bar + badge + cards + buttons + toggle + spacings) + // - max cap: 큰 태블릿에서도 답답하지 않게 820dp까지 + // - 폰: availableH-360이 cap보다 작아 자동으로 작은 값으로 결정 (영향 없음) + val nonDonutBudget = 360.dp + val donutFitSize = (availableH - nonDonutBudget).coerceIn(180.dp, 820.dp) // spacing 도 화면 높이에 비례 — 큰 화면에서 컨텐츠 사이 여백 넉넉히. val nonDevSpacing = when { availableH > 800.dp -> 36.dp