Üst uygulama çubuğundan git

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

Örnek

Aşağıdaki snippet, işlevsel bir gezinme simgesi içeren üst uygulama çubuğunu nasıl uygulayabileceğinize dair basit bir örnektir. Bu durumda simge, kullanıcıyı uygulamada daha önce bulunduğu yere 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 şunlara dikkat edin:

  • TopBarNavigationExample composable'ı, () -> Unit türünde bir navigateBack parametresi tanımlıyor.
  • CenterAlignedTopAppBar öğesinin navigationIcon parametresi için navigateBack değerini iletir.

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

İşlev iletme

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

Bunu yapmak için NavController.popBackStack() yöntemine TopBarNavigationExample çağrısı gönderin. 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 nasıl uygulayacağınız hakkında daha fazla bilgi için aşağıdaki kılavuz serisine bakın: