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

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

ใช้ 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 คุณสามารถใช้ 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)

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