Как получить положение окна в Compose Desktop?

Рейтинг: 1Ответов: 1Опубликовано: 22.05.2023

Подскажите, как получить положение окна?

Пробовал так:

val posX = remember { mutableStateOf(WindowState().position) }
Text(
    "  ${posX.value.y} ${posX.value.x}",
    fontSize = 24.sp,
    modifier = Modifier
        .clickable(onClick = { "  ${posX.value.y} ${posX.value.x}"})
)

Получаю:

"Dp.Unspecified Dp.Unspecified"

Ответы

▲ 3Принят

Чтобы подписаться на изменения WindowState, создайте объект WindowState с помощью метода rememberWindowState() и передайте его в Window:

val windowState = rememberWindowState()
Window(onCloseRequest = ::exitApplication, state = windowState) {
    Text("Window position: ${windowState.position}")
}