Üst uygulama çubuğundan git

Bu kılavuzda, üst uygulama çubuğundaki gezinme simgesinin gezinme işlemlerini nasıl gerçekleştirebileceği gösterilmektedir.

Örnek

Aşağıdaki snippet, işlevsel bir gezinme simgesi içeren üst uygulama çubuğunu nasıl uygulayabileceğinize dair en basit örnektir. Bu durumda simge, kullanıcıyı uygulamadaki önceki hedefine yönlendirir:

@Composable
fun TopBarNavigationExample(
    navigateBack: () -> Unit,
) {
    Scaffold(
        topBar = {
            CenterAlignedTopAppBar(
                title = {
                    Text(
                        "Navigation example",
                    )
                },
                navigationIcon = {
                    IconButton(onClick = navigateBack) {
                        Icon(
                            imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                            contentDescription = "Localized description"
                        )
                    }
                },
            )
        },
    ) { innerPadding ->
        Text(
            "Click the back button to pop from the back stack.",
            modifier = Modifier.padding(innerPadding),
        )
    }
}

Kodla ilgili önemli noktalar

Bu örnekte aşağıdakilere dikkat edin:

  • Birleştirilebilir TopBarNavigationExample, () -> Unit türünde bir parametre navigateBack tanımlar.
  • CenterAlignedTopAppBar için navigationIcon parametresine navigateBack değerini iletir.

Bu nedenle, kullanıcı üst uygulama geri düğmesindeki gezinme simgesini her tıkladığında navigateBack() çağrılır.

İşlev geçirme

Bu örnekte simge olarak geri ok kullanılmıştır. Bu nedenle, navigateBack() bağımsız değişkeni kullanıcıyı önceki hedefe götürmelidir.

Bunu yapmak için TopBarNavigationExample işlevini NavController.popBackStack() işlevine iletin. Bunu, gezinme grafiğinizi oluşturduğunuz yerde yaparsınız. Örneğin:

NavHost(navController, startDestination = "home") {
    composable("topBarNavigationExample") {
        TopBarNavigationExample{ navController.popBackStack() }
    }
    // Other destinations...

Ek kaynaklar

Uygulamanızda gezinmeyi uygulama hakkında daha fazla bilgi için aşağıdaki kılavuz serisine bakın: