Scaffold
Material Design में, स्कैफ़ोल्ड एक बुनियादी स्ट्रक्चर होता है. यह जटिल यूज़र इंटरफ़ेस के लिए, स्टैंडर्ड प्लैटफ़ॉर्म उपलब्ध कराता है. यह यूज़र इंटरफ़ेस (यूआई) के अलग-अलग हिस्सों को एक साथ रखता है, जैसे कि ऐप्लिकेशन बार और फ़्लोटिंग ऐक्शन बटन. इससे ऐप्लिकेशन को एक जैसा लुक और फ़ील मिलता है.
उदाहरण
Scaffold
कॉम्पोज़ेबल, एक आसान एपीआई उपलब्ध कराता है. इसका इस्तेमाल करके, Material Design के दिशा-निर्देशों के मुताबिक अपने ऐप्लिकेशन का स्ट्रक्चर तुरंत बनाया जा सकता है.
Scaffold
, पैरामीटर के तौर पर कई कंपोज़ेबल स्वीकार करता है. इनमें ये शामिल हैं:
topBar
: स्क्रीन पर सबसे ऊपर मौजूद ऐप्लिकेशन बार.bottomBar
: स्क्रीन पर सबसे नीचे मौजूद ऐप्लिकेशन बार.floatingActionButton
: यह एक बटन है, जो स्क्रीन के सबसे नीचे दाएं कोने पर दिखता है. इसका इस्तेमाल, मुख्य कार्रवाइयों को एक्सपोज़ करने के लिए किया जा सकता है.
ऐप्लिकेशन के ऊपरी और निचले ऐप्लिकेशन बार को लागू करने के तरीके के बारे में ज़्यादा जानकारी के लिए, ऐप्लिकेशन बार पेज देखें.
Scaffold
कॉन्टेंट को दूसरे कंटेनर की तरह ही पास किया जा सकता है. यह content
lambda फ़ंक्शन में innerPadding
वैल्यू भेजता है. इसका इस्तेमाल, चाइल्ड कॉम्पोज़ेबल में किया जा सकता है.
यहां दिए गए उदाहरण में, Scaffold
को लागू करने का पूरा उदाहरण दिया गया है. इसमें सबसे ऊपर मौजूद ऐप्लिकेशन बार, सबसे नीचे मौजूद ऐप्लिकेशन बार, और एक फ़्लोटिंग ऐक्शन बटन होता है. यह बटन, Scaffold
के इंटरनल स्टेटस के साथ इंटरैक्ट करता है.
@Composable fun ScaffoldExample() { var presses by remember { mutableIntStateOf(0) } Scaffold( topBar = { TopAppBar( colors = topAppBarColors( containerColor = MaterialTheme.colorScheme.primaryContainer, titleContentColor = MaterialTheme.colorScheme.primary, ), title = { Text("Top app bar") } ) }, bottomBar = { BottomAppBar( containerColor = MaterialTheme.colorScheme.primaryContainer, contentColor = MaterialTheme.colorScheme.primary, ) { Text( modifier = Modifier .fillMaxWidth(), textAlign = TextAlign.Center, text = "Bottom app bar", ) } }, floatingActionButton = { FloatingActionButton(onClick = { presses++ }) { Icon(Icons.Default.Add, contentDescription = "Add") } } ) { innerPadding -> Column( modifier = Modifier .padding(innerPadding), verticalArrangement = Arrangement.spacedBy(16.dp), ) { Text( modifier = Modifier.padding(8.dp), text = """ This is an example of a scaffold. It uses the Scaffold composable's parameters to create a screen with a simple top app bar, bottom app bar, and floating action button. It also contains some basic inner content, such as this text. You have pressed the floating action button $presses times. """.trimIndent(), ) } } }
लागू होने पर यह ऐसा दिखता है: