नेविगेशन बार की मदद से, उपयोगकर्ता किसी ऐप्लिकेशन में एक से दूसरे डेस्टिनेशन पर स्विच कर सकते हैं. आपको नेविगेशन बार का इस्तेमाल इन कामों के लिए करना चाहिए:
- एक जैसे महत्व के तीन से पांच डेस्टिनेशन
- विंडो के कॉम्पैक्ट साइज़
- ऐप्लिकेशन की सभी स्क्रीन पर एक जैसे डेस्टिनेशन

इस पेज पर, अपने ऐप्लिकेशन में मिलती-जुलती स्क्रीन और बुनियादी नेविगेशन के साथ नेविगेशन बार दिखाने का तरीका बताया गया है.
एपीआई का प्लैटफ़ॉर्म
डेस्टिनेशन स्विच करने का लॉजिक लागू करने के लिए, NavigationBar
और NavigationBarItem
कॉम्पोज़ेबल का इस्तेमाल करें. हर NavigationBarItem
एक टारगेट दिखाता है.
NavigationBarItem
में ये मुख्य पैरामीटर शामिल हैं:
selected
: यह तय करता है कि मौजूदा आइटम को विज़ुअल तौर पर हाइलाइट किया जाए या नहीं.onClick()
: ज़रूरी लैम्डा फ़ंक्शन, जो उपयोगकर्ता के आइटम पर क्लिक करने पर की जाने वाली कार्रवाई के बारे में बताता है. आम तौर पर, नेविगेशन इवेंट को मैनेज करने, चुने गए आइटम की स्थिति अपडेट करने या उससे जुड़ा कॉन्टेंट लोड करने के लिए, इस फ़ंक्शन का इस्तेमाल किया जाता है.label
: आइटम में टेक्स्ट दिखाता है. ज़रूरी नहीं.icon
: आइटम में एक आइकॉन दिखाता है. ज़रूरी नहीं.
उदाहरण: सबसे नीचे मौजूद नेविगेशन बार
नीचे दिया गया स्निपेट, आइटम के साथ बॉटम नेविगेशन बार लागू करता है, ताकि उपयोगकर्ता किसी ऐप्लिकेशन की अलग-अलग स्क्रीन पर नेविगेट कर सकें:
@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)) } }
प्रमुख बिंदु
NavigationBar
, आइटम का कलेक्शन दिखाता है. इसमें हर आइटम,Destination
से जुड़ा होता है.val navController = rememberNavController()
,NavHostController
का एक इंस्टेंस बनाता है और उसे याद रखता है. यहNavHost
में नेविगेशन को मैनेज करता है.var selectedDestination by rememberSaveable { mutableIntStateOf(startDestination.ordinal)
} फ़ंक्शन, चुने गए मौजूदा आइटम की स्थिति को मैनेज करता है.var selectedDestination by rememberSaveable { mutableIntStateOf(startDestination.ordinal) }
, चुने गए मौजूदा आइटम की स्थिति को मैनेज करता है.startDestination.ordinal
,Destination.SONGS
एनम एंट्री का अंकों वाला इंडेक्स (पोज़िशन) पाता है.
- किसी आइटम पर क्लिक करने पर, उससे जुड़ी स्क्रीन पर जाने के लिए
navController.navigate(route = destination.route)
को कॉल किया जाता है. NavigationBarItem
काonClick
लैम्ब्डा, क्लिक किए गए आइटम को विज़ुअल तौर पर हाइलाइट करने के लिए,selectedDestination
स्थिति को अपडेट करता है.- यह चुने गए स्क्रीन का असल कॉन्टेंट दिखाने के लिए,
AppNavHost
कॉम्पोज़ेबल कोnavController
औरstartDestination
पास करता है.
नतीजा
नीचे दी गई इमेज में, पिछले स्निपेट से मिला नेविगेशन बार दिखाया गया है:
