UI revert: PiezoMonitoring 설정 패널 라벨 28sp → 14sp 복원
문서 빌드 117 묘사를 그대로 적용한 28sp가 실제 화면에서 너무 커서 Bladder Capacity / Catheter Threshold 라벨이 줄바꿈되고 divider padding 28dp가 카드를 과도하게 늘리는 곱창 결과 발생. 원본 14sp + divider padding 없음으로 일괄 되돌림. - 9개 라벨 fontSize 28sp → 14sp - 9개 HorizontalDivider modifier 제거 (padding 28dp 삭제) - Column verticalArrangement.spacedBy 9.dp → 6.dp Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+19
-18
@@ -1315,9 +1315,9 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
) {
|
||||
// Max Volume
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("Bladder Capacity", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("Bladder Capacity", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Text("${appState.piezoSettings.maxVolume} mL", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||
Text("${appState.piezoSettings.maxVolume} mL", fontSize = 14.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||
}
|
||||
Slider(
|
||||
value = appState.piezoSettings.maxVolume.toFloat(),
|
||||
@@ -1356,13 +1356,14 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
HorizontalDivider()
|
||||
|
||||
// Catheterization Threshold
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("Catheter Threshold", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("Catheter Threshold", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Text("Level ${appState.bladderLevel.catheterizationThreshold}", fontSize = 28.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||
Text("Level ${appState.bladderLevel.catheterizationThreshold}", fontSize = 14.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||
}
|
||||
Slider(
|
||||
value = appState.bladderLevel.catheterizationThreshold.toFloat(),
|
||||
@@ -1374,13 +1375,13 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
|
||||
// ── 개발자 전용 설정 ──
|
||||
if (appState.isDevMode) {
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
|
||||
// Low Echo Threshold (Otsu / manual)
|
||||
var otsuEnabled by remember { mutableStateOf(analyzer.useAdaptiveThreshold) }
|
||||
var currentThreshold by remember { mutableStateOf(GreenZoneConstants.lowEchoAmp) }
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("Threshold", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("Threshold", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
Text(
|
||||
if (otsuEnabled) "Otsu: ${"%.0f".format(analyzer.lastOtsuThreshold)}" else "${"%.0f".format(currentThreshold)}",
|
||||
@@ -1404,12 +1405,12 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
)
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
|
||||
// DPS
|
||||
var dpsText by remember { mutableStateOf("%.3f".format(PiezoHW.distancePerSample)) }
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("DPS", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("DPS", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
OutlinedTextField(
|
||||
value = dpsText,
|
||||
@@ -1421,12 +1422,12 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
)
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
|
||||
// Detection Method A/B/C
|
||||
var selectedMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.detectionMethod) }
|
||||
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("Detection", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("Detection", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
val methods = listOf(
|
||||
com.example.medilightv2android.managers.DetectionMethod.METHOD_A to "A",
|
||||
@@ -1453,12 +1454,12 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
}
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
|
||||
// BV Method (Frustum / V41)
|
||||
var selectedBvMethod by remember { mutableStateOf(com.example.medilightv2android.managers.GreenZoneConstants.bvMethod) }
|
||||
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("BV", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("BV", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
val bvMethods = listOf(
|
||||
com.example.medilightv2android.managers.BvMethod.FRUSTUM to "Frustum",
|
||||
@@ -1484,23 +1485,23 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
}
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
|
||||
// SG Filter
|
||||
var sgEnabled by remember { mutableStateOf(analyzer.useSgFilter) }
|
||||
Row(modifier = Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("SG Filter", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("SG Filter", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Switch(checked = sgEnabled, onCheckedChange = { sgEnabled = it; analyzer.useSgFilter = it },
|
||||
colors = SwitchDefaults.colors(checkedTrackColor = MlPrimary))
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
|
||||
// Post Max Index (바닥반사 무시 경계)
|
||||
var postMaxVal by remember { mutableStateOf(GreenZoneConstants.postMaxIdx.toFloat()) }
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Text("Post Max", fontSize = 28.sp, fontWeight = FontWeight.SemiBold)
|
||||
Text("Post Max", fontSize = 14.sp, fontWeight = FontWeight.SemiBold)
|
||||
Spacer(modifier = Modifier.width(8.dp))
|
||||
Text("${postMaxVal.toInt()} / 100", fontSize = 13.sp, fontWeight = FontWeight.Bold, color = MlPrimary)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
@@ -1514,7 +1515,7 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
)
|
||||
}
|
||||
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
|
||||
// Disconnect
|
||||
var showDisconnectConfirm by remember { mutableStateOf(false) }
|
||||
@@ -1544,7 +1545,7 @@ fun PiezoMonitoringView(appState: AppState) {
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
HorizontalDivider(modifier = Modifier.padding(vertical = 28.dp))
|
||||
HorizontalDivider()
|
||||
Spacer(modifier = Modifier.height(8.dp))
|
||||
|
||||
// Version (BuildConfig.VERSION_NAME) — read-only
|
||||
|
||||
Reference in New Issue
Block a user