กำลังโหลดรูปภาพ

โหลดรูปภาพจากดิสก์

ใช้ Composable Image เพื่อแสดงกราฟิกบนหน้าจอ หากต้องการโหลดรูปภาพ (เช่น PNG, JPEG, WEBP) หรือทรัพยากรเวกเตอร์จากดิสก์ ให้ใช้ API 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() เพื่อโหลดบิตแมปได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับ ImageBitmap ได้ที่ส่วนImageBitmap กับ ImageVector

การรองรับ Drawable

painterResource รองรับ Drawable ประเภทต่อไปนี้ในปัจจุบัน

โหลดรูปภาพจากอินเทอร์เน็ต

หากต้องการโหลดรูปภาพจากอินเทอร์เน็ต คุณสามารถใช้ไลบรารีของบุคคลที่สามหลายรายการ เพื่อช่วยจัดการกระบวนการนี้ได้ ไลบรารีการโหลดรูปภาพจะช่วยคุณจัดการงานหนักๆ หลายอย่าง โดยจะจัดการทั้งการแคช (คุณจึงไม่ต้องดาวน์โหลดรูปภาพหลายครั้ง) และตรรกะเครือข่ายเพื่อดาวน์โหลดรูปภาพและแสดงบนหน้าจอ

เช่น หากต้องการโหลดรูปภาพด้วย 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)

แหล่งข้อมูลเพิ่มเติม