UI 묶음 D: ClinicalLive 6채널 그래프 2x3 복귀 + height 320dp (y축 늘림)
회의 #1: 일렬 6행은 y축 짧아서 기울기 안 보임 → 2x3 grid 복귀 + 셀 height 더 키움. - layout: 1열 6행 → 2열 3행 (Row × 3 with 2 cells each, weight 1) - spacing: 4dp → 6dp (셀 사이 여유) - Card height: 240dp → 320dp (y축 길이 확보 → 기울기 가독성) - 화면 점유: 3행 × 320dp + spacing ≈ 980dp (태블릿 가용 1500dp의 약 2/3) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+23
-13
@@ -306,20 +306,30 @@ private fun SixChannelGrid(
|
|||||||
Color(0xFF1976D2), Color(0xFF388E3C), Color(0xFFE64A19),
|
Color(0xFF1976D2), Color(0xFF388E3C), Color(0xFFE64A19),
|
||||||
Color(0xFF7B1FA2), Color(0xFF00838F), Color(0xFFD81B60),
|
Color(0xFF7B1FA2), Color(0xFF00838F), Color(0xFFD81B60),
|
||||||
)
|
)
|
||||||
// 회의 결정: 1열 6행 세로 일렬 — 각 채널이 화면 width 가득.
|
// 회의 #1: 2열 3행 grid로 복귀 + 셀 height 더 키움 → y축 길이 확보로 기울기 보임.
|
||||||
// 외부 부모 Column이 이미 verticalScroll을 가지므로 여기선 nested scroll 피함.
|
// 화면 전체의 2/3 정도 차지 (3행 × 320dp ≈ 960dp).
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
verticalArrangement = Arrangement.spacedBy(4.dp)
|
verticalArrangement = Arrangement.spacedBy(6.dp)
|
||||||
) {
|
) {
|
||||||
for (ch in 0 until 6) {
|
for (row in 0 until 3) {
|
||||||
val data = channels.find { it.channel == ch }
|
Row(
|
||||||
ChannelChart(
|
modifier = Modifier.fillMaxWidth(),
|
||||||
channelIdx = ch,
|
horizontalArrangement = Arrangement.spacedBy(6.dp)
|
||||||
buffer = data?.buffer ?: emptyList(),
|
) {
|
||||||
color = channelColors[ch],
|
for (col in 0 until 2) {
|
||||||
walls = walls.getOrNull(ch),
|
val ch = row * 2 + col
|
||||||
)
|
val data = channels.find { it.channel == ch }
|
||||||
|
Box(modifier = Modifier.weight(1f)) {
|
||||||
|
ChannelChart(
|
||||||
|
channelIdx = ch,
|
||||||
|
buffer = data?.buffer ?: emptyList(),
|
||||||
|
color = channelColors[ch],
|
||||||
|
walls = walls.getOrNull(ch),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -334,11 +344,11 @@ private fun ChannelChart(
|
|||||||
) {
|
) {
|
||||||
val antColor = Color(0xFF4CAF50) // green = anterior wall
|
val antColor = Color(0xFF4CAF50) // green = anterior wall
|
||||||
val postColor = Color(0xFFFF9800) // orange = posterior wall
|
val postColor = Color(0xFFFF9800) // orange = posterior wall
|
||||||
// 사용자 피드백: 태블릿 2x3 grid에서 그래프 작음 → 셀 크기 + 폰트 + 선 굵기 모두 키움
|
// 회의 #1: 2x3 grid에서 y축 더 늘림 → 기울기 잘 보임. 한 셀 height 240→320dp.
|
||||||
Card(
|
Card(
|
||||||
shape = RoundedCornerShape(8.dp),
|
shape = RoundedCornerShape(8.dp),
|
||||||
colors = CardDefaults.cardColors(containerColor = Color.White),
|
colors = CardDefaults.cardColors(containerColor = Color.White),
|
||||||
modifier = Modifier.fillMaxWidth().height(240.dp)
|
modifier = Modifier.fillMaxWidth().height(320.dp)
|
||||||
) {
|
) {
|
||||||
Column(modifier = Modifier.fillMaxSize().padding(8.dp)) {
|
Column(modifier = Modifier.fillMaxSize().padding(8.dp)) {
|
||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
|
|||||||
Reference in New Issue
Block a user