डिस्क से कोई इमेज लोड करना
स्क्रीन पर ग्राफ़िक दिखाने के लिए, 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 फ़िलहाल, इन ड्रॉएबल टाइप के साथ काम करता है:
AnimatedVectorDrawableBitmapDrawable(PNG, JPG, WEBP)ColorDrawableVectorDrawable
इंटरनेट से कोई इमेज लोड करना
इंटरनेट से इमेज लोड करने के लिए, तीसरे पक्ष की कई लाइब्रेरी उपलब्ध हैं. इनकी मदद से, इस प्रोसेस को मैनेज किया जा सकता है. इमेज लोड करने वाली लाइब्रेरी, आपके लिए कई काम करती हैं. ये लाइब्रेरी, इमेज को कैश मेमोरी में सेव करती हैं, ताकि आपको इमेज को कई बार डाउनलोड न करना पड़े. साथ ही, ये इमेज को डाउनलोड करने और उसे स्क्रीन पर दिखाने के लिए, नेटवर्किंग लॉजिक को मैनेज करती हैं.
उदाहरण के लिए, 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 में सुलभता सुविधाएं
- लिखते समय ग्राफ़िक