หากต้องการมอบประสบการณ์การใช้งานที่สอดคล้องกันและมีคุณภาพสูง รวมถึงป้องกันปัญหาที่ทำให้การทดสอบความเข้ากันได้ (CTS) ล้มเหลว ให้ใช้หลักการ WindowManager (WM) หลักๆ ที่อธิบายไว้ที่นี่ หลักการเหล่านี้จะช่วยให้มั่นใจว่า แอปเป็นไปตามหลักเกณฑ์ด้านคุณภาพของแอปในรถยนต์ หลักการเหล่านี้ใช้กับสิ่งต่อไปนี้
Android เวอร์ชันที่ใช้สถาปัตยกรรมหลายหน้าต่าง ซึ่งเริ่มใช้ใน Android 14 และใช้ต่อใน Android 15 ด้วย UI ที่ปรับขนาดได้
UI ที่ปรับขนาดได้ของ Android และการติดตั้งใช้งานที่กำหนดเอง
การใช้หลักการเหล่านี้จะช่วยให้คุณหลีกเลี่ยงปัญหาการทดสอบฟังก์ชันการทำงานและการทดสอบการปฏิบัติตามข้อกำหนดของ CTS ได้ล่วงหน้า
คำศัพท์
- อินแวเรียนต์
- เงื่อนไขเชิงตรรกะที่ยังคงเป็นจริงตลอดการทำงานของแอป ซึ่งนำไปสู่ความสมบูรณ์ของโครงสร้าง อินแวเรียนต์ทำหน้าที่เป็นกฎขอบเขต
- กิจกรรมพิเศษ
- หรือที่เรียกว่ากิจกรรม UI อัตโนมัติหรือกิจกรรม UI ของระบบ กิจกรรมแอปที่สำคัญนี้มีพื้นที่เฉพาะบนหน้าจอที่มองเห็นได้ตลอดเวลาหรือมองเห็นได้เกือบตลอดเวลา แม้ว่าผู้ใช้จะกดหน้าแรก ก็ตาม เช่น การนำทางหลักหรือแอปคลัสเตอร์
- กิจกรรมมาตรฐาน
- กิจกรรมแอปมาตรฐานใดๆ ที่ไม่สำคัญต่ออินเทอร์เฟซผู้ใช้หลักของระบบ เช่น แอปสื่อของบุคคลที่สามที่เปิดจากตารางแอป
หลักการ WM
ใช้หลักการเหล่านี้ในการติดตั้งใช้งาน WM เพื่อให้แอปเป็นไปตามข้อกำหนดของ CTS มากที่สุด
ใช้การกำหนดค่าที่เสถียรเมื่อเปิดแอป
เปิดกิจกรรมมาตรฐานใหม่ทุกรายการด้วยการเปลี่ยน WM ครั้งเดียวที่กำหนดตำแหน่ง ขนาด และความหนาแน่นสุดท้าย คุณต้องไม่ทริกเกอร์การเปลี่ยนครั้งที่ 2 ที่เปลี่ยนการกำหนดค่าหน้าต่างของงานพื้นหลัง (เช่น ขนาดหรือความหนาแน่น) ทันทีหลังจากครั้งแรก เนื่องจากจะทำให้เกิดการเปลี่ยนแปลงการกำหนดค่าทันทีหลังจากสร้างกิจกรรม
ย้ายกิจกรรมมาตรฐานไปที่สถานะหยุด
เมื่อผู้ใช้นำทางไปยังงานหรือฉากหน้าแรก คุณต้องย้ายกิจกรรมมาตรฐานที่กำลังทำงานทั้งหมดไปที่สถานะหยุดเพื่อรักษาวงจรชีวิตของแอป Android ที่คาดการณ์ได้ตามที่การทดสอบ CTS กำหนด ดูข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่คาดหวังเกี่ยวกับวงจรชีวิตของแอปในสภาพแวดล้อมยานยนต์ได้ที่ ป้องกันการใช้งานขณะที่ข้อจำกัดด้านประสบการณ์ของผู้ใช้มีผล
ป้องกันไม่ให้เนื้อหากิจกรรมมาตรฐานถูกบดบัง
อย่าวาดการตกแต่งหรือองค์ประกอบ UI ที่กำหนดเองซึ่งบดบังเนื้อหาของกิจกรรมมาตรฐาน หากคุณวาดภาพซ้อนทับที่กำหนดเอง (เช่น แถบควบคุมสภาพอากาศที่กำหนดเอง) คุณต้องรายงานขนาดต่อระบบด้วยระยะขอบ SystemOverlay สำหรับ Android 15 ขึ้นไป ให้ใช้ DecorPanel ใน UI ที่ปรับขนาดได้ แอป
ต้องอาศัยระยะขอบเหล่านี้ในการจัดวางเนื้อหาอย่างปลอดภัย
ซ่อนภาพซ้อนทับเมื่อมีการขอโหมดเต็มหน้าจอ
เมื่อแอปขอโหมดเต็มหน้าจอ คุณต้องซ่อนองค์ประกอบ UI ที่กำหนดเองชั่วคราวและนำระยะขอบ SystemOverlay ออก สิ่งกีดขวางถาวรจะรบกวนสิ่งที่แอปคาดหวังเกี่ยวกับพิกเซล ดูรายละเอียดเกี่ยวกับวิธีที่แอปขอ
และจัดการโหมดเต็มหน้าจอได้ที่
แถบระบบ โหมดเต็มหน้าจอ และการแสดงผลแบบขอบจรดขอบ
ใช้มุมโค้งที่ระดับจอแสดงผลเท่านั้น
ใช้มุมโค้งที่ระดับจอแสดงผลเท่านั้นโดยใช้การกำหนดค่าทรัพยากรที่เหมาะสมใน frameworks/base อย่าใช้มุมโค้งที่กำหนดเองกับพื้นผิวของกิจกรรมมาตรฐาน
การทำเช่นนี้จะรบกวนการทดสอบองค์ประกอบ UI คุณสามารถระบุรัศมีมุมโค้งเดียวกันสำหรับจอแสดงผลกับที่ใช้กับพื้นผิวของกิจกรรมมาตรฐานเป็นการชั่วคราวได้
รักษาสัดส่วนของแอปเมื่อมีการขอโหมดเต็มหน้าจอ
เมื่อแอปขอเข้าสู่โหมดเต็มหน้าจอ อย่าปรับขนาดหน้าต่างของแอป การทำเช่นนี้จะทริกเกอร์การเปลี่ยนแปลงการกำหนดค่าที่รบกวน ให้เสนอปุ่มเต็มหน้าจอที่ผู้ใช้ควบคุมได้แทนเพื่อขยายแอปให้ใหญ่ที่สุด