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

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

ใช้คอมโพสิเบิล 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 รองรับประเภทภาพวาดต่อไปนี้

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

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

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