डिस्क से कोई इमेज लोड करना
स्क्रीन पर ग्राफ़िक दिखाने के लिए, Image
कंपोज़ेबल का इस्तेमाल करें. डिस्क से कोई इमेज (उदाहरण के लिए: PNG, JPEG, WEBP) या वेक्टर रिसॉर्स लोड करने के लिए, painterResource
API का इस्तेमाल करें. इसके लिए, आपको इमेज का रेफ़रंस देना होगा. आपको ऐसेट के टाइप के बारे में जानने की ज़रूरत नहीं है. बस Image
या paint
मॉडिफ़ायर में painterResource
का इस्तेमाल करें.
DrawScope
:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
यह पक्का करने के लिए कि आपका ऐप्लिकेशन ऐक्सेस किया जा सके, स्क्रीन पर मौजूद विज़ुअल एलिमेंट के लिए contentDescription
उपलब्ध कराएं. TalkBack, कॉन्टेंट के ब्यौरे को पढ़कर सुनाता है. इसलिए, आपको यह पक्का करना होगा कि टेक्स्ट को पढ़कर सुनाने और उसका अनुवाद करने पर, वह सही मतलब दे. ऊपर दिए गए उदाहरण में, stringResource()
का इस्तेमाल करके strings.xml
फ़ाइल से, अनुवाद किए गए कॉन्टेंट की जानकारी लोड की गई है. अगर स्क्रीन पर मौजूद आपका विज़ुअल एलिमेंट सिर्फ़ सजावट के लिए है, तो contentDescription
को null
पर सेट करें, ताकि स्क्रीन रीडर इसे अनदेखा कर सके.
अगर आपको ImageBitmap
की खास सुविधा का इस्तेमाल करना है, तो Bitmap को लोड करने के लिए ImageBitmap.imageResource()
का इस्तेमाल किया जा सकता है. ImageBitmap के बारे में ज़्यादा जानने के लिए, ImageBitmap बनाम ImageVector सेक्शन पढ़ें.
ड्रॉएबल सपोर्ट
painterResource
फ़िलहाल, इन ड्रॉएबल टाइप के साथ काम करता है:
AnimatedVectorDrawable
BitmapDrawable
(PNG, JPG, WEBP)ColorDrawable
VectorDrawable
इंटरनेट से कोई इमेज लोड करना
इंटरनेट से इमेज लोड करने के लिए, तीसरे पक्ष की कई लाइब्रेरी उपलब्ध हैं. इनकी मदद से, इस प्रोसेस को मैनेज किया जा सकता है. इमेज लोड करने वाली लाइब्रेरी, आपके लिए कई काम करती हैं. ये लाइब्रेरी, इमेज को कैश मेमोरी में सेव करने की सुविधा देती हैं, ताकि आपको इमेज को कई बार डाउनलोड न करना पड़े. साथ ही, ये इमेज को डाउनलोड करने और उसे स्क्रीन पर दिखाने के लिए, नेटवर्किंग लॉजिक को मैनेज करती हैं.
उदाहरण के लिए, Instacart से Coil का इस्तेमाल करके कोई इमेज लोड करने के लिए, अपनी gradle फ़ाइल में लाइब्रेरी जोड़ें. इसके बाद, यूआरएल से कोई इमेज लोड करने के लिए AsyncImage
का इस्तेमाल करें:
AsyncImage( model = "https://example.com/image.jpg", contentDescription = "Translated description of what the image contains" )
कॉइल
यह इमेज लोड करने वाली लाइब्रेरी है. इसे Kotlin Coroutines (Instacart) की मदद से बनाया गया है.
Glide
Android के लिए, इमेज को तेज़ी से और असरदार तरीके से लोड करने वाली लाइब्रेरी. यह लाइब्रेरी, स्क्रोलिंग को बेहतर बनाने पर फ़ोकस करती है (Google).
अन्य संसाधन
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक टेक्स्ट दिखता है
- Compose में उपलब्ध संसाधन
- Compose में सुलभता
- लिखते समय ग्राफ़िक