جارٍ تحميل الصور

تحميل صورة من القرص

استخدِم العنصر القابل للإنشاء Image لعرض رسم على الشاشة. لتحميل صورة (مثل PNG أو JPEG أو WEBP) أو مورد متّجه من القرص، استخدِم واجهة برمجة التطبيقات painterResource مع مرجع الصورة. لست بحاجة إلى معرفة نوع مادة العرض، ما عليك سوى استخدام painterResource في المعدّلات Image أو paint.

DrawScope:

Image(
    painter = painterResource(id = R.drawable.dog),
    contentDescription = stringResource(id = R.string.dog_content_description)
)

لضمان إمكانية استخدام تطبيقك، يجب توفير contentDescription للعناصر المرئية على الشاشة. تقرأ ميزة TalkBack وصف المحتوى بصوت عالٍ، لذا عليك التأكّد من أنّ النص مفهوم عند قراءته بصوت عالٍ وترجمته. في المثال أعلاه، يتم استخدام stringResource() لتحميل وصف المحتوى المترجَم من الملف strings.xml. إذا كان العنصر المرئي على الشاشة مخصّصًا للزخرفة فقط، اضبط قيمة contentDescription على null لكي يتجاهله قارئ الشاشة.

إذا كنت بحاجة إلى وظيفة ImageBitmap محددة على مستوى أدنى، يمكنك استخدام ImageBitmap.imageResource() لتحميل صورة نقطية. لمزيد من المعلومات حول ImageBitmaps، يُرجى قراءة قسم ImageBitmap مقابل ImageVector.

توافق العناصر القابلة للرسم

تتيح السمة painterResource حاليًا أنواع العناصر القابلة للرسم التالية:

تحميل صورة من الإنترنت

لتحميل صورة من الإنترنت، تتوفّر العديد من المكتبات التابعة لجهات خارجية لمساعدتك في التعامل مع هذه العملية. تتولّى مكتبات تحميل الصور الكثير من العمل الشاق نيابةً عنك، فهي تتعامل مع التخزين المؤقت (حتى لا يتم تنزيل الصورة عدة مرات) ومنطق الشبكة لتنزيل الصورة وعرضها على الشاشة.

على سبيل المثال، لتحميل صورة باستخدام Coil من Instacart، أضِف المكتبة إلى ملف Gradle، واستخدِم AsyncImage لتحميل صورة من عنوان URL:

AsyncImage(
    model = "https://example.com/image.jpg",
    contentDescription = "Translated description of what the image contains"
)

مكتبة لتحميل الصور تستند إلى Kotlin Coroutines (Instacart)

مكتبة سريعة وفعّالة لتحميل الصور على Android تركّز على التمرير السلس (Google)

مراجع إضافية