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

ส่วนนี้จะอธิบายรายละเอียดเกี่ยวกับวิธีปรับแต่งแอปอ้างอิง 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 แชร์ จะเปิดหน้าการมิเรอร์

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

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

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

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

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

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

สรุป

สรุปหน้าต่างๆ ใน Control Center ได้ดังนี้

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

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

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

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

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

  • ชุดสี
  • การกำหนดขนาด
  • ลักษณะข้อความ
  • ลักษณะกล่องโต้ตอบ
  • Drawables
  • ค่ากำหนด
อาจ แก้ไขโครงสร้าง UI ระดับสูงของ Control Center

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

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

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

packages/apps/Car/libs/car-ui-lib:
ไลบรารีนี้กำหนดคอมโพเนนต์และทรัพยากร AAOS ที่แอปของระบบและแอปที่ไม่ได้รวมไว้ใช้ร่วมกัน ซึ่งออกแบบมาเพื่อการปรับแต่ง ดูรายละเอียดได้ที่ คู่มือการผสานรวมไลบรารี Car 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 ใช้ Theme.Transparent ที่กำหนดเอง ซึ่งขยาย Theme.CarUi

Control 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>