ภาพรวม

ใช้ UI ที่ปรับขนาดได้เพื่อสร้างประสบการณ์การใช้งานที่ซับซ้อน ไดนามิก และแบบหลายแผงสำหรับผู้ใช้ ในรถยนต์ UI ที่ปรับขนาดได้:

  • มีระบบการแสดงหน้าต่างที่ยืดหยุ่น

  • ลดความเสี่ยง ค่าใช้จ่าย และความซับซ้อนด้านวิศวกรรมที่เกิดจาก ชุดทดสอบความเข้ากันได้ (CTS) สำหรับการติดตั้งใช้งานอินเทอร์เฟซผู้ใช้

UI ที่ปรับขนาดได้รองรับการออกแบบ Infotainment ในรถยนต์ (IVI) สมัยใหม่ที่หลากหลาย ซึ่งต้องมีการจัดเรียงหน้าต่างแบบไดนามิก

สิทธิประโยชน์และการปฏิบัติตามข้อกำหนด

ข้อดีของ UI ที่ปรับขนาดได้มีดังนี้

  • ลดความเสี่ยงในการทดสอบ: เฟรมเวิร์กได้รับการรับรองล่วงหน้าและเป็นไปตามข้อกำหนด CTS ซึ่งช่วยลดความเสี่ยงหลักที่การทดสอบจะไม่สำเร็จในช่วงท้ายของวงจรโปรแกรม UI ที่ปรับขนาดได้ช่วยประหยัดความพยายามด้านวิศวกรรมได้หลายเดือนและเร่งการปฏิบัติตามข้อกำหนด

  • ความยืดหยุ่นในการออกแบบที่มากขึ้น: ความสามารถที่ได้รับการพิสูจน์แล้วในการสร้างโมเดลการแสดงหน้าต่างยานยนต์ที่ซับซ้อนจำนวนมากที่มีอยู่ใหม่ UI ที่ปรับขนาดได้รองรับการออกแบบที่ทะเยอทะยานและ แตกต่างอย่างมาก

  • ความซับซ้อนในการติดตั้งใช้งานน้อยลง: การแยกข้อมูลเป็นโมเดล XML ระดับสูงที่ขับเคลื่อนด้วยการกำหนดค่า จะช่วยลดอุปสรรคในการเข้าถึงตรรกะการแบ่งหน้าต่างที่กำหนดเอง

  • ประสิทธิภาพที่ดีขึ้น: UI ที่ปรับขนาดได้สร้างขึ้นบนพื้นฐานการจัดหน้าต่างที่มีประสิทธิภาพสูง ซึ่งผสานรวมกับ Android มาตรฐานอย่างเต็มรูปแบบ การเปลี่ยนฉากเป็นไปอย่างราบรื่น และสามารถเพิ่มประสิทธิภาพได้

องค์ประกอบหลักในการสร้างสรรค์

UI ที่ปรับขนาดได้ช่วยลดความจำเป็นในการใช้โค้ดเฉพาะ OEM, ทำให้การอัปเดตง่ายขึ้น และ ลดความเสี่ยงในการเปิดตัวด้วยการหลีกเลี่ยงข้อผิดพลาดและลดปัญหาการรับรอง

แนวทางที่ขับเคลื่อนด้วย XML ช่วยแก้ปัญหาที่พบบ่อยเมื่อจัดการระบบการแสดงผลแบบซับซ้อนใน AAOS เช่น ปัญหาที่เกี่ยวข้องกับการวางตำแหน่งที่แน่นอน ความขัดแย้งของลำดับ Z และโฟกัสของแอป

UI ที่ปรับขนาดได้มีองค์ประกอบหลักเหล่านี้

แผง

แผงคือคอนเทนเนอร์สี่เหลี่ยมผืนผ้าพื้นฐานบนหน้าจอ แต่ละแผง จะแมปกับงาน root เฉพาะสำหรับการจัดการที่เป็นอิสระ แผงสามารถโฮสต์ งานของแอป (TaskPanel) หรือเนื้อหาตามมุมมอง เช่น วิดเจ็ต (DecorPanel) ดูข้อมูลเพิ่มเติมได้ที่กำหนดค่าแผง

ตัวแปร

รูปแบบจะกำหนดสถานะภาพที่เฉพาะเจาะจงสำหรับแผง และมีพร็อพเพอร์ตี้ เช่น bounds (ตำแหน่งและขนาด), visibility, layer (ลำดับ Z) และรัศมี corner แผงเดียวอาจมีตัวแปร เช่น opened, closed หรือ minimized ดูข้อมูลเพิ่มเติมได้ที่ใช้ตัวแปรเพื่อออกแบบสถานะภาพ

ทรานซิชัน

การเปลี่ยนจะกำหนดวิธีที่แผงย้ายจากสถานะปัจจุบัน fromVariant ไปยังสถานะใหม่ toVariant Event สามารถทริกเกอร์การเปลี่ยนฉากและ กำหนดภาพเคลื่อนไหวที่แผงจะแสดงระหว่างการเปลี่ยนสถานะได้ แผงควรเปลี่ยนจากสถานะปัจจุบันเป็น toVariant สำหรับการซิงโครไนซ์ การเปลี่ยนฉากทั้งหมดจะได้รับการเคลื่อนไหวและประสานงานโดย Window Manager หลัก

  • เหตุการณ์: ทริกเกอร์เพื่อเริ่มการเปลี่ยนแปลง UI OEM หรือระบบสามารถ กำหนดทริกเกอร์ล่วงหน้าได้ เช่น _System_OnHomeEvent _System_TaskOpenEvent หรือการกดปุ่มนำทางที่กำหนดเอง

เช่น Scalable UI ใช้เหตุการณ์เพื่อทริกเกอร์การเปลี่ยนภาพ การเปลี่ยนฉากเหล่านี้จะเคลื่อนไหวแผงจากรูปแบบหนึ่งไปยังอีกรูปแบบหนึ่งเพื่อแสดงการเปลี่ยนแปลงแบบไดนามิก ใน UI การเปลี่ยนแปลงเหล่านี้จะสื่อสารไปยังแอปของระบบอื่นๆ เพื่อปรับ เนื้อหาตามต้องการ การกำหนดความสัมพันธ์ของ UI ใน XML ช่วยให้คุณทำสิ่งต่อไปนี้ได้

  • ระบุลักษณะการทำงานของ UI ที่ซับซ้อน: กำหนดการโต้ตอบกับอินเทอร์เฟซผู้ใช้ที่ซับซ้อน

  • จัดเรียงระบบการแสดงหน้าต่าง: ควบคุมการวางตำแหน่งและการซ้อนหน้าต่าง

  • ใช้ธีมภาพ: ใช้การสร้างแบรนด์และสุนทรียะที่สอดคล้องกัน

  • ลดความซับซ้อนของโค้ด: ลดความจำเป็นในการพัฒนาโค้ดที่กำหนดเองจำนวนมาก

ดูข้อมูลเพิ่มเติมได้ที่กำหนดค่าการเปลี่ยนฉาก

ปุ่ม UI ของระบบ

นอกเหนือจากการทริกเกอร์ Intent แล้ว CarSystemBarButtons ยังทริกเกอร์เหตุการณ์ ScalableUI ได้เมื่อแตะโดยใช้แอตทริบิวต์ event, selectedEvent และ unselectedEvent

event อธิบายเหตุการณ์ที่จะทริกเกอร์เมื่อแตะปุ่ม หากต้องการควบคุมเหตุการณ์ที่ละเอียดยิ่งขึ้น ให้ใช้แอตทริบิวต์ selectedEvent และ unselectedEvent เพื่อระบุเหตุการณ์ที่จะทริกเกอร์เมื่อเลือกหรือยกเลิกการเลือกปุ่มตามลำดับ

เมื่อใดที่ควรใช้ UI ของระบบ

ส่วนนี้จะอธิบายการใช้งาน UI ที่ปรับขนาดได้ที่เหมาะสม

สร้างเลย์เอาต์หลายแผงแบบถาวร

สร้างประสบการณ์แบบหลายโซนที่พื้นที่ต่างๆ ของหน้าจอ จะทุ่มเทให้กับฟังก์ชันที่เฉพาะเจาะจงอย่างถาวร เช่น แถบควบคุมสื่อโดยเฉพาะ แถบควบคุมสภาพอากาศ หรือแผนที่แบบเต็มหน้าจอ

ใช้ TaskPanels สำหรับแอปหลัก (เช่น การนำทาง) และ DecorPanels สำหรับ องค์ประกอบ UI ในรูปแบบของมุมมองที่ต้องวางไว้ระหว่าง TaskPanels

ใช้ฉากหน้าแรกแบบไดนามิก

ใช้ฉากหน้าแรกที่ประกอบด้วยแผงแอปหลายแผงที่มองเห็นได้พร้อมกันและโต้ตอบได้ เช่น แผนที่ มีเดียเพลเยอร์ และตารางกริดของแอป

หากต้องการเปลี่ยนแผงที่เกี่ยวข้องทั้งหมดเป็นรูปแบบหน้าแรกของ opened หรือ default ให้กำหนดค่า _System_HomeEvent

ใช้การซ้อนทับตามบริบท

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

ใช้ DecorPanels กับองค์ประกอบทั้งหมดที่ใช้ตกแต่งหรือโฮสต์วิดเจ็ตเท่านั้น หากวิดเจ็ตโฮสต์แอปที่ใช้งานได้เต็มรูปแบบและเปิดใช้ได้ Panel > TaskPanel จะเป็นตัวเลือกที่ดีที่สุด ใช้ DecorPanels สำหรับองค์ประกอบ UI ที่อิงตามมุมมองเมื่อต้องซ้อนเลเยอร์ ให้ซิงค์กับการซ้อนเลเยอร์ TaskPanel

ออกแบบการโต้ตอบกับแผงที่ซับซ้อน

ออกแบบการดำเนินการขั้นสูงที่ขับเคลื่อนโดยผู้ใช้ เช่น การปรับขนาดแผงแอปแบบไดนามิก หรือการปรับมุมมองแผงหน้าปัดตามเนื้อหาที่แสดงหลัก

กำหนด Events ที่กำหนดเองเพื่อทริกเกอร์ Transitions ที่เฉพาะเจาะจงซึ่งไม่ใช่มาตรฐานของระบบ