स्विच करें

Switch कॉम्पोनेंट की मदद से, उपयोगकर्ता दो स्थितियों के बीच टॉगल कर सकते हैं: चेक किया गया और चेक नहीं किया गया. आपके ऐप्लिकेशन में, स्विच का इस्तेमाल करके उपयोगकर्ता को इनमें से कोई एक काम करने की अनुमति दी जा सकती है:

  • किसी सेटिंग को टॉगल करके चालू या बंद करना.
  • किसी सुविधा को चालू या बंद करना.
  • कोई विकल्प चुनना.

इस कॉम्पोनेंट के दो हिस्से होते हैं: थंब और ट्रैक. थंब, स्विच का वह हिस्सा होता है जिसे ड्रैग किया जा सकता है. वहीं, ट्रैक बैकग्राउंड होता है. स्विच की स्थिति बदलने के लिए, उपयोगकर्ता थंब को बाईं या दाईं ओर ड्रैग कर सकता है. उपयोगकर्ता, स्विच को चेक करने और उसे साफ़ करने के लिए, उस पर टैप भी कर सकता है.

लाइट और डार्क मोड, दोनों में स्विच कॉम्पोनेंट के उदाहरण.
पहली इमेज. स्विच कॉम्पोनेंट.

बुनियादी तौर पर लागू करना

एपीआई की पूरी जानकारी के लिए, Switch के रेफ़रंस देखें. यहां कुछ मुख्य पैरामीटर दिए गए हैं जिनका इस्तेमाल आपको करना पड़ सकता है:

  • checked: स्विच की शुरुआती स्थिति.
  • onCheckedChange: यह एक कॉलबैक है, जिसे स्विच की स्थिति बदलने पर कॉल किया जाता है.
  • enabled: इससे पता चलता है कि स्विच चालू है या बंद.
  • colors: स्विच के लिए इस्तेमाल किए जाने वाले रंग.

यहां Switch कंपोज़ेबल को कम से कम लागू करने का एक उदाहरण दिया गया है.

@Composable
fun SwitchMinimalExample() {
    var checked by remember { mutableStateOf(true) }

    Switch(
        checked = checked,
        onCheckedChange = {
            checked = it
        }
    )
}

चेक नहीं किए जाने पर, यह इस तरह दिखता है:

यह एक बेसिक स्विच है जिस पर सही का निशान नहीं लगा है.
दूसरी इमेज. चेक नहीं किया गया स्विच.

चेक किए जाने पर, यह इस तरह दिखता है:

यह एक बुनियादी स्विच है जिस पर सही का निशान लगा है.
तीसरी इमेज. चेक किया गया स्विच.

ऐडवांस तरीके से लागू करना

ऐडवांस स्विच लागू करते समय, आपको इन प्राइमरी पैरामीटर का इस्तेमाल करना पड़ सकता है:

  • thumbContent: इसका इस्तेमाल, चेक किए जाने पर थंब के दिखने के तरीके को पसंद के मुताबिक बनाने के लिए करें.
  • colors: इसका इस्तेमाल, ट्रैक और थंब के रंग को पसंद के मुताबिक बनाने के लिए करें.

कस्टम थंब

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

@Composable
fun SwitchWithIconExample() {
    var checked by remember { mutableStateOf(true) }

    Switch(
        checked = checked,
        onCheckedChange = {
            checked = it
        },
        thumbContent = if (checked) {
            {
                Icon(
                    imageVector = Icons.Filled.Check,
                    contentDescription = null,
                    modifier = Modifier.size(SwitchDefaults.IconSize),
                )
            }
        } else {
            null
        }
    )
}

इस उदाहरण में, चेक नहीं किए जाने पर स्विच उसी तरह दिखता है जैसा कि पिछले सेक्शन में दिखाया गया है. हालांकि, चेक किए जाने पर यह इस तरह दिखता है:

यह एक ऐसा स्विच है जो चुने जाने पर, thumbContent पैरामीटर का इस्तेमाल करके कस्टम आइकॉन दिखाता है.
चौथी इमेज. चेक किए जाने पर कस्टम आइकॉन वाला स्विच.

पसंद के हिसाब से रंग

यहां एक उदाहरण दिया गया है, जिसमें दिखाया गया है कि स्विच के चेक किए जाने के हिसाब से, उसके थंब और ट्रैक का रंग बदलने के लिए, colors पैरामीटर का इस्तेमाल कैसे किया जा सकता है.

@Composable
fun SwitchWithCustomColors() {
    var checked by remember { mutableStateOf(true) }

    Switch(
        checked = checked,
        onCheckedChange = {
            checked = it
        },
        colors = SwitchDefaults.colors(
            checkedThumbColor = MaterialTheme.colorScheme.primary,
            checkedTrackColor = MaterialTheme.colorScheme.primaryContainer,
            uncheckedThumbColor = MaterialTheme.colorScheme.secondary,
            uncheckedTrackColor = MaterialTheme.colorScheme.secondaryContainer,
        )
    )
}

यह इस तरह दिखता है:

यह एक ऐसा स्विच है जो कलर्स पैरामीटर का इस्तेमाल करके, थंब और ट्रैक, दोनों के लिए पसंद के हिसाब से रंगों वाला स्विच दिखाता है.
पांचवी इमेज. पसंद के हिसाब से रंगों वाला स्विच.

अन्य संसाधन