ปรับแต่งแอปอ้างอิง

ส่วนนี้จะอธิบายรายละเอียดวิธีปรับแต่งแอปอ้างอิง Control Center และ UI

โฟลว์ผู้ใช้และอินเทอร์เฟซผู้ใช้

ส่วนนี้จะอธิบายโฟลว์ของผู้ใช้และวิธีเปิดตัวศูนย์ควบคุม

เปิดศูนย์ควบคุม

คุณเปิด Control Center ได้ผ่าน App Launcher หรือไอคอนในแถบนำทาง UI ของระบบ ไอคอนจะปรากฏเฉพาะในบิลด์ที่เปิดใช้ ผู้ใช้ที่มองเห็นในเบื้องหลัง (ดูข้อมูลเพิ่มเติมได้ที่ UserHandleAware)

คุณดูศูนย์ควบคุมได้ทุกเมื่อ ศูนย์ควบคุมประกอบด้วย การผสมผสานระหว่างหน้าต่างโปร่งแสงและพื้นหลังโปร่งใสเพื่อให้ปรากฏ เหนือแอปอื่นๆ ได้ รวมถึงวิดีโอและสื่อที่กำลังเล่นอยู่ ในหน้า Landing Page ของแอป ให้ทำดังนี้

  • การจัดเรียงหน้าจอและการใช้หน้าจอในเครื่องและระยะไกล
  • หน้าจอที่แสดงสื่อและตัวควบคุมสื่อ
  • แต่ละหน้าจอจะแสดงมุมมองแบบละเอียดของตัวควบคุมสื่อ (และอื่นๆ) ได้อย่างไร

การจัดเรียงหน้าจอแสดงถึงเลย์เอาต์ของหน้าจอใน ยานพาหนะ แต่ละหน้าจอคือ DevicePickerScreen หากต้องการปรับแต่งตำแหน่ง และขนาดของแต่ละหน้าจอ ให้ใช้การซ้อนทับทรัพยากรขณะรันไทม์ (RRO) ดูข้อมูลเพิ่มเติมได้ที่เปลี่ยนค่าของทรัพยากรของแอปขณะรันไทม์

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

หน้าจออื่นๆ ทั้งหมดเป็นหน้าจอระยะไกลเพื่อแสดงถึงจอแสดงผลต่างๆ ในรถยนต์ที่คุณระบุได้ตามการจัดเรียงหน้าจอใน Fragment หากต้องการคำนวณจำนวนโซนผู้โดยสารทั้งหมดที่กำหนดค่าไว้ใน รถ ให้ใช้ CarOccupantZoneManager#getAllOccupantZones

แต่ละหน้าจอกำหนดแอตทริบิวต์ที่กำหนดเอง controlcenter:occupantZoneId เพื่อ เชื่อมโยงข้อมูลกับโซนผู้เข้าพักที่เกี่ยวข้อง เมื่อเล่นแอปสื่อบนจอแสดงผลที่เฉพาะเจาะจง หน้าจอที่เกี่ยวข้องจะแสดงภาพหน้าปกอัลบั้มของสื่อ ปุ่มเล่น (หรือหยุดชั่วคราว) จะแสดงที่ด้านล่างของหน้าจอ

หากแอปสื่อที่ใช้งานอยู่เป็นงานที่มองเห็นได้ (เปิดอยู่เบื้องหลังศูนย์ควบคุม) ปุ่มแชร์ที่อยู่ข้างปุ่มเล่นจะเปิดใช้เพื่อเปิดหน้าการมิเรอร์ แชร์ช่วยให้คุณแชร์การแสดงผลของแอปสื่อ และมีประโยชน์มากที่สุดสำหรับแอปสื่อที่มีวิดีโอ

องค์ประกอบของหน้าจอ

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

  • เอาต์พุตเสียงจะแสดงเอาต์พุตเสียงที่เล่นสื่อ เช่น ลำโพงในห้องโดยสารหรือหูฟัง เอาต์พุตเสียงจะเปิดกล่องโต้ตอบเพื่อเปลี่ยน เอาต์พุตเสียงและระดับเสียงของสื่อ

  • ล็อกอินพุตการแสดงผลจะล็อกอินพุตไปยังหน้าจอ การดำเนินการนี้ใช้กับหน้าจอของคนขับไม่ได้

  • เปิด/ปิดจอแสดงผลจะปิดไฟที่หน้าจอ การดำเนินการนี้ใช้กับหน้าจอของคนขับไม่ได้

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

เส้นทางการมิเรอร์และการดูร่วมกันระหว่างผู้ส่ง (ด้านบน) และผู้รับ (ด้านล่าง)
รูปที่ 2 การเดินทางของการมิเรอร์หน้าเว็บและการดูร่วมกันระหว่างผู้ส่ง (ด้านบน) กับผู้รับ (ด้านล่าง)

เริ่มเซสชันการดูร่วมกัน

หน้ามิเรอร์จะคล้ายกับหน้า Landing Page โดยใช้ RRO

หากต้องการเพิ่มหน้าจอเพื่อดูร่วมกัน ให้แตะหน้าจอ แล้วแตะเสร็จสิ้น

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

การมิเรอร์กิจกรรมที่แสดงแอปที่แชร์พร้อมตัวควบคุมแบบลอยเพื่อจัดการเซสชันการดูร่วมกัน
รูปที่ 3 การมิเรอร์กิจกรรมด้วยตัวควบคุมแบบลอยชั่วคราว

สรุป

สรุปหน้าต่างๆ ในศูนย์ควบคุมมีดังนี้

โฟลว์ชาร์ตแสดงหน้าต่างๆ และการเปลี่ยนหน้าภายในแอปศูนย์ควบคุม
รูปที่ 4 หน้าศูนย์ควบคุม

หลักเกณฑ์การปรับแต่ง

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

การปรับแต่ง คำอธิบาย
ควร

ปรับการจัดธีมและการจัดรูปแบบโดยรวมผ่าน RRO เช่น

  • ชุดสี
  • การกำหนดขนาด
  • ลักษณะข้อความ
  • ลักษณะกล่องโต้ตอบ
  • เนื้อหาที่ถอนออกได้
  • ค่าการกำหนดค่า
MAY แก้ไขโครงสร้าง UI ระดับสูงของศูนย์ควบคุม

ศูนย์ควบคุมเป็นส่วนหนึ่งของชุดแอปของระบบ ซึ่งรวมถึงสื่อ ศูนย์การแจ้งเตือน และ App Launcher แอปเหล่านี้ใช้สไตล์และชิ้นงานร่วมกัน ซึ่งกำหนดไว้ในโครงสร้าง AOSP ที่ระดับต่างๆ ดังนี้

framework/base/core
กำหนดสไตล์พื้นฐานทั้งหมดของ Android ไว้ที่นี่ กล่าวคือ ธีมของแอป ระบบทั้งหมดอิงตาม Theme.DeviceDefault ซึ่งเป็นธีมที่ออกแบบมาเพื่อให้ OEM ใช้ ปรับแต่งลักษณะเริ่มต้นของอุปกรณ์

packages/services/Car/car_product/overlay:
โฟลเดอร์นี้มีการลบล้าง Theme.DeviceDefault ที่ใช้ในการ สร้างรูปลักษณ์และความรู้สึกของ AOSP ของ Android Automotive OEM อาจเลือกที่จะไม่รวมการซ้อนทับนี้และใช้การซ้อนทับของตนเองแทน

packages/apps/Car/libs/car-ui-lib:
ไลบรารีนี้กำหนดคอมโพเนนต์และทรัพยากร AAOS ที่ใช้ร่วมกันในแอปของระบบ และแอปที่ไม่ได้รวมไว้ซึ่งออกแบบมาเพื่อการปรับแต่ง โปรดดูรายละเอียดใน คู่มือการผสานรวมไลบรารี UI ของรถยนต์

packages/apps/Car/libs/car-apps-common:
สีและสไตล์ทั่วไปที่ใช้ร่วมกันระหว่างแอประบบที่ AOSP จัดหาให้ คุณใช้ภาพซ้อนทับเพื่อปรับแต่งองค์ประกอบเหล่านี้ได้ (คล้ายกับ packages/services/Car/car_product/overlay)

packages/apps/Car/MultiDisplay/ControlCenter:
แอปของระบบทั้งหมดมีธีมที่ขยายจาก Theme.CarUi และกำหนดไว้ใน car-ui-lib ControlCenterActivity ใช้ custom Theme.Transparent ซึ่งขยาย Theme.CarUi

เพื่อรองรับโฟลว์ (เช่น การดูร่วมกันที่ต้องให้งานที่มิเรอร์มองเห็นได้) ศูนย์ควบคุมจะใช้การผสมผสานระหว่างหน้าต่างโปร่งแสงและพื้นหลังโปร่งใสที่ไม่ส่งแอปไปที่พื้นหลังหรือส่งLifecycle events

<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
</style>