จอพับ
หน้าแรกแบ่งจอตามบานพับจริง ไม่ใช่ตามความกว้างอย่างเดียว กางเป็นหนังสือ: เดือนอยู่ซ้าย วันอยู่ขวา ตั้งบนโต๊ะ: เดือนอยู่บานที่ตั้ง วันอยู่บานที่วางราบ
กติกาการเลือกมาจาก homePanes() ที่มีอยู่แล้ว หน้านี้กำหนดหน้าตาของแต่ละแบบ ตัวอย่างใช้ขนาดจริงของ Pixel 9 Pro Fold (จอใน 2076×2152 px ที่ 390 dpi)
สี่แบบของหน้าแรก
แอปไม่ถามว่าเป็นเครื่องอะไร ดูแค่ขนาดหน้าต่างกับบานพับ แล้วเลือกหนึ่งในสี่แบบนี้ เปลี่ยนท่าระหว่างใช้งานก็ไม่มีอะไรหาย วันที่เลือก กิจกรรมที่เปิดอยู่ และร่างที่แก้ค้างอยู่ตามไปด้วย
มือถือ จอนอกของจอพับ
เดือนด้านบน drawer สามตำแหน่งด้านล่าง Drawer()
กางเป็นหนังสือ
บานพับแนวตั้ง แบ่งที่บานพับ เดือนซ้าย วันขวา SideBySide
ตั้งบนโต๊ะ
บานพับแนวนอน พับครึ่ง เดือนบานบน วันบานล่าง Tabletop
จอกว้างแนวนอน
กว้างตั้งแต่ 600 dp และกว้างกว่าสูง 1.15 เท่า เดือน 60% วันอย่างน้อย 340 dp SideBySide
กางเป็นหนังสือ
แต่ละฝั่งกว้าง 426 dp เท่ากับมือถือ แต่ปฏิทินได้ความสูงทั้งจอ แถวของเดือนจึงสูง 153 dp วางชื่อได้ 6 แถวต่อวัน แทบไม่มีจุด แตะวันที่ฝั่งซ้าย ฝั่งขวาเปลี่ยนตาม แตะกิจกรรม รายละเอียดเปิดซ้อนอยู่ในฝั่งขวา ปุ่มกลับพากลับมาที่รายการ
- แบ่งที่บานพับ ปฏิทินจบที่ขอบซ้ายของบานพับ แผงวันเริ่มที่ขอบขวา วางด้วยพิกัดจริง (
placeไม่ใช่placeRelative) จึงไม่สลับฝั่งในภาษาที่อ่านขวาไปซ้าย - แผงวันคือ drawer ที่ตั้งตรง ไม่มีที่จับ ไม่ลากได้ มุมซ้ายบนมน 28 dp บอกว่าเป็นแผ่นที่ยกขึ้นจากพื้น
- รายละเอียดซ้อนในแผง เปิดกิจกรรมแล้วอยู่ใน back stack เหมือนมือถือ พับจอลงก็กลายเป็นหน้าเต็มจอของมือถือทันที ไม่มีการคัดลอกสถานะ
- ไม่มีตัวหนังสือบนรอยพับ ช่องที่ 4 ของเดือน (พุธ) อยู่ห่างบานพับ ส่วนในไทม์ไลน์ คอลัมน์วันถูกปรับให้ขอบคอลัมน์ตรงกับรอยพับ
ตั้งบนโต๊ะ
บานบนเป็นจอให้มอง บานล่างเป็นที่แตะ เดือนอยู่บน ช่องกว้าง 124 dp จึงมีเวลานำหน้าชื่อ แต่สูงแค่ 64 dp ต่อแถว ได้ชื่อหนึ่งแถวกับแถวจุด บานล่างกว้างแต่เตี้ย รายการของวันจึงไหลจากซ้ายไปขวาตามเวลา แทนที่จะเรียงลงล่าง เห็นทั้งวันในครั้งเดียวโดยไม่ต้องเลื่อน
- แถบเวลา แสดง 06:00 ถึง 24:00 สีฟ้าจริงเป็นแกน งานที่ทับกันหรือชื่อยาวเกินช่องขึ้นแถวใหม่ บล็อกกว้างอย่างน้อย 72 dp หรือเท่าข้อความที่ยาวที่สุดในบล็อก
- บล็อก พื้น row ขีดหัว 3 dp มุม 12 dp ชื่อกับเวลา จางตามเวลาเหมือนแถวในรายการ เส้นตอนนี้ลากผ่านทุกแถว
- ด้านซ้าย หัววันกับงานหลายวัน ป้ายงานหลายวันขึ้นบรรทัดใหม่ได้ ไม่ถูกตัด
- พับเพิ่มจนราบ กลับเป็นแบบหนังสือ (ถ้าบานพับแนวตั้ง) หรือ drawer ที่ตำแหน่งครึ่งตรงกับรอยพับพอดี (ถ้าแนวนอน)
กติกาบานพับ
ใช้กับทุกหน้าที่จะทำเพิ่ม ไม่ใช่แค่หน้าแรก
- อ่านบานพับจาก WindowInfoTracker ทุกครั้ง ห้ามเดาจากชื่อรุ่นหรือขนาดจอ บานพับเป็นพิกัด px ของหน้าต่าง แปลงเป็น dp ตอนวาง
- บานพับที่แยกจอ (
isSeparatingพับครึ่ง หรือมีช่องว่างจริง) ห้ามมีอะไรคร่อม บานพับที่ราบ วางของคร่อมได้แต่ไม่วางตัวหนังสือทับรอยพับ - เปลี่ยนท่าไม่ทำให้หาย วันที่เลือก (
selectedDate) กิจกรรมที่เปิด (back stack) และร่างใน editor (PaneViewModelStores) อยู่ข้ามทุกแบบ - ภาพเคลื่อนไหวตอนเปลี่ยนท่า แผงเลื่อนเข้าที่ด้วย spring page ไม่มีการเฟดทั้งจอ ปฏิทินคงวันที่เลือกไว้ตรงกลางเสมอ