Compose Material 3 Adaptive

  
ใช้ไลบรารีแบบปรับเปลี่ยนได้ของ Material 3 เพื่อสร้าง UI แบบปรับเปลี่ยนได้ซึ่งจะปรับเปลี่ยนตามการกำหนดค่าหน้าต่างปัจจุบันโดยอัตโนมัติ เช่น คลาสขนาดหน้าต่างหรือลักษณะการวางอุปกรณ์ ไลบรารีนี้มีทั้งการใช้งานสคาฟเฟิลเริ่มต้นและคอมโพสิชันองค์ประกอบพื้นฐานที่จําเป็นเพื่อสร้างประสบการณ์ที่กําหนดเอง
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
12 ธันวาคม 2024 1.0.0 - - 1.1.0-alpha08

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ใน Compose คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google

เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับแอปหรือโมดูล

ดึงดูด

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมในเอกสารประกอบของเครื่องมือติดตามปัญหา

Compose Material3 Adaptive เวอร์ชัน 1.1

เวอร์ชัน 1.1.0-alpha08

12 ธันวาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha08 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • แนะนำฟังก์ชัน currentWindowDpSize (I99125, b/296300441)
  • แสดง PaneScaffoldParentData และ ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • นำ PaneScaffoldMotionScope ออกและเปลี่ยนเป็นช่องใต้ PaneScaffoldTransitionScope นอกจากนี้ ให้เปลี่ยนชื่อเป็น PaneScaffoldMotionDataProvider และนำสิทธิ์เข้าถึงโครงสร้างข้อมูลที่สําคัญของ PaneMotionData ออก แล้วระบุเมธอด getter และ looping เพื่อเข้าถึงข้อมูลแทน (Id8884)
  • สร้างกลไกการลบล้างสำหรับ ThreePaneScaffold เพื่อรองรับการติดตั้งจากภายนอกสำหรับอุปกรณ์รูปแบบต่างๆ (I5280f)
  • ทำให้สถานะการขยายแผงเป็นค่าว่างโดยค่าเริ่มต้น (Ia65f8, b/376394520)

เวอร์ชัน 1.1.0-alpha07

13 พฤศจิกายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha07 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • นำการใช้งานแถบลากในคลังแบบปรับเปลี่ยนได้ออกและแนะนำให้ผู้ใช้ใช้เวอร์ชัน M3 และในเวลาเดียวกันก็เปิดตัวตัวแก้ไขเพื่อให้สามารถลากการขยายแผงไปยังคอมโพสิชันที่มีแถบลากที่ระบุ และซ่อน DraggableState เป็นรายละเอียดการใช้งานด้วยเพื่อให้เราเปลี่ยนแปลงได้ในภายหลังหากจำเป็น (Ib50cd)
  • ย้ายจุดแรกเข้าของการปรับแต่งการเคลื่อนไหวของแผงจากฟังก์ชันสแคฟเฟิลด์ไปยัง AnimatedPane ตามความคิดเห็นของ UXR (I10f72)
  • เปิดตัวการรองรับการแตะหน้าจอเพื่อเลื่อนและข้อกำหนดภาพเคลื่อนไหวที่กำหนดเองสำหรับการขยายแผง (Ie207d, b/362584341)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการคาดการณ์การคืนสินค้าเมื่อมีการยกเลิก (36a3e0a), (b/369899645)

เวอร์ชัน 1.1.0-alpha06

30 ตุลาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha06 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม FloatRange ไปยัง PaneScaffoldTransitionScope.motionProgress (Iac0dd)
  • เปลี่ยนประเภทของพารามิเตอร์ของ Navigator เป็นประเภททั่วไปในสคาฟ์เฟิลดที่นําทางได้ (I1da6e)

เวอร์ชัน 1.1.0-alpha05

16 ตุลาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha05 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เปิดตัวคลาสข้อกำหนดภาพเคลื่อนไหวเพื่อให้ลักษณะการเคลื่อนไหวสอดคล้องกันมากขึ้นและขยายการทำงานในอนาคตได้ (I2d3cc)
  • ระบุประเภทการเคลื่อนไหวและเปลี่ยนชื่อ currentXXXXX ใน PaneMotionData เป็น originXXXX (I7c61a)

เวอร์ชัน 1.1.0-alpha04

2 ตุลาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha04 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับการย้อนกลับที่คาดการณ์ได้ลงใน NavigableListDetailPaneScaffold และ NavigableSupportingPaneScaffold (I4dc21, b/359616816)

การเปลี่ยนแปลง API

  • เพิ่ม ThreePaneScaffoldState ไปยัง ThreePaneScaffoldNavigator แล้ว วิธีการนําทางมีไว้เพื่อsuspendรองรับการนําทางด้วยภาพเคลื่อนไหว เพิ่ม seekBack เพื่อรองรับสถานะการนําทางบางส่วน (เช่น การนำทางกลับแบบคาดการณ์) (I5a651, b/359616816)
  • เพิ่ม MutableThreePaneScaffoldState เพื่อควบคุมการเปลี่ยนระหว่างค่าสคาฟเฟิลด์ ThreePaneScaffoldState ที่มีอยู่เป็นแบบอ่านอย่างเดียว (Idb3c6)
  • แสดงการใช้งานการเคลื่อนไหวของแผงเริ่มต้น (I95a7b)
  • เปิดใช้การตั้งค่าจุดยึดเริ่มต้นของสถานะการขยายแผง (Ie41b3, b/362350560)

การแก้ไขข้อบกพร่อง

  • บังคับใช้ขนาดเป้าหมายการสัมผัสขั้นต่ำ 48x48dp ของแถบลาก (7ce6635, b/366018217)
  • กู้คืนตำแหน่งที่ยึดหลังจากการเปลี่ยนแปลงการกำหนดค่า (3c9fc6b, b/362353672)

เวอร์ชัน 1.1.0-alpha03

18 กันยายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha03 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-alpha02

4 กันยายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha02 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ระบบรองรับการปรับแต่งการเคลื่อนไหว (I0bf9c), (I80e66) เพื่อให้ครีเอเตอร์เปลี่ยนการเคลื่อนไหวเริ่มต้นในระหว่างการเปลี่ยนแปลงสถานะของโครงร่างแบบปรับเปลี่ยนได้ ครีเอเตอร์สามารถเลือกจากชุดทรานซิชันเริ่มต้นของช่วงเข้าและออก หรือใช้ทรานซิชันที่กำหนดเองทั้งหมดโดยใช้ข้อมูลที่ให้ไว้ผ่านขอบเขตการเคลื่อนไหวแบบใหม่
  • ใช้ภาพเคลื่อนไหวที่ค่อยๆ จางของแฮนเดิลการลากเพื่อขยายแผง (46e3c69)
  • อนุญาตให้บันทึกPaneExpansionStateที่จำได้ (61ff76f)

การเปลี่ยนแปลง API

  • เพิ่ม API การขยายบานหน้าต่างที่ขาดหายไปลงในสคาฟเฟิลด (Ic5bc0)
  • เปลี่ยนชื่อ ThreePaneScaffoldDestinationItem.content เป็น contentKey แล้ว เปลี่ยนอาร์กิวเมนต์ประเภทเริ่มต้นของ rememberListDetailPaneScaffoldNavigator และ rememberSupportingPaneScaffoldNavigator จาก Nothing เป็น Any (I58749)
  • ทำเครื่องหมาย ThreePaneScaffoldState เป็นเวอร์ชันเสถียร (I64aec)
  • ทําให้พารามิเตอร์ของแฮนเดิลการลากมีขอบเขต (Ic0aa2)

เวอร์ชัน 1.1.0-alpha01

21 สิงหาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha01 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • แนะนำการรองรับการขยายแผงของสคาล์ฟเฟลด์แบบปรับเปลี่ยนได้

การเปลี่ยนแปลง API

  • เปิดตัว API การขยายแผงต่อสาธารณะ (I301d6)
  • เปิดตัว ThreePaneScaffoldState เพื่อควบคุมการเปลี่ยนค่าในแผง เพิ่มการโอเวอร์โหลดของ ListDetailPaneScaffold และ SupportingPaneScaffold ที่ยอมรับสถานะนี้ (I5db3b)
  • แนะนำปุ่มขยายแผงและอินเทอร์เฟซผู้ให้บริการคีย์ (Id621f)

การแก้ไขข้อบกพร่อง

  • แก้ไขการคํานวณพาร์ติชันที่ไม่ถูกต้องเมื่อมีการแสดงบานพับที่ยกเว้น (9dfd483)

Compose Material3 Adaptive เวอร์ชัน 1.0

เวอร์ชัน 1.0.0

4 กันยายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0 มีการคอมมิตเหล่านี้

ฟีเจอร์หลักของ 1.0.0

  • ฟังก์ชันคอมโพสิเบิลแบบบรรทัดเดียว currentWindowSize(), collectFoldingFeaturesAsState() และ currentWindowAdaptiveInfo() เพื่อรับข้อมูลหน้าต่างที่จําเป็นในการปรับแอป เช่น ขนาดหน้าต่างและฟีเจอร์การพับ
  • ListDetailPaneScaffold และ SupportingPaneScaffold เพื่อระบุเลย์เอาต์แคนอนิกของ Material3 2 รายการที่จะปรับให้เข้ากับการกำหนดค่าหน้าต่างต่างๆ โดยอัตโนมัติ นอกจากนี้ ผู้ใช้ยังปรับแต่งเฟรมเวิร์กทั้ง 2 รายการให้เหมาะกับความต้องการที่แตกต่างกันได้อย่างเต็มที่
  • ThreePaneScaffoldNavigator และฟังก์ชันการจดจำที่เกี่ยวข้องอย่าง rememberListDetailPaneScaffoldNavigator() และ rememberSupportingPaneScaffoldNavigator() เพื่อมอบโซลูชันการนําทางภายในสคาฟอลดแบบปรับเปลี่ยนได้ ซึ่งสามารถแสดงปลายทางการนําทางหลายแห่งพร้อมกันได้ เมื่อเทียบกับการตั้งค่าปลายทางแบบทีละรายการทั่วไปในโลกที่ไม่ปรับเปลี่ยน
  • ภาพเคลื่อนไหวเริ่มต้นของ Material3 ในตัวเมื่อเปลี่ยนสถานะสคาฟเฟิลแบบปรับเปลี่ยนได้

เวอร์ชัน 1.0.0-rc01

21 สิงหาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-rc01 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขการคํานวณพาร์ติชันที่ไม่ถูกต้องเมื่อมีการแสดงบานพับที่ยกเว้น (9dfd483)

เวอร์ชัน 1.0.0-beta04

26 มิถุนายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-beta04 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่เมื่ออัปเดตขอบเขตบานพับ เลย์เอาต์จะไม่อัปเดตตาม (71e9cf1)

เวอร์ชัน 1.0.0-beta03

12 มิถุนายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องที่เกิดจากการแก้ไขข้อกำหนดที่ไม่ถูกต้องในรุ่นเบต้า 02

เวอร์ชัน 1.0.0-beta02

29 พฤษภาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-beta02 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta01

14 พฤษภาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-alpha12

1 พฤษภาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha12 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่มข้อมูล isFlat ไปยัง HingeInfo (Ie0516, b/333784198)
  • ทำให้ API แบบปรับเปลี่ยนไม่ได้อยู่ในช่วงทดลอง (I1d038)
  • ทำให้ API เลย์เอาต์แบบปรับเปลี่ยนไม่ได้อยู่ในรุ่นทดลอง (Id23df)
  • เปลี่ยน BackNavigationBehavior จาก Enum เป็นคลาสค่า (Id8757)

การแก้ไขข้อบกพร่อง

  • เปลี่ยนเศษการเปลี่ยนเป็น Lambda (I6f5a9)
  • แก้ไขปัญหาสถานะเริ่มต้นของ SizeTracker (18326a9)
  • รวมรายการ hinge ในการตรวจสอบความเท่าเทียมของ Posture (6687137)

เวอร์ชัน 1.0.0-alpha11

17 เมษายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha11 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • ทำให้อินเทอร์เฟซขอบเขตปิด (Iefa57)
  • แนะนำ AnimatedPaneScope (I62d73, b/332750742)
  • ทำให้ AdaptStrategy ปิดสนิทและมั่นคง (Ia28b2)
  • แนะนำวิธีการทำสำเนาของ PaneScaffoldDirective (I9291f)
  • ทำเครื่องหมาย ThreePaneScaffoldScope ว่าเป็นเวอร์ชันทดลอง (I9d527)
  • มี API ของโครงสร้างพื้นฐานที่ใช้งานง่ายซึ่งรองรับการนําทาง (I263f0, b/321010778)

เวอร์ชัน 1.0.0-alpha10

3 เมษายน 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha10 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • ทําให้ความกว้างที่ต้องการเริ่มต้นเป็นแบบปรับอัตโนมัติและปรับแต่งได้ (Ic3abc)
  • เปลี่ยนชื่อฟังก์ชันการคํานวณของคำสั่งสแคฟเฟิลด์ (I10855)
  • นำการเยื้องและระยะห่างจากขอบออกจาก API ของโครงสร้างพื้นฐาน (I786f8)
  • เพิ่มเมธอดการจดจําของ Navigator ที่ไม่มีประเภททั่วไป (I607c3)

เวอร์ชัน 1.0.0-alpha09

20 มีนาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha09 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่มช่องการเปลี่ยนสถานะลงใน ThreePaneScaffoldScope (I3d917)
  • เรียงลําดับพารามิเตอร์สคาฟเฟิลด์ใหม่ (I4dff5)
  • ระบุค่าเริ่มต้นของพารามิเตอร์ตัวแก้ไข AnimatedPane (I77dd7)

การแก้ไขข้อบกพร่อง

  • รวมขนาดตัวเว้นวรรคไว้ในการเคลื่อนไหวของแผง (a3174ca)

เวอร์ชัน 1.0.0-alpha08

6 มีนาคม 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08 ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha08 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ใช้การเลื่อนเข้าแบบเลื่อนช้าเมื่อเปลี่ยนแผง (I1a38e)

การเปลี่ยนแปลง API

  • นําอินเทอร์เฟซ ThreePaneScaffoldState ออก (I63f23)

เวอร์ชัน 1.0.0-alpha07

21 กุมภาพันธ์ 2024