Навигация из верхней панели приложения

В этом руководстве показано, как заставить значок навигации в верхней панели приложения выполнять действия по навигации.

Пример

Следующий фрагмент представляет собой минимальный пример того, как можно реализовать верхнюю панель приложения с функциональным значком навигации. В этом случае значок переносит пользователя к предыдущему пункту назначения в приложении:

@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),
       
)
   
}
}

Ключевые моменты о коде

Обратите внимание на следующее в этом примере:

  • Компонуемый TopBarNavigationExample определяет параметр navigateBack типа () -> Unit .
  • Он передает navigateBack для параметра navigationIcon CenterAlignedTopAppBar .

Таким образом, всякий раз, когда пользователь нажимает значок навигации в верхней части приложения, он вызывает navigateBack() .

Передайте функцию

В этом примере для значка используется стрелка назад. Таким образом, аргумент navigateBack() должен привести пользователя к предыдущему пункту назначения.

Для этого передайте TopBarNavigationExample вызов NavController.popBackStack() . Вы делаете это, когда строите свой навигационный граф. Например:

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

Дополнительные ресурсы

Дополнительные сведения о том, как реализовать навигацию в вашем приложении, см. в следующей серии руководств:

,

В этом руководстве показано, как заставить значок навигации в верхней панели приложения выполнять действия по навигации.

Пример

Следующий фрагмент представляет собой минимальный пример того, как можно реализовать верхнюю панель приложения с функциональным значком навигации. В этом случае значок переносит пользователя к предыдущему пункту назначения в приложении:

@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),
       
)
   
}
}

Ключевые моменты о коде

Обратите внимание на следующее в этом примере:

  • Компонуемый TopBarNavigationExample определяет параметр navigateBack типа () -> Unit .
  • Он передает navigateBack для параметра navigationIcon CenterAlignedTopAppBar .

Таким образом, всякий раз, когда пользователь нажимает значок навигации в верхней части приложения, он вызывает navigateBack() .

Передайте функцию

В этом примере для значка используется стрелка назад. Таким образом, аргумент navigateBack() должен привести пользователя к предыдущему пункту назначения.

Для этого передайте TopBarNavigationExample вызов NavController.popBackStack() . Вы делаете это, когда строите свой навигационный граф. Например:

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

Дополнительные ресурсы

Дополнительные сведения о том, как реализовать навигацию в вашем приложении, см. в следующей серии руководств:

,

В этом руководстве показано, как заставить значок навигации в верхней панели приложения выполнять действия по навигации.

Пример

Следующий фрагмент представляет собой минимальный пример того, как можно реализовать верхнюю панель приложения с функциональным значком навигации. В этом случае значок переносит пользователя к предыдущему пункту назначения в приложении:

@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),
       
)
   
}
}

Ключевые моменты о коде

Обратите внимание на следующее в этом примере:

  • Компонуемый TopBarNavigationExample определяет параметр navigateBack типа () -> Unit .
  • Он передает navigateBack для параметра navigationIcon CenterAlignedTopAppBar .

Таким образом, всякий раз, когда пользователь нажимает значок навигации в верхней части приложения, он вызывает navigateBack() .

Передайте функцию

В этом примере для значка используется стрелка назад. Таким образом, аргумент navigateBack() должен привести пользователя к предыдущему пункту назначения.

Для этого передайте TopBarNavigationExample вызов NavController.popBackStack() . Вы делаете это, когда строите свой навигационный граф. Например:

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

Дополнительные ресурсы

Дополнительные сведения о том, как реализовать навигацию в вашем приложении, см. в следующей серии руководств:

,

В этом руководстве показано, как заставить значок навигации в верхней панели приложения выполнять действия по навигации.

Пример

Следующий фрагмент представляет собой минимальный пример того, как можно реализовать верхнюю панель приложения с функциональным значком навигации. В этом случае значок переносит пользователя к предыдущему пункту назначения в приложении:

@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),
       
)
   
}
}

Ключевые моменты о коде

Обратите внимание на следующее в этом примере:

  • Компонуемый TopBarNavigationExample определяет параметр navigateBack типа () -> Unit .
  • Он передает navigateBack для параметра navigationIcon CenterAlignedTopAppBar .

Таким образом, всякий раз, когда пользователь нажимает значок навигации в верхней части приложения, он вызывает navigateBack() .

Передайте функцию

В этом примере для значка используется стрелка назад. Таким образом, аргумент navigateBack() должен привести пользователя к предыдущему пункту назначения.

Для этого передайте TopBarNavigationExample вызов NavController.popBackStack() . Вы делаете это, когда строите свой навигационный граф. Например:

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

Дополнительные ресурсы

Дополнительные сведения о том, как реализовать навигацию в вашем приложении, см. в следующей серии руководств: