ตารางกริดและหน่วย

พิกเซลที่ไม่ขึ้นอยู่กับความหนาแน่น (dp) และพิกเซลที่รองรับการปรับขนาด (sp) เป็นสิ่งจำเป็นสำหรับการสร้างเลย์เอาต์และการนำเสนอแบบอักษรที่ตอบสนองต่อความหนาแน่นของหน้าจอ คลาสขนาด รูปแบบ และสัดส่วนภาพที่หลากหลายซึ่งประกอบกันเป็นอุปกรณ์ Android อย่างสม่ำเสมอ

สรุปประเด็นสำคัญ

  • หากใช้ตารางกริดพื้นฐาน ให้ใช้การวัดที่ 4 และ 8
  • ระบุข้อมูลจำเพาะในหน่วย dp และ sp แทนที่จะเป็นพิกเซล
  • ส่งออกกราฟิกบิตแมป/แรสเตอร์สำหรับที่เก็บข้อมูลทั้งหมด
  • ออกแบบโดยคำนึงถึงการออกแบบที่ปรับเปลี่ยนตามอุปกรณ์ที่มีคลาสขนาด ความละเอียด และ สัดส่วนภาพที่แตกต่างกัน
  • ความหนาแน่นของพิกเซลอิสระ (dp): ความหนาแน่นของพิกเซลอิสระเป็นหน่วยที่ยืดหยุ่น ซึ่งปรับขนาดให้มีขนาดสม่ำเสมอบนหน้าจอใดก็ได้ โดยอิงตาม ความหนาแน่นทางกายภาพของหน้าจอ หน่วยเหล่านี้สัมพันธ์กับหน้าจอ 160 dpi (จุดต่อนิ้ว) ซึ่ง 1 dp จะเท่ากับ 1 px โดยประมาณ
  • พิกเซลที่ปรับขนาดได้ (sp): พิกเซลที่ปรับขนาดได้มีฟังก์ชันเดียวกับ dp แต่ใช้กับแบบอักษร ค่าเริ่มต้นของ sp จะเหมือนกับค่าเริ่มต้นของ dp ระบบ Android จะคำนวณขนาดแบบอักษรจริงที่จะใช้โดยอิงตามอุปกรณ์และความต้องการของผู้ใช้ที่ตั้งค่าไว้ในแอปการตั้งค่าของอุปกรณ์ Android
รูปที่ 1: การระบุ dp เทียบกับ sp

ความแตกต่างหลักระหว่างหน่วยวัดเหล่านี้คือพิกเซลที่ปรับขนาดได้ จะรักษาการตั้งค่าแบบอักษรของผู้ใช้ ผู้ใช้ที่มีการตั้งค่าข้อความขนาดใหญ่เพื่อการช่วยเหลือพิเศษจะเห็นขนาดแบบอักษรที่ตรงกับค่ากำหนดขนาดข้อความของตน ดูวิธีเปลี่ยนขนาดแบบอักษรในโหมดเขียน

Android ใช้หน่วยเหล่านี้เพื่อช่วยปรับขนาดและแปลในอุปกรณ์และความละเอียดต่างๆ

กลุ่มความหนาแน่น

หน้าจอความหนาแน่นสูงมีพิกเซลต่อนิ้วมากกว่าหน้าจอความหนาแน่นต่ำ ด้วยเหตุนี้ องค์ประกอบ UI ที่มีขนาดพิกเซลเท่ากันจึงปรากฏใหญ่ขึ้นบนหน้าจอที่มีความหนาแน่นต่ำ และเล็กลงบนหน้าจอที่มีความหนาแน่นสูง ด้วยเหตุนี้ คุณจึงไม่ควรประกาศ การวัดเป็นพิกเซล

Android จะจัดกลุ่มช่วงความหนาแน่นของหน้าจอเป็น "กลุ่ม" และใช้กลุ่มเหล่านั้นเพื่อ ส่งชุดชิ้นงานที่เหมาะสมที่สุดไปยังอุปกรณ์ของคุณ ความหนาแน่นที่ใช้กันมากที่สุด คือ mdpi, hdpi, xhdpi, xxhdpi และ xxxhdpi (nodpi และ anydpi หมายถึงความหนาแน่นที่ไม่ปรับขนาดตามความละเอียดของอุปกรณ์ ซึ่งมักใช้กับ Drawable แบบเวกเตอร์) ซึ่งแต่ละความหนาแน่นจะสอดคล้องกับไฟล์ทรัพยากรของแอป

mdpi มีความหนาแน่น x1, hdpi มีความหนาแน่น x1.5,
            xhdpi มีความหนาแน่น x2, xxhdpi มีความหนาแน่น x3 และ
            xxxhdpi มีความหนาแน่น x4
รูปที่ 2: แตงแคนตาลูปปาร์ตี้ที่มีความหนาแน่นตามลำดับ

วิธีคำนวณ dp

dp = (ความกว้างเป็นพิกเซล * 160) / ความหนาแน่นของหน้าจอ

ตารางกริด

ตารางกริดบรรทัดฐาน

การสร้างโดยใช้ตารางกริดพื้นฐานจะช่วยสร้างระยะห่างและการจัดแนวที่สอดคล้องกัน ใน UI UI ของ Android ใช้ตารางกริด 8 dp สำหรับเลย์เอาต์ คอมโพเนนต์ และ การเว้นวรรค

วิดีโอ 1: แสดงตารางกริด 8 dp ที่ไฮไลต์การเพิ่มขึ้น 8 dp

องค์ประกอบขนาดเล็ก เช่น ไอคอน แบบอักษร และองค์ประกอบบางอย่างภายในคอมโพเนนต์ ควรจัดแนวให้สอดคล้องกับตารางกริด 4dp

รูปที่ 3: ตารางกริด 8 dp เหมาะสำหรับองค์ประกอบ UI ส่วนใหญ่ ในขณะที่ตารางกริด 4 dp เหมาะสำหรับองค์ประกอบขนาดเล็ก เช่น ไอคอน

ตารางกริด

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

รูปที่ 4: ตารางกริด 4 คอลัมน์

ดูรายละเอียดเกี่ยวกับการสร้างเลย์เอาต์ที่ยืดหยุ่นในอุปกรณ์ต่างๆ ได้ที่หน้าเลย์เอาต์มาตรฐานของ Material 3

คลาสขนาด

คลาสขนาดหน้าต่างคือชุดเบรกพอยต์วิวพอร์ตที่กำหนดไว้ล่วงหน้าซึ่งจะช่วยคุณ ออกแบบ พัฒนา และทดสอบเลย์เอาต์แอปพลิเคชันที่ปรับเปลี่ยนตามอุปกรณ์และปรับเปลี่ยนตามพื้นที่โฆษณา Android แบ่งคลาสขนาดหน้าต่างออกเป็น 3 คลาส ได้แก่ Compact, Medium และ Expanded อ่านเพิ่มเติมเกี่ยวกับ คลาสขนาดหน้าต่าง

สัดส่วนภาพ

สัดส่วนภาพคือสัดส่วนความกว้างต่อความสูงขององค์ประกอบ สัดส่วนภาพ จะเขียนเป็นความกว้าง:ความสูง

หากต้องการให้เลย์เอาต์มีความสอดคล้องกัน ให้ใช้อัตราส่วนภาพที่สอดคล้องกันในองค์ประกอบต่างๆ เช่น รูปภาพ พื้นผิว และขนาดหน้าจอ

เราขอแนะนำให้ใช้สัดส่วนภาพต่อไปนี้ใน UI

  • 16:9
  • 3:2
  • 4:3
  • 1:1
  • 3:4
  • 2:3