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

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

ใช้ 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)

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