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