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

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

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

การสนับสนุนภาพวาด

ปัจจุบัน 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)