Accompanist Kotlin: पूरी गाइड उदाहरणों के साथ
1. यह क्या है और क्यों ज़रूरी है?
Accompanist, Jetpack Compose के लिए Google टीम द्वारा विकसित एक्सटेंशन लाइब्रेरीज़ का एक संग्रह है। यह उन कार्यों के लिए तैयार समाधान प्रदान करता है जो या तो अभी तक Compose के स्थिर API में शामिल नहीं हुए हैं, या जिन्हें शुरू से लागू करना जटिल है। यह लाइब्रेरी उन समस्याओं को हल करती है जिनका सामना हर Compose डेवलपर करता है: जेस्चर, सिस्टम पैनल, एनिमेशन, वेबव्यू, विभिन्न स्क्रीन के लिए अनुकूलन और भी बहुत कुछ।
इसकी ज़रूरत क्यों है? सबसे पहले, Accompanist समय बचाता है। अपना खुद का जेस्चर हैंडलर या सिस्टम पैनल के लिए कस्टम मॉडिफायर लिखने के बजाय, आप एक तैयार, परीक्षण किए गए कंपोनेंट का उपयोग करते हैं। दूसरा, यह लाइब्रेरी Google की आधिकारिक सिफारिशों का पालन करती है और अक्सर भविष्य के स्थिर Compose API के लिए प्रोटोटाइप बन जाती है। उदाहरण के लिए, Accompanist का HorizontalPager बाद में Compose Foundation में HorizontalPager के रूप में जोड़ा गया था।
इस लेख को लिखने के समय, Accompanist में निम्नलिखित मॉड्यूल शामिल हैं: systemuicontroller (स्टेटस-बार और नेविगेशन प्रबंधन), permissions (रनटाइम पर अनुमति अनुरोध), webview (WebView एम्बेड करना), pager (क्षैतिज/लंबवत पेज स्क्रॉलिंग), swiperefresh (pull-to-refresh जेस्चर), placeholder (स्केलेटन लोडिंग), adaptive (अनुकूली लेआउट), navigation-animation (ट्रांज़िशन एनिमेशन) और अन्य।
2. इंस्टॉलेशन
Accompanist, Gradle (Android/Kotlin Multiplatform) के लिए एक लाइब्रेरी है। इसे अपने मॉड्यूल के build.gradle.kts (या build.gradle) फ़ाइल में डिपेंडेंसी जोड़कर इंस्टॉल किया जाता है। pip, npm, cargo या go get कमांड का उपयोग नहीं किया जाता, क्योंकि यह Python, JavaScript, Rust या Go नहीं है।
किसी विशिष्ट मॉड्यूल (जैसे systemuicontroller) को जोड़ने का सटीक तरीका:
// build.gradle.kts (Module)
dependencies {
implementation("com.google.accompanist:accompanist-systemuicontroller:0.34.0")
// अन्य मॉड्यूल के लिए:
// implementation("com.google.accompanist:accompanist-permissions:0.34.0")
// implementation("com.google.accompanist:accompanist-pager:0.34.0")
// implementation("com.google.accompanist:accompanist-swiperefresh:0.34.0")
// implementation("com.google.accompanist:accompanist-webview:0.34.0")
// implementation("com.google.accompanist:accompanist-placeholder:0.34.0")
}
महत्वपूर्ण: GitHub Releases पर नवीनतम संस्करण जांचें। संस्करण 0.34.0 इस लेख को लिखने के समय नवीनतम स्थिर संस्करण है। सुनिश्चित करें कि आपका Kotlin और Compose संस्करण चुने गए Accompanist संस्करण के साथ संगत है।
3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण
एक ऐसा स्क्रीन बनाते हैं जो बटन दबाने पर स्टेटस-बार का रंग बदलता है। इसके लिए हम systemuicontroller मॉड्यूल का उपयोग करेंगे।
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import com.google.accompanist.systemuicontroller.rememberSystemUiController
@Composable
fun QuickStartExample() {
val systemUiController = rememberSystemUiController()
var isDark by remember { mutableStateOf(false) }
// स्थिति के अनुसार स्टेटस-बार का रंग सेट करें
LaunchedEffect(isDark) {
if (isDark) {
systemUiController.setStatusBarColor