जेटपैक कंपोज़ में स्टेटस बार का रंग बदलना

May 08 2023
हल की गई हर समस्या एक सबक है। #AndroidTips #SolvedProblemToday Android एप्लिकेशन डिजाइन करते समय स्थिति बार का रंग बदलना एक सामान्य कार्य है।

हल की गई हर समस्या एक सबक है। #AndroidTips #SolvedProblemToday

जेटपैक रचना

Android एप्लिकेशन डिज़ाइन करते समय स्थिति पट्टी का रंग बदलना एक सामान्य कार्य है। जेटपैक कंपोज़ के साथ, यह एक सरल प्रक्रिया है जिसे कोड की कुछ ही पंक्तियों में किया जा सकता है।

जेटपैक कंपोज़ में स्टेटस बार का रंग बदलना

जेटपैक कंपोज़ में स्टेटस बार का रंग बदलने के लिए, हम पैकेज SystemUiControllerद्वारा प्रदान किए गए पैकेज का उपयोग कर सकते हैं।androidx.compose.ui.platform

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

dependencies {
    implementation "com.google.accompanist:accompanist-systemuicontroller:x.y.z"
}

हमें एक कंपोज़ेबल फ़ंक्शन बनाने की आवश्यकता है जो स्टेटस बार रंग सेट करेगा (क्लास SetStatusBarColor.kt बनाएं )। यहाँ एक उदाहरण है:

@Composable
fun SetStatusBarColor(color: Color) {
    val systemUiController = rememberSystemUiController()
    SideEffect {
        systemUiController.setSystemBarsColor(color)
    }
}

अगला, हम इस फ़ंक्शन को MainActivity@Composable पर हमारे मुख्य फ़ंक्शन में कॉल कर सकते हैं , जैसे:

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            YourAppNameTheme {
                StatusBarColor(color = MaterialTheme.colors.primary)
                // Other content here, example :
                Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) {
                    YourAppClass()
                }
            }
        }
    }
}

और बस! कोड की कुछ ही पंक्तियों के साथ, हम अपने जेटपैक कम्पोज़-आधारित Android एप्लिकेशन में आसानी से स्टेटस बार का रंग बदल सकते हैं।

इसका उपयोग SystemUiControllerकेवल स्टेटस बार के रंग को बदलने तक ही सीमित नहीं है, इसका उपयोग अन्य सिस्टम यूआई कॉन्फ़िगरेशन के लिए भी किया जा सकता है, जैसे कि नेविगेशन बार, इमर्सिव मोड और बहुत कुछ।

मेरे पास मेरे रिपॉजिटरी github.com/im-o में जेटपैक कंपोज़ का उपयोग करके सैंपल ऐप है ।

हो गया और धूल गया, धन्यवाद!