Панель времени/заряда: оверлей-слой поверх контента, у низа экрана — стабильно при любом масштабе

This commit is contained in:
2026-08-25 02:28:00 +03:00
parent 8958370507
commit d113ffd744
2 changed files with 58 additions and 61 deletions
@@ -473,6 +473,9 @@ fun ConnectionScreen() {
val containerW = (screenWidthPx * scale).toInt() val containerW = (screenWidthPx * scale).toInt()
val containerH = (screenHeightPx * scale).toInt() val containerH = (screenHeightPx * scale).toInt()
// Оверлей-обёртка половины: контейнер (смещается scale/vertical) + панель статуса
// поверх него. Панель — у низа экрана при любом масштабе/вертикали.
Box(Modifier.fillMaxSize()) {
Box( Box(
modifier = Modifier modifier = Modifier
.width(containerW.px) .width(containerW.px)
@@ -497,15 +500,11 @@ fun ConnectionScreen() {
} }
} }
} }
// Оверлей распознавания/ответа — в AssistantOverlay (корень, поверх любого экрана). // Оверлей распознавания/ответа — в AssistantOverlay (корень, поверх любого экрана).
} }
// Панель статуса (время/заряд) — вне контейнера, всегда у верха половины:
// при vertical=0 контейнер у низа, и панель иначе повисала бы посередине.
Box(Modifier.fillMaxSize()) {
StatusPanelCompose( StatusPanelCompose(
modifier = Modifier.align(Alignment.TopCenter).padding(top = 12.dp), modifier = Modifier.align(Alignment.BottomCenter).padding(bottom = 10.dp),
scale = scale, scale = scale,
) )
} }
@@ -104,6 +104,9 @@ fun GlassesMovieScreen(
maxHeight = containerH - 25, maxHeight = containerH - 25,
) )
// Оверлей-обёртка половины: контейнер (смещается scale/vertical) + панель статуса
// поверх него. Панель — у низа экрана при любом масштабе/вертикали.
Box(Modifier.fillMaxSize()) {
Box( Box(
modifier = Modifier modifier = Modifier
.width(containerW.px) .width(containerW.px)
@@ -134,15 +137,10 @@ fun GlassesMovieScreen(
) )
} }
} }
// Панель статуса (время/заряд) — вне контейнера, всегда у верха половины:
// при vertical=0 контейнер у низа, и панель иначе повисала бы посередине
// чёрного поля между верхом экрана и видео.
} }
Box(Modifier.fillMaxSize()) {
StatusPanelCompose( StatusPanelCompose(
modifier = Modifier.align(Alignment.TopCenter).padding(top = 12.dp), modifier = Modifier.align(Alignment.BottomCenter).padding(bottom = 10.dp),
scale = scale, scale = scale,
) )
} }