แถบสถานะ แถบคำบรรยาย และแถบนําทางรวมเรียกว่าแถบระบบ โดยแสดงข้อมูลสำคัญ เช่น ระดับแบตเตอรี่ เวลา และการแจ้งเตือน รวมถึงให้การควบคุมอุปกรณ์โดยตรงจากทุกที่
คุณควรคำนึงถึงความโดดเด่นของแถบระบบ ไม่ว่าจะเป็นการออกแบบ UI สำหรับการโต้ตอบกับระบบปฏิบัติการ Android, วิธีการป้อนข้อมูล หรือความสามารถอื่นๆ ของอุปกรณ์
สรุปประเด็นสำคัญ
ใส่แถบระบบเมื่อออกแบบแอป โดยคำนึงถึงโซนปลอดภัยของ UI, การโต้ตอบกับระบบ, วิธีการป้อนข้อมูล, ส่วนที่ถูกตัดออกของจอแสดงผล, แถบสถานะ, แถบคำบรรยายแทนเสียง, แถบนําทาง และความสามารถอื่นๆ ของอุปกรณ์
ทำให้สถานะของระบบและแถบนําทางโปร่งใสหรือทึบแสง และวาดเนื้อหาไว้ด้านหลังแถบเหล่านี้ให้เต็มหน้าจอ
หลีกเลี่ยงการเพิ่มท่าทางสัมผัสหรือเป้าหมายการลากในส่วนที่แทรกของท่าทางสัมผัส เนื่องจากจะขัดแย้งกับการนําทางแบบเต็มหน้าจอและแบบใช้ท่าทางสัมผัส
วาดเนื้อหาไว้ด้านหลังแถบระบบ
ฟีเจอร์แบบเต็มหน้าจอช่วยให้ Android วาด UI ใต้แถบของระบบเพื่อให้ได้รับประสบการณ์การใช้งานที่สมจริง ซึ่งเป็นสิ่งที่ผู้ใช้ต้องการกันมาก
แอปสามารถจัดการเนื้อหาที่ซ้อนทับกันได้โดยตอบสนองต่ออินเซ็ต ระยะขอบอธิบายถึงจำนวนระยะขอบที่เนื้อหาของแอปต้องมีเพื่อหลีกเลี่ยงการทับซ้อนกับส่วนต่างๆ ของ UI ระบบปฏิบัติการ Android เช่น แถบสถานะ แถบคำบรรยาย แถบนําทาง หรือกับฟีเจอร์ของอุปกรณ์จริง เช่น ส่วนเว้าของจอแสดงผล อ่านเกี่ยวกับวิธีรองรับการแสดงผลแบบเต็มหน้าจอและจัดการส่วนที่ตัดออกในการเขียนและมุมมอง
โปรดคำนึงถึงประเภทของส่วนตัดต่อไปนี้เมื่อออกแบบสำหรับกรณีการใช้งานแบบขอบต่อขอบ
- ส่วนแทรกของแถบระบบใช้กับ UI ที่ทั้งแตะได้และไม่ควรถูกบดบังด้วยแถบระบบ
- ส่วนย่อยของท่าทางสัมผัสของระบบจะมีผลกับพื้นที่การนำทางด้วยท่าทางสัมผัสที่ระบบใช้ซึ่งมีความสำคัญเหนือกว่าแอปของคุณ
- ส่วนแทรกของรอยบากในการแสดงผลจะมีผลกับพื้นที่ของอุปกรณ์ที่ยื่นเข้าไปในพื้นผิวของจอแสดงผล เช่น รอยบากของกล้อง
แถบสถานะ
ใน Android แถบสถานะจะมีไอคอนการแจ้งเตือนและไอคอนระบบ ผู้ใช้โต้ตอบกับแถบสถานะโดยการดึงลงเพื่อเข้าถึงหน้าต่างแจ้งเตือน
ไอคอนแถบสถานะอาจปรากฏแตกต่างกันไปโดยขึ้นอยู่กับบริบท เวลาของวัน ค่ากําหนดหรือธีมที่ผู้ใช้ตั้งค่าไว้ และพารามิเตอร์อื่นๆ คุณสามารถตั้งค่าสไตล์ไอคอนแถบสถานะได้ตามตัวอย่างต่อไปนี้
ตรวจสอบว่าเนื้อหาแอปครอบคลุมทั้งหน้าจอ แถบสถานะและแถบนําทางควรโปร่งใสหรือโปร่งแสงโดยมีเนื้อหาเต็มหน้าจอดังที่แสดงในตัวอย่างต่อไปนี้
Android 15 จะบังคับใช้การแสดงผลแบบไร้ขอบเพื่อให้แถบระบบเป็นแบบโปร่งใสหรือทึบแสงโดยค่าเริ่มต้น ใน Android เวอร์ชันเก่า อย่าทำให้แถบระบบทึบ
เมื่อได้รับการแจ้งเตือน ไอคอนมักจะปรากฏในแถบสถานะ ซึ่งจะส่งสัญญาณให้ผู้ใช้ทราบว่ามีข้อมูลให้ดูในลิ้นชักการแจ้งเตือน ซึ่งอาจเป็นไอคอนแอปหรือสัญลักษณ์เพื่อแสดงถึงช่อง ดูการออกแบบการแจ้งเตือน
ตั้งค่ารูปแบบแถบสถานะ
ตรวจสอบว่าแถบสถานะโปร่งใสในทุกเวอร์ชันโดยเรียกใช้ enableEdgeToEdge()
อย่าลืมอัปเดตสีไอคอนในแถบสถานะเพื่อให้ตัดกัน
เช่น หากต้องการสร้างไอคอนสีเข้ม ให้ทำดังนี้
WindowCompat.getInsetsController(window, window.decorView)
.isAppearanceLightStatusBars = false
แถบนำทาง
Android ช่วยให้ผู้ใช้ควบคุมการไปยังส่วนต่างๆ โดยใช้การควบคุม "ย้อนกลับ" "หน้าแรก" และ "ภาพรวม" ดังนี้
- ปุ่มย้อนกลับจะกลับไปที่มุมมองก่อนหน้าโดยตรง
- Home จะออกจากแอปและไปยังหน้าจอหลักของอุปกรณ์
- ภาพรวมจะแสดงแอปที่เปิดอยู่และเพิ่งเปิด
ผู้ใช้สามารถเลือกการกำหนดค่าแถบนำทางได้หลายแบบ ซึ่งรวมถึงการนำทางด้วยท่าทางสัมผัส (แนะนำ) และการนำทางแบบ 3 ปุ่ม พิจารณาการนำทางหลายประเภทเพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ดีที่สุด
การนำทางด้วยท่าทางสัมผัส
การนำทางด้วยท่าทางสัมผัสเป็นประเภทการนำทางที่แนะนำซึ่งเปิดตัวใน Android 10 (API ระดับ 29) แม้ว่าคุณจะลบล้างค่ากำหนดของผู้ใช้ไม่ได้ก็ตาม การไปยังส่วนต่างๆ ด้วยท่าทางสัมผัสจะไม่ใช้ปุ่มสำหรับย้อนกลับ หน้าแรก และภาพรวม แต่จะแสดงแฮนเดิลท่าทางสัมผัสเดียวเพื่อให้ผู้ใช้ดำเนินการได้ ผู้ใช้โต้ตอบด้วยการปัดจากขอบซ้ายหรือขวาของหน้าจอเพื่อย้อนกลับ และปัดขึ้นจากด้านล่างเพื่อไปที่หน้าแรก การปัดขึ้นแล้วค้างไว้จะเป็นการเปิดภาพรวม
การไปยังส่วนต่างๆ ด้วยท่าทางสัมผัสเป็นรูปแบบการไปยังส่วนต่างๆ ที่ปรับขนาดได้มากขึ้นสำหรับการออกแบบในอุปกรณ์เคลื่อนที่และหน้าจอขนาดใหญ่ โปรดคำนึงถึงการไปยังส่วนต่างๆ ด้วยท่าทางสัมผัสเพื่อมอบประสบการณ์การใช้งานที่ดีที่สุด โดยทำดังนี้
- การรองรับเนื้อหาแบบเต็มหน้าจอ
- หลีกเลี่ยงการเพิ่มการโต้ตอบหรือเป้าหมายการแตะในส่วนที่แทรกของการนำทางด้วยท่าทางสัมผัส
อ่านข้อมูลเกี่ยวกับการใช้การไปยังส่วนต่างๆ ด้วยท่าทางสัมผัส
การไปยังส่วนต่างๆ แบบ 3 ปุ่ม
การนำทางแบบ 3 ปุ่มจะมีปุ่มกลับ ปุ่มหน้าแรก และปุ่มภาพรวม
รูปแบบแถบนำทางอื่นๆ
ผู้ใช้อาจเห็นการกำหนดค่าแถบนําทางอื่นๆ ขึ้นอยู่กับเวอร์ชัน Android และอุปกรณ์ เช่น การนำทางแบบ 2 ปุ่มจะมีปุ่มหน้าแรกและปุ่มกลับ
ตั้งค่ารูปแบบการนําทาง
ตรวจสอบว่าแถบนำทางโปร่งใสหรือโปร่งแสงในทุกเวอร์ชันโดยเรียกใช้ enableEdgeToEdge()
ในอุปกรณ์ Android 15 ขึ้นไปหรือหลังจากเรียกใช้ enableEdgeToEdge()
การไปยังส่วนต่างๆ ด้วยท่าทางสัมผัสจะโปร่งใสโดยค่าเริ่มต้น การนําทางแบบ 3 ปุ่มจะโปร่งแสงโดยค่าเริ่มต้นหรือทึบแสงหากอยู่ภายในแถบงานในอุปกรณ์หน้าจอขนาดใหญ่
หากแอปมีแอปบาร์ด้านล่าง ให้ตั้งค่า Window.setNavigationBarContrastEnforced()
เป็น false
เพื่อให้แอปบาร์ด้านล่างวาดใต้แถบนําทางของระบบได้โดยไม่ต้องใช้หน้าจอโปร่งแสงในการนําทางด้วยปุ่ม 3 ปุ่ม
Android จะจัดการการปกป้องภาพอินเทอร์เฟซผู้ใช้ในโหมดการนำทางด้วยท่าทางสัมผัสและในโหมดปุ่ม
โหมดการไปยังส่วนต่างๆ ด้วยท่าทางสัมผัส: ระบบจะใช้การปรับสีแบบไดนามิก ซึ่งเนื้อหาของแถบระบบจะเปลี่ยนสีตามเนื้อหาที่อยู่เบื้องหลัง ในตัวอย่างต่อไปนี้ แฮนเดิลในแถบนําทางจะเปลี่ยนเป็นสีเข้มหากวางไว้เหนือเนื้อหาสีอ่อน และในทางกลับกัน
โหมดปุ่ม: ระบบจะใช้ม่านโปร่งแสงด้านหลังแถบนำทางแบบปุ่ม ซึ่งสามารถนําออกได้โดยการตั้งค่า
Window.setNavigationBarContrastEnforced()
เป็นfalse
แป้นพิมพ์และการนำทาง
การนําทางแต่ละประเภทจะตอบสนองต่อแป้นพิมพ์บนหน้าจออย่างเหมาะสมเพื่อให้ผู้ใช้ดําเนินการต่างๆ ได้ เช่น การปิดหรือเปลี่ยนประเภทแป้นพิมพ์ หากต้องการให้การเปลี่ยนแป้นพิมพ์เป็นไปอย่างราบรื่น ให้ใช้ WindowInsetsAnimationCompat
เพื่อให้การเปลี่ยนแอปสอดคล้องกับการเลื่อนแป้นพิมพ์ขึ้นและลงจากด้านล่างของหน้าจอ
หน้าจอรอยบาก
รอยบากบนหน้าจอคือพื้นที่ในอุปกรณ์บางรุ่นที่ยื่นเข้าไปในพื้นผิวของจอแสดงผลเพื่อให้มีพื้นที่สำหรับเซ็นเซอร์ด้านหน้า ส่วนที่ถูกตัดออกของจอแสดงผลอาจแตกต่างกันไปโดยขึ้นอยู่กับผู้ผลิต
ส่วนที่ถูกตัดออกของจอแสดงผลอาจส่งผลต่อลักษณะที่ปรากฏของ UI เมื่อกำหนดเป้าหมายเป็น Android 15 (API ระดับ 35) ขึ้นไป แอปจะวาดในพื้นที่หน้าจอรอยบากโดยค่าเริ่มต้น แอปต้องจัดการส่วนตัดของจอแสดงผลเพื่อให้ UI ที่สําคัญไม่แสดงอยู่ใต้ส่วนตัดของจอแสดงผล อ่านวิธีรองรับหน้าจอรอยบาก
โหมดใหญ่พิเศษ
คุณสามารถซ่อนแถบระบบได้เมื่อต้องการประสบการณ์แบบเต็มหน้าจอ เช่น เมื่อผู้ใช้กำลังดูภาพยนตร์ ผู้ใช้ควรแตะเพื่อเปิดเผยแถบระบบและ UI ได้เพื่อไปยังส่วนต่างๆ หรือโต้ตอบกับตัวควบคุมของระบบ ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบสำหรับโหมดเต็มหน้าจอ หรืออ่านเกี่ยวกับวิธีซ่อนแถบระบบสำหรับโหมดสมจริง