จัดการทรัพยากร UI ของแอปด้วย Resource Manager

Resource Manager เป็นหน้าต่างเครื่องมือสำหรับนำเข้า สร้าง จัดการ และใช้ทรัพยากรในแอป หากต้องการเปิดหน้าต่างเครื่องมือ ให้เลือกดู > หน้าต่างเครื่องมือ > Resource Manager จากเมนู หรือเลือก Resource Manager ในแถบด้านซ้าย

หน้าต่างเครื่องมือ Resource Manager ใน Android Studio
รูปที่ 1 หน้าต่างเครื่องมือ Resource Manager
  1. คลิกเพิ่ม เพื่อเพิ่มแหล่งข้อมูลใหม่ลงในโปรเจ็กต์ คุณสามารถเพิ่มชิ้นงานรูปภาพ ชิ้นงานเวกเตอร์ แบบอักษร หรือไฟล์และค่าทรัพยากร หรือจะนำเข้า Drawable ไปยังโปรเจ็กต์ก็ได้
  2. เลือกโมดูลเพื่อดูแหล่งข้อมูลที่เจาะจงสำหรับโมดูลนั้น
  3. ค้นหาแหล่งข้อมูลในโมดูลทั้งหมดในโปรเจ็กต์โดยใช้แถบค้นหา
  4. แสดงทรัพยากรตามประเภทใน Resource Manager ใช้แท็บเหล่านี้เพื่อสลับระหว่างประเภททรัพยากร คลิกไอคอนรายการเพิ่มเติม ปุ่มเมนูตัวเลือกเพิ่มเติม เพื่อแสดงประเภทแหล่งข้อมูลเพิ่มเติม
  5. กรองทรัพยากรที่แสดงจากโมดูลที่ขึ้นต่อกันในเครื่อง ไลบรารีภายนอก และเฟรมเวิร์ก Android โดยใช้ปุ่มตัวกรอง นอกจากนี้ คุณยังใช้ตัวกรองเพื่อแสดงแอตทริบิวต์ธีมได้ด้วย
  6. ดูตัวอย่างแหล่งข้อมูลในพื้นที่เนื้อหาหลัก คลิกขวาทรัพยากรเพื่อดูเมนูตามบริบทที่คุณสามารถเปลี่ยนชื่อทรัพยากรและค้นหาแอปเพื่อดูว่ามีการใช้ทรัพยากรที่ใด
  7. คลิกปุ่มเหล่านี้เพื่อดูแหล่งข้อมูลเป็นแบบการ์ดหรือรายการ
  8. คลิกปุ่มเหล่านี้เพื่อเปลี่ยนขนาดตัวอย่างของทรัพยากร

นอกจากฟีเจอร์เหล่านี้แล้ว Resource Manager ยังมีวิธีนำเข้า Drawable ไปยังโปรเจ็กต์ของคุณแบบเป็นกลุ่มด้วย หากต้องการนำเข้าหลายรายการพร้อมกัน คุณสามารถทำอย่างใดอย่างหนึ่งต่อไปนี้

  • ลากไฟล์ภาพ รวมถึงไฟล์ SVG ไปยัง Resource Manager โดยตรง
  • ใช้วิซาร์ดนำเข้าทรัพยากรที่ถอดออกได้

ดูข้อมูลเพิ่มเติมได้ที่ส่วนนำเข้า Drawable ไปยังโปรเจ็กต์

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

Resource Manager แสดงเวอร์ชันของทรัพยากรที่ถอนออกได้สำหรับความหนาแน่นของหน้าจอที่แตกต่างกัน
รูปที่ 2 Resource Manager แสดงเวอร์ชันของทรัพยากรรูปภาพสำหรับความหนาแน่นของหน้าจอที่แตกต่างกัน

นำเข้าทรัพยากรที่ถอดแบบได้ไปยังโปรเจ็กต์

คุณสามารถใช้ Resource Manager เพื่อนำเข้าทรัพยากรรูปภาพไปยังโปรเจ็กต์ได้ ดูรายการประเภทรูปภาพที่รองรับได้ที่การรองรับรูปภาพ

หากต้องการนําเข้าแหล่งข้อมูลรูปภาพไปยังโปรเจ็กต์ ให้ทําดังนี้

  1. ลากรูปภาพไปยังหน้าต่าง Resource Manager ใน Android Studio โดยตรง

    • หรือจะทำดังนี้ก็ได้
      1. คลิกไอคอนบวก (+)
      2. เลือกนำเข้าทรัพยากรที่ถอดออกได้ ดังที่แสดงในรูปที่ 3
      3. เลือกไฟล์และโฟลเดอร์ที่ต้องการนำเข้า
    เลือก "Import Drawables" จากเมนูเพิ่มของ Resource Manager
    รูปที่ 3 เลือกนำเข้าทรัพยากรที่ถอดแบบได้จากเมนู
  2. กล่องโต้ตอบนำเข้าทรัพยากรที่ถอดออกได้จะปรากฏขึ้น ดังที่แสดงในรูปที่ 4 กล่องโต้ตอบนี้จะแสดงรายการทรัพยากรที่คุณกำลังนำเข้า คุณเปลี่ยนชื่อแหล่งข้อมูลได้ โดยคลิกช่องด้านบนตัวอย่างของแหล่งข้อมูล

    หากคุณมีทรัพยากรเดียวกันหลายเวอร์ชัน ให้เพิ่มตัวระบุการกำหนดค่าอุปกรณ์ตามที่อธิบายไว้ในส่วนต่อไปนี้ ซึ่งจะอธิบายการกำหนดค่าเฉพาะที่ทรัพยากรแต่ละรายการรองรับ

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

    ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวระบุทรัพยากรได้ที่จัดหาทรัพยากรทางเลือก

    กล่องโต้ตอบ "Import drawables" ที่แสดงชื่อทรัพยากรและตัวระบุคุณสมบัติ
    รูปที่ 4 กล่องโต้ตอบนำเข้าทรัพยากรที่ถอดแบบได้

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

  3. หน้าจอถัดไปจะแสดงสรุปของทรัพยากรที่คุณกำลังนำเข้า เมื่อพร้อมนำเข้าแล้ว ให้คลิกนำเข้า

ในหน้าต่าง Resource Manager ทรัพยากรจะพร้อมให้คุณใช้ในโปรเจ็กต์แล้ว ดังที่แสดงในรูปที่ 5

เครื่องมือจัดการทรัพยากรที่แสดงทรัพยากรรูปภาพที่นำเข้าใหม่
รูปที่ 5 ตอนนี้เครื่องมือจัดการทรัพยากรจะแสดงรูปภาพที่นำเข้า

แยกวิเคราะห์ความหนาแน่นของเนื้อหาที่ถอนออกได้โดยอัตโนมัติ

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

ตารางนี้แสดงวิธีแสดงความหนาแน่นที่รองรับแบบต่างๆ สำหรับ Android และ iOS

ความหนาแน่น ตัวระบุความหนาแน่นของ Android ค่าตัวคูณมาตราส่วนของ iOS
ความหนาแน่นต่ำ (~120 dpi) ldpi ไม่รองรับ
ความหนาแน่นปานกลาง (~160 dpi) mdpi ขนาดเดิม
ความหนาแน่นสูง (~240 dpi) hdpi ไม่รองรับ
ความหนาแน่นสูงพิเศษ (~320 dpi) xhdpi @2x
ความหนาแน่นสูงพิเศษมาก (~480 dpi) xxhdpi @3x
ความหนาแน่นสูงพิเศษ 3 เท่า (~640 dpi) xxxhdpi @4x

ตัวอย่างวิธีแปลเส้นทางอินพุตเป็นเส้นทางทรัพยากรหลังจากการนําเข้ามีดังนี้

ตัวระบุความหนาแน่นของ Android: hdpi
เส้นทางอินพุต: /UserFolder/icon1/hdpi/icon.png
เส้นทางทรัพยากร: <projectFolder>/<moduleFolder> /src/main/res/drawable-hdpi/icon.png
ตัวระบุความหนาแน่นของ Android: xxhdpi
เส้นทางอินพุต: /UserFolder/icon1/abc-xxhdpi/icon.png
เส้นทางทรัพยากร: <projectFolder>/<moduleFolder> /src/main/res/drawable-xxhdpi/icon.png
ค่าตัวคูณมาตราส่วนของ iOS: @2x
เส้นทางอินพุต: /UserFolder/icon1/icon@2x.png
เส้นทางทรัพยากร: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon.png
ค่าตัวคูณมาตราส่วน iOS: @2x
เส้นทางอินพุต: /UserFolder/icon1/icon@2x_alternate.png
เส้นทางทรัพยากร: <projectFolder>/<moduleFolder> /src/main/res/drawable-xhdpi/icon_alternate.png

ดูข้อมูลเพิ่มเติมเกี่ยวกับการรองรับอุปกรณ์ที่มีความหนาแน่นของพิกเซลต่างกันได้ที่รองรับความหนาแน่นของพิกเซลต่างกัน

การใช้ทรัพยากรใน Jetpack Compose

เมื่อสร้างด้วย Jetpack Compose คุณจะเข้าถึงทรัพยากรได้โดยตรงจากโค้ด Kotlin โดยใช้ API ที่เพิ่มประสิทธิภาพ ซึ่งช่วยให้มั่นใจว่าตรรกะ UI และการอ้างอิงทรัพยากรจะยังคงซิงค์กัน

  • รูปภาพ: ใช้ painterResource(id = R.drawable.your_image) ภายใน Image Composable
  • สตริง: ใช้ stringResource(id = R.string.your_string) เพื่อดึงข้อความ UI ที่แปลแล้ว
  • สี: ใช้ colorResource(id = R.color.your_color) เพื่อใช้สีที่กำหนดโดยธีม

Resource Manager จะช่วยให้มั่นใจว่ารหัสเหล่านี้สร้างขึ้นอย่างถูกต้อง ซึ่งช่วยให้คุณอ้างอิงชิ้นงานจากลำดับชั้น UI ของ Compose ได้อย่างราบรื่น

ดูข้อมูลเกี่ยวกับการจัดการทรัพยากรขั้นสูง ซึ่งรวมถึงการโหลดแบบอักษรแบบไดนามิก ทรัพยากรเฉพาะการกำหนดค่า และไลบรารีทรัพยากรเฉพาะ Compose ได้ที่เอกสารประกอบเกี่ยวกับทรัพยากรใน Compose

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

ดูเนื้อหา