ส่วนนี้จะอธิบายรายละเอียดวิธีปรับแต่งแอปอ้างอิง Control Center และ UI
โฟลว์ผู้ใช้และอินเทอร์เฟซผู้ใช้
ส่วนนี้จะอธิบายโฟลว์ของผู้ใช้และวิธีเปิดตัวศูนย์ควบคุม
เปิดศูนย์ควบคุม
คุณเปิด Control Center ได้ผ่าน App Launcher หรือไอคอนในแถบนำทาง UI ของระบบ ไอคอนจะปรากฏเฉพาะในบิลด์ที่เปิดใช้
ผู้ใช้ที่มองเห็นในเบื้องหลัง (ดูข้อมูลเพิ่มเติมได้ที่ UserHandleAware)
คุณดูศูนย์ควบคุมได้ทุกเมื่อ ศูนย์ควบคุมประกอบด้วย การผสมผสานระหว่างหน้าต่างโปร่งแสงและพื้นหลังโปร่งใสเพื่อให้ปรากฏ เหนือแอปอื่นๆ ได้ รวมถึงวิดีโอและสื่อที่กำลังเล่นอยู่ ในหน้า Landing Page ของแอป ให้ทำดังนี้
- การจัดเรียงหน้าจอและการใช้หน้าจอในเครื่องและระยะไกล
- หน้าจอที่แสดงสื่อและตัวควบคุมสื่อ
- แต่ละหน้าจอจะแสดงมุมมองแบบละเอียดของตัวควบคุมสื่อ (และอื่นๆ) ได้อย่างไร
การจัดเรียงหน้าจอแสดงถึงเลย์เอาต์ของหน้าจอใน
ยานพาหนะ แต่ละหน้าจอคือ DevicePickerScreen หากต้องการปรับแต่งตำแหน่ง
และขนาดของแต่ละหน้าจอ ให้ใช้การซ้อนทับทรัพยากรขณะรันไทม์ (RRO) ดูข้อมูลเพิ่มเติมได้ที่เปลี่ยนค่าของทรัพยากรของแอปขณะรันไทม์
สำหรับจอแสดงผลแต่ละจอที่เปิดศูนย์ควบคุมอยู่ จะมีหน้าจอที่แตกต่างกันพร้อม เส้นขอบที่ไฮไลต์สีสว่างแสดงขึ้น นี่คือหน้าจอในเครื่อง ซึ่งเป็นจอแสดงผลที่ใช้งานอยู่
หน้าจออื่นๆ ทั้งหมดเป็นหน้าจอระยะไกลเพื่อแสดงถึงจอแสดงผลต่างๆ ในรถยนต์ที่คุณระบุได้ตามการจัดเรียงหน้าจอใน Fragment หากต้องการคำนวณจำนวนโซนผู้โดยสารทั้งหมดที่กำหนดค่าไว้ใน
รถ ให้ใช้ CarOccupantZoneManager#getAllOccupantZones
แต่ละหน้าจอกำหนดแอตทริบิวต์ที่กำหนดเอง controlcenter:occupantZoneId เพื่อ
เชื่อมโยงข้อมูลกับโซนผู้เข้าพักที่เกี่ยวข้อง เมื่อเล่นแอปสื่อบนจอแสดงผลที่เฉพาะเจาะจง หน้าจอที่เกี่ยวข้องจะแสดงภาพหน้าปกอัลบั้มของสื่อ ปุ่มเล่น (หรือหยุดชั่วคราว) จะแสดงที่ด้านล่างของหน้าจอ
หากแอปสื่อที่ใช้งานอยู่เป็นงานที่มองเห็นได้ (เปิดอยู่เบื้องหลังศูนย์ควบคุม) ปุ่มแชร์ที่อยู่ข้างปุ่มเล่นจะเปิดใช้เพื่อเปิดหน้าการมิเรอร์ แชร์ช่วยให้คุณแชร์การแสดงผลของแอปสื่อ และมีประโยชน์มากที่สุดสำหรับแอปสื่อที่มีวิดีโอ
องค์ประกอบของหน้าจอ
การแตะหน้าจอจะแสดงมุมมองแบบละเอียดของสื่อที่เล่นบนจอแสดงผล ซึ่งเรียกว่าหน้าจอรายละเอียด มุมมองจะแสดงข้อมูลเมตาของสื่อ เช่น ชื่อ ความคืบหน้าในการเล่น และศิลปิน ปุ่มเหล่านี้ช่วยให้ควบคุม โซนผู้เข้าพักได้เพิ่มเติม
เอาต์พุตเสียงจะแสดงเอาต์พุตเสียงที่เล่นสื่อ เช่น ลำโพงในห้องโดยสารหรือหูฟัง เอาต์พุตเสียงจะเปิดกล่องโต้ตอบเพื่อเปลี่ยน เอาต์พุตเสียงและระดับเสียงของสื่อ
ล็อกอินพุตการแสดงผลจะล็อกอินพุตไปยังหน้าจอ การดำเนินการนี้ใช้กับหน้าจอของคนขับไม่ได้
เปิด/ปิดจอแสดงผลจะปิดไฟที่หน้าจอ การดำเนินการนี้ใช้กับหน้าจอของคนขับไม่ได้
มุมมองรายละเอียดจะแสดงปุ่มแชร์ให้แตะเมื่อสื่อเป็น งานที่มองเห็นได้ซึ่งอยู่เบื้องหลังแอปศูนย์ควบคุม แชร์จะเปิด หน้าการมิเรอร์:
เริ่มเซสชันการดูร่วมกัน
หน้ามิเรอร์จะคล้ายกับหน้า Landing Page โดยใช้ RRO
หากต้องการเพิ่มหน้าจอเพื่อดูร่วมกัน ให้แตะหน้าจอ แล้วแตะเสร็จสิ้น
การดำเนินการนี้จะเปิด Mirroring Activity ที่โฮสต์แอปที่แชร์และมี
การควบคุมแบบลอยชั่วคราวเพื่อออกจากเซสชันการดูร่วมกันหรือกลับไป
ยังหน้าการมิเรอร์เพื่อเพิ่มหรือนำผู้เข้าร่วมออก
สรุป
สรุปหน้าต่างๆ ในศูนย์ควบคุมมีดังนี้
หลักเกณฑ์การปรับแต่ง
ศูนย์ควบคุมใช้คลัง UI ของรถยนต์เพื่อให้คุณปรับแต่งได้ และมี ธีมและโครงสร้างพื้นฐานที่สามารถนำไปใช้ได้เลยหรือแก้ไขตาม ข้อจำกัดเหล่านี้
| การปรับแต่ง | คำอธิบาย |
|---|---|
| ควร |
ปรับการจัดธีมและการจัดรูปแบบโดยรวมผ่าน RRO เช่น
|
| MAY | แก้ไขโครงสร้าง UI ระดับสูงของศูนย์ควบคุม |
ศูนย์ควบคุมเป็นส่วนหนึ่งของชุดแอปของระบบ ซึ่งรวมถึงสื่อ ศูนย์การแจ้งเตือน และ App Launcher แอปเหล่านี้ใช้สไตล์และชิ้นงานร่วมกัน ซึ่งกำหนดไว้ในโครงสร้าง AOSP ที่ระดับต่างๆ ดังนี้
framework/base/coreTheme.DeviceDefault ซึ่งเป็นธีมที่ออกแบบมาเพื่อให้ OEM ใช้
ปรับแต่งลักษณะเริ่มต้นของอุปกรณ์packages/services/Car/car_product/overlay:Theme.DeviceDefault ที่ใช้ในการ
สร้างรูปลักษณ์และความรู้สึกของ AOSP ของ Android Automotive OEM อาจเลือกที่จะไม่รวมการซ้อนทับนี้และใช้การซ้อนทับของตนเองแทนpackages/apps/Car/libs/car-ui-lib:packages/apps/Car/libs/car-apps-common: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>