Gezinme çubuğu, kullanıcıların bir uygulamadaki hedefler arasında geçiş yapmasına olanak tanır. Gezinme çubuklarını şu amaçlarla kullanmalısınız:
- Eşit derecede önemli üç ila beş hedef
- Kompakt pencere boyutları
- Uygulama ekranlarında tutarlı hedefler

Bu sayfada, uygulamanızda ilgili ekranlar ve temel gezinme ile bir gezinme çubuğunun nasıl gösterileceği gösterilmektedir.
API yüzeyi
Hedef değiştirme mantığını uygulamak için NavigationBar
ve NavigationBarItem
bileşenlerini kullanın. Her NavigationBarItem
tek bir hedefi temsil eder.
NavigationBarItem
aşağıdaki temel parametreleri içerir:
selected
: Geçerli öğenin görsel olarak vurgulanıp vurgulanmayacağını belirler.onClick()
: Kullanıcı öğeyi tıkladığında gerçekleştirilecek işlemi tanımlayan zorunlu bir lambda işlevi. Burada genellikle gezinme etkinliklerini yönetir, seçili öğe durumunu günceller veya ilgili içeriği yüklersiniz.label
: Öğe içinde metin gösterir. İsteğe bağlıdır.icon
: Öğe içinde bir simge gösterir. İsteğe bağlıdır.
Örnek: Alt gezinme çubuğu
Aşağıdaki snippet, kullanıcıların bir uygulamadaki farklı ekranlar arasında gezinebilmesi için öğeler içeren bir alt gezinme çubuğu uygular:
@Composable fun NavigationBarExample(modifier: Modifier = Modifier) { val navController = rememberNavController() val startDestination = Destination.SONGS var selectedDestination by rememberSaveable { mutableIntStateOf(startDestination.ordinal) } Scaffold( modifier = modifier, bottomBar = { NavigationBar(windowInsets = NavigationBarDefaults.windowInsets) { Destination.entries.forEachIndexed { index, destination -> NavigationBarItem( selected = selectedDestination == index, onClick = { navController.navigate(route = destination.route) selectedDestination = index }, icon = { Icon( destination.icon, contentDescription = destination.contentDescription ) }, label = { Text(destination.label) } ) } } } ) { contentPadding -> AppNavHost(navController, startDestination, modifier = Modifier.padding(contentPadding)) } }
Önemli noktalar
NavigationBar
, her biri birDestination
'a karşılık gelen bir öğe koleksiyonu gösterir.val navController = rememberNavController()
,NavHost
içindeki gezinmeyi yöneten birNavHostController
örneği oluşturup hatırlar.var selectedDestination by rememberSaveable { mutableIntStateOf(startDestination.ordinal)
} şu anda seçili öğenin durumunu yönetir.var selectedDestination by rememberSaveable { mutableIntStateOf(startDestination.ordinal) }
, şu anda seçili öğenin durumunu yönetir.startDestination.ordinal
,Destination.SONGS
enum girişinin sayısal dizinini (konumunu) alır.
- Bir öğe tıklandığında, ilgili ekrana gitmek için
navController.navigate(route = destination.route)
çağrılır. NavigationBarItem
işlevininonClick
lambdası, tıklanan öğeyi görsel olarak vurgulamak içinselectedDestination
durumunu günceller.- Seçilen ekranın asıl içeriğini görüntülemek için
AppNavHost
bileşenini çağırır venavController
ilestartDestination
parametrelerini iletir.
Sonuç
Aşağıdaki resimde, önceki snippet'ten oluşturulan gezinme çubuğu gösterilmektedir:
