Üst uygulama çubuğundan git

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

Örnek

Aşağıdaki snippet, işlevsel bir gezinme simgesine sahip üst uygulama çubuğunu nasıl uygulayabileceğinize dair minimal bir örnektir. Bu durumda simge, kullanıcıyı uygulamadaki önceki hedefine götürür:

@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:

  • Oluşturulabilir TopBarNavigationExample, () -> Unit türünde bir navigateBack parametresini tanımlar.
  • CenterAlignedTopAppBar öğesinin navigationIcon parametresi için navigateBack değerini geçirir.

Bu nedenle, kullanıcı üst uygulamadaki gezinme simgesini her tıkladığında navigateBack() komutunu çağırır.

Bir işlev iletme

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

Bunu yapmak için TopBarNavigationExample adlı kişiye NavController.popBackStack() numaralı telefona bir çağrı iletin. Bunu gezinme grafiğinizi oluşturduğunuz yerde yaparsınız. Örnek:

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

Ek kaynaklar

Uygulamanızda gezinmeyi nasıl uygulayacağınız hakkında daha fazla bilgi için aşağıdaki kılavuzlara bakın: