पैरलैक्स स्क्रोलिंग एक ऐसी तकनीक है जिसमें बैकग्राउंड और फ़ोरग्राउंड का कॉन्टेंट अलग-अलग स्पीड से स्क्रोल होता है. इस तकनीक को लागू करके, अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) को बेहतर बनाया जा सकता है. इससे, उपयोगकर्ताओं के स्क्रोल करने पर उन्हें ज़्यादा डाइनैमिक अनुभव मिलता है.
नतीजे
वर्शन के साथ काम करने वाली सुविधाएं
इस सुविधा को लागू करने के लिए, ज़रूरी है कि आपके प्रोजेक्ट का minSDK, एपीआई लेवल 21 या उससे ज़्यादा पर सेट हो.
डिपेंडेंसी
पैरलैक्स इफ़ेक्ट बनाना
पैरलैक्स इफ़ेक्ट पाने के लिए, स्क्रोलिंग कंपोज़ेबल से स्क्रोलिंग वैल्यू का एक हिस्सा, उस कंपोज़ेबल पर लागू करें जिसमें पैरलैक्स इफ़ेक्ट की ज़रूरत होती है. यहां दिया गया स्निपेट, नेस्ट किए गए दो विज़ुअल एलिमेंट—एक इमेज और टेक्स्ट का एक ब्लॉक—लेता है और उन्हें एक ही दिशा में अलग-अलग स्पीड से स्क्रोल करता है:
@Composable fun ParallaxEffect() { fun Modifier.parallaxLayoutModifier(scrollState: ScrollState, rate: Int) = layout { measurable, constraints -> val placeable = measurable.measure(constraints) val height = if (rate > 0) scrollState.value / rate else scrollState.value layout(placeable.width, placeable.height) { placeable.place(0, height) } } val scrollState = rememberScrollState() Column( modifier = Modifier .fillMaxWidth() .verticalScroll(scrollState), ) { Image( painterResource(id = R.drawable.cupcake), contentDescription = "Android logo", contentScale = ContentScale.Fit, // Reduce scrolling rate by half. modifier = Modifier.parallaxLayoutModifier(scrollState, 2) ) Text( text = stringResource(R.string.detail_placeholder), modifier = Modifier .background(Color.White) .padding(horizontal = 8.dp), ) } }
कोड के बारे में अहम बातें
- कंपोज़ेबल के स्क्रोल होने की दर को अडजस्ट करने के लिए, कस्टम
layoutमॉडिफ़ायर बनाता है. Image,Textकी तुलना में धीमी दर से स्क्रोल होती है. इससे पैरलैक्स इफ़ेक्ट दिखता है, क्योंकि दोनों कंपोज़ेबल वर्टिकल तौर पर अलग-अलग दरों पर ट्रांसलेट होते हैं.
इस गाइड वाली कलेक्शन
यह गाइड, चुनी गई उन क्विक गाइड कलेक्शन का हिस्सा है जिनमें Android डेवलपमेंट के बड़े लक्ष्यों के बारे में बताया गया है:
लिस्ट या ग्रिड दिखाना
इमेज दिखाना