Centrare una finestra in Kotlin Compose

Mattepuffo's logo
Centrare una finestra in Kotlin Compose

Centrare una finestra in Kotlin Compose

Ho visto il grande annuncio della versione 1 di Compose ed ho deciso di provarlo.

In sostanza si tratta di un framework UI per Koltin creato da JetBrains, multi-piattaforma e utilizzabile anche per il mobile.

In questo modo dovrebbe essere abbastanza seemplice fare il porting da mobile a desktop e viceversa.

Oggi vediamo come centrare una finestra in un'applicazione desktop.

Se usate IntelliJ la creazione di un'applicazione desltop è molto semplice.

Detto ciò, vediamo il codice:

import androidx.compose.desktop.DesktopMaterialTheme
import androidx.compose.desktop.ui.tooling.preview.Preview
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.WindowPosition
import androidx.compose.ui.window.application
import androidx.compose.ui.window.rememberWindowState

@Composable
@Preview
fun App() {
    DesktopMaterialTheme {
        Button(onClick = {
            println("CIAO!")
        }) {
            Text("TEST COMPOSE")
        }
    }
}

fun main() = application {
    Window(
        onCloseRequest = ::exitApplication,
        resizable = false,
        title = "Test Kotlin Compose",
        state = rememberWindowState(position = WindowPosition(alignment = Alignment.Center))
    ) {
        App()
    }
}

In sostanza il tutto avviene in rememberWindowState, in cui è possibile impostare anche altre opzioni.

Enjoy!


Condividi

Commentami!