Jetpack Compose, Text
में इंटरैक्टिविटी की सुविधा देता है. लेख चयन है
अब यह ज़्यादा सुविधाजनक है. साथ ही, इसे कंपोज़ेबल लेआउट में इस्तेमाल किया जा सकता है. उपयोगकर्ता के इंटरैक्शन
टेक्स्ट में, कंपोज़ेबल लेआउट से अलग होते हैं, क्योंकि इसमें मॉडिफ़ायर नहीं जोड़ा जा सकता
Text
कंपोज़ेबल के किसी हिस्से में. इस पेज पर एपीआई के बारे में बताया गया है
जिनसे उपयोगकर्ता के इंटरैक्शन चालू रहते हैं.
टेक्स्ट चुनें
डिफ़ॉल्ट रूप से, कंपोज़ेबल को नहीं चुना जा सकता. इसका मतलब है कि लोग
अपने ऐप्लिकेशन से टेक्स्ट चुनें और उसे कॉपी करें. टेक्स्ट चुनने की सुविधा चालू करने के लिए, रैप करें
SelectionContainer
कंपोज़ेबल में आपके टेक्स्ट एलिमेंट:
@Composable fun SelectableText() { SelectionContainer { Text("This text is selectable") } }
ऐसा हो सकता है कि आप किसी जगह के खास हिस्सों को चुनने की सुविधा बंद करना चाहें. ऐसा करें
इसलिए, चुने नहीं जा सकने वाले हिस्से को DisableSelection
के साथ रैप करें
कंपोज़ेबल:
@Composable fun PartiallySelectableText() { SelectionContainer { Column { Text("This text is selectable") Text("This one too") Text("This one as well") DisableSelection { Text("But not this one") Text("Neither this one") } Text("But again, you can select this one") Text("And this one too") } } }
LinkAnnotation
की मदद से, टेक्स्ट के क्लिक किए जा सकने वाले सेक्शन बनाएं
Text
पर क्लिक सुनने के लिए, clickable
जोड़ें
कार्रवाई बदलने वाली कुंजी. हालांकि, हो सकता है कि आप एक निश्चित अवधि के लिए
Text
वैल्यू, जैसे कि किसी खास शब्द से जुड़ा कोई यूआरएल, जिसे
ब्राउज़र खोलें. इस तरह के मामलों में, आपको LinkAnnotation
का इस्तेमाल करना होगा, जो
यह एक एनोटेशन होता है, जो टेक्स्ट के क्लिक किए जा सकने वाले हिस्से को दिखाता है.
LinkAnnotation
का इस्तेमाल करके, Text
कंपोज़ेबल के किसी हिस्से में यूआरएल अटैच किया जा सकता है
जो क्लिक करने पर अपने आप खुल जाती हैं, जैसा कि नीचे दिए गए स्निपेट में दिखाया गया है:
@Composable fun AnnotatedStringWithLinkSample() { // Display a link in the text Text( buildAnnotatedString { append("Build better apps faster with ") withLink( LinkAnnotation.Url( "https://developer.android.com/jetpack/compose", TextLinkStyles(style = SpanStyle(color = Color.Blue)) ) ) { append("Jetpack Compose") } } ) }
आप कस्टम कार्रवाई भी कॉन्फ़िगर कर सकते हैं, जब उपयोगकर्ता की ओर से
Text
कंपोज़ेबल. नीचे दिए गए स्निपेट में, जब उपयोगकर्ता
“Jetpack Compose” में एक लिंक दिखता है. साथ ही, अगर उपयोगकर्ता
लिंक पर क्लिक करता है:
@Composable fun AnnotatedStringWithListenerSample() { // Display a link in the text and log metrics whenever user clicks on it. In that case we handle // the link using openUri method of the LocalUriHandler val uriHandler = LocalUriHandler.current Text( buildAnnotatedString { append("Build better apps faster with ") val link = LinkAnnotation.Url( "https://developer.android.com/jetpack/compose", TextLinkStyles(SpanStyle(color = Color.Blue)) ) { val url = (it as LinkAnnotation.Url).url // log some metrics uriHandler.openUri(url) } withLink(link) { append("Jetpack Compose") } } ) }
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक टेक्स्ट दिखता है
- कंपोज़ में सेमैंटिक्स
- Compose में सुलभता
- Compose में मटीरियल डिज़ाइन 2