Compose Material 3
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
12 ธันวาคม 2024 | 1.3.1 | - | - | 1.4.0-alpha05 |
โครงสร้าง
คอมโพสิชันคือชุดค่าผสมของรหัสกลุ่ม Maven 7 รายการภายใน androidx
กลุ่มแต่ละกลุ่มประกอบด้วยชุดฟังก์ชันการทำงานย่อยที่กำหนดเป้าหมายไว้ โดยแต่ละกลุ่มจะมีชุดหมายเหตุการเผยแพร่ของตัวเอง
ตารางนี้จะอธิบายกลุ่มและลิงก์ไปยังชุดบันทึกประจำรุ่นแต่ละชุด
กลุ่ม | คำอธิบาย |
---|---|
compose.animation | สร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack Compose เพื่อมอบประสบการณ์การใช้งานที่ดีขึ้นให้แก่ผู้ใช้ |
compose.compiler | เปลี่ยนรูปแบบฟังก์ชัน @Composable และเปิดใช้การเพิ่มประสิทธิภาพด้วยปลั๊กอินคอมไพเลอร์ Kotlin |
compose.foundation | เขียนแอปพลิเคชัน Jetpack Compose ด้วยองค์ประกอบพื้นฐานที่พร้อมใช้งานและขยายรากฐานเพื่อสร้างชิ้นส่วนระบบออกแบบของคุณเอง |
compose.material | สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design ที่พร้อมใช้งาน นี่เป็นจุดแรกเข้าระดับที่สูงขึ้นของ Compose ซึ่งออกแบบมาเพื่อจัดหาคอมโพเนนต์ที่ตรงกับที่อธิบายไว้ใน www.material.io |
compose.material3 | สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design 3 ซึ่งเป็นวิวัฒนาการขั้นถัดไปของ Material Design Material 3 ประกอบด้วยธีมและคอมโพเนนต์ที่อัปเดต รวมถึงฟีเจอร์การปรับแต่งในแบบของคุณของ Material You เช่น สีแบบไดนามิก และออกแบบมาให้สอดคล้องไปกับสไตล์ภาพและ UI ของระบบ Android 12 เวอร์ชันใหม่ |
compose.runtime | องค์ประกอบพื้นฐานของรูปแบบการเขียนโปรแกรมและการจัดการสถานะของ Compose รวมถึงรันไทม์หลักสำหรับกำหนดเป้าหมายปลั๊กอินคอมไพเลอร์ Compose |
compose.ui | องค์ประกอบพื้นฐานของ UI การเขียนที่จำเป็นต่อการโต้ตอบกับอุปกรณ์ ซึ่งรวมถึงเลย์เอาต์ ภาพวาด และอินพุต |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Compose คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
Groovy
dependencies { implementation "androidx.compose.material3:material3:1.3.1" implementation "androidx.compose.material3:material3-window-size-class:1.3.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมในเอกสารประกอบของเครื่องมือติดตามปัญหา
Compose Material3 Common เวอร์ชัน 1.0
เวอร์ชัน 1.0.0-alpha01
17 เมษายน 2024
androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
และ androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
คอมโพเนนต์ที่ไม่มีธีมซึ่งใช้สร้างคอมโพเนนต์ Material Design ได้
- พาเลตโทนสี
- ไอคอน
- ขนาดเป้าหมายการสัมผัส
Compose Material3 Adaptive Navigation Suite เวอร์ชัน 1.0
เวอร์ชัน 1.0.0-alpha07
1 พฤษภาคม 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
และ androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha07 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ทำให้ API ชุดการนำทางไม่ใช่เวอร์ชันทดลอง (If62af)
การแก้ไขข้อบกพร่อง
- ใช้ส่วนแทรกสำหรับเนื้อหาโดยค่าเริ่มต้น (50266df)
เวอร์ชัน 1.0.0-alpha06
17 เมษายน 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
และ androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha06 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
containerColor
และcontentColor
ลงในNavigationSuiteScaffoldDefaults
(I64e3a, b/331993720) - การเพิ่มฟังก์ชัน
itemColors
ลงในNavigationSuiteDefaults
(Idf719, b/328480012) - ทำให้
NavigationSuiteScope
ปิดผนึก (Iefa57)
เวอร์ชัน 1.0.0-alpha05
6 มีนาคม 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
และ androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha05 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- กำหนดตัวสร้าง
NavigationSuiteItemColors
เป็นสาธารณะ (Ica83a, b/324886877)
เวอร์ชัน 1.0.0-alpha04
21 กุมภาพันธ์ 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04
และ androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha04 มีการคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- อัปเดตทรัพยากร Dependency แบบปรับเปลี่ยนได้ของ Material3 เป็นเส้นทางโมดูลใหม่ (Ibc421)
- ย้ายข้อมูลเพื่อใช้คลาสขนาดหน้าต่างเวอร์ชัน Window Manager (I3794d)
เวอร์ชัน 1.0.0-alpha03
7 กุมภาพันธ์ 2024
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
และ androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- อัปเดตชื่อแพ็กเกจเป็น navigationsuite จาก navigation-suite (I7eff7)
- คอมโพเนนต์ Material3 ที่แสดง
MutableInteractionSource
ใน API ได้รับการอัปเดตให้แสดงMutableInteractionSource
ที่อนุญาตค่า Null ซึ่งค่าเริ่มต้นคือ Null ไม่มีการทําการเปลี่ยนแปลงเชิงความหมายในส่วนนี้ การผ่านค่า Null หมายความว่าคุณไม่ต้องการยกระดับMutableInteractionSource
และระบบจะสร้างMutableInteractionSource
นั้นภายในคอมโพเนนต์หากจําเป็น การเปลี่ยนเป็น null จะช่วยให้คอมโพเนนต์บางรายการไม่ต้องจัดสรรMutableInteractionSource
เลย และช่วยให้คอมโพเนนต์อื่นๆ สร้างอินสแตนซ์แบบเลื่อนเวลาไว้ใช้เมื่อจำเป็นเท่านั้น ซึ่งจะช่วยปรับปรุงประสิทธิภาพของคอมโพเนนต์เหล่านี้ หากคุณไม่ได้ใช้MutableInteractionSource
ที่ส่งไปยังคอมโพเนนต์เหล่านี้ เราขอแนะนำให้ส่งค่า Null แทน นอกจากนี้ เราขอแนะนำให้คุณทำการเปลี่ยนแปลงที่คล้ายกันในคอมโพเนนต์ของคุณเองด้วย (I41abb, b/298048146)
เวอร์ชัน 1.0.0-alpha02
13 ธันวาคม 2023
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
และ androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha02 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
NavigationSuiteType
"ไม่มี" (If8cb1, b/313688598)
การแก้ไขข้อบกพร่อง
- แก้ไขคอมโพเนนต์การนําทางที่เต็มหน้าจอเมื่อแพลตฟอร์มรูทมี
modifier.fillMaxSize
(c9cf250, b/312664933)
เวอร์ชัน 1.0.0-alpha01
15 พฤศจิกายน 2023
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
Compose Material3 Adaptive เวอร์ชัน 1.0
เวอร์ชัน 1.0.0-alpha06
7 กุมภาพันธ์ 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
และ androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha06 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มตัวเลือกลักษณะการทำงานเพิ่มเติมสำหรับการนําทางกลับ
ThreePaneScaffoldNavigator
(I858aa) - เพิ่มเนื้อหาปลายทางที่ไม่บังคับลงในประวัติการนําทาง (Ibd7e6)
เวอร์ชัน 1.0.0-alpha05
24 มกราคม 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
และ androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha05 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับการรับรู้ประวัติในการนําทางและการคำนวณค่าของโครงสร้างพื้นฐาน (I71d46)
เวอร์ชัน 1.0.0-alpha04
10 มกราคม 2024
androidx.compose.material3:material3-adaptive:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
และ androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha04 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับแบบขอบต่อขอบในสคาฟเฟิลด์ของแผง (I1b462)
การเปลี่ยนแปลง API
- ย้ายพร็อพเพอร์ตี้ขอบเขตของข้อต่อในท่าทางไปยังรายการข้อมูลข้อต่อ (I24f90)
การแก้ไขข้อบกพร่อง
- แก้ไข
AnimatedPane
ไม่ได้จัดเรียงใหม่ (c3f573d)
เวอร์ชัน 1.0.0-alpha03
13 ธันวาคม 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
และ androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปลี่ยนบทบาทของโครงสร้างพื้นฐานเป็นอีเมลแทนของ
ThreePaneScaffoldRole
(I65bd1) - สร้างคลาสพื้นฐานสําหรับบทบาทของโครงร่าง (I4784d)
- นําพารามิเตอร์ที่ไม่จําเป็นออกจากเนื้อหาของ
AnimatedPane
(Ibc73b) - เปลี่ยนชื่อ
collectWindowSizeAsState
และแสดงผลค่าดิบแทน (I480f4)
เวอร์ชัน 1.0.0-alpha02
29 พฤศจิกายน 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
และ androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
การแก้ไขข้อบกพร่อง
- แก้ไขไม่ให้สลับแผงเมื่อไม่ได้ใช้
AnimatedPane
(d88f181)
เวอร์ชัน 1.0.0-alpha01
15 พฤศจิกายน 2023
androidx.compose.material3:material3-adaptive:1.0.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
API เงื่อนไขแบบปรับเปลี่ยนได้ของ Material3
API คำสั่งสแคฟเฟิลของแผงแบบปรับเปลี่ยนได้ของ Material3
API ของโครงร่างแผงแบบปรับเปลี่ยนได้ของ Material3
- API พื้นฐานของเฟรมส่วนกลาง
Compose Material3 เวอร์ชัน 1.4
เวอร์ชัน 1.4.0-alpha05
12 ธันวาคม 2024
androidx.compose.material3:material3-*:1.4.0-alpha05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0-alpha05 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- แทนที่ประเภทในค่า
WideNavigationRailState.current/target
ด้วย enum เพื่อให้อ่านได้ง่ายขึ้น (I2d6ab) SplitButton
เปลี่ยน Shape API จากคลาสข้อมูลเป็นคลาสเพื่อความเข้ากันได้ของไฟล์ไบนารี (I53812)- เพิ่ม API ของเคล็ดลับเครื่องมือซึ่งมีพารามิเตอร์
onDismissRequest
เพื่อให้ผู้สร้างตัดสินใจได้ว่าจะเกิดอะไรขึ้นเมื่อผู้ใช้คลิกนอกเคล็ดลับเครื่องมือ เลิกใช้งาน API เก่าที่ไม่มีพารามิเตอร์ใหม่นี้ (I99aef) - เปลี่ยนชื่อ
opticalCentering
เป็นhorizontalCenterOptically
เปลี่ยนตัวแก้ไขเป็นแบบภายใน แทนที่พารามิเตอร์การถ่วงด้วยออฟเซตเริ่มต้นและสิ้นสุดสูงสุด (I0b904) - เปลี่ยน
WideNavigationRailState
ให้มีค่าปัจจุบัน/เป้าหมาย นำรายการที่เป็นไปได้ออกเพื่อใช้บูลีน (Idfa29, b/356039090) - เพิ่ม
NavigationBarItemComponentOverride
(I3a06a)
การแก้ไขข้อบกพร่อง
- แก้ไขลักษณะการทำงานของแถบแอปด้านบนและด้านล่างให้เปลี่ยนสีอย่างน่าเชื่อถือเมื่อเลื่อนเนื้อหาจนสุด (Idc4e8, b/293665988)
- ตอนนี้ฟังก์ชันลักษณะการเลื่อนสำหรับแถบแอปด้านบนและด้านล่างจะแสดงลักษณะการเลื่อนที่จดจำไว้เพื่อให้ทำงานได้ดีขึ้นเมื่อมีการคอมโพสใหม่ (I0fdbe, b/207957336)
- ตอนนี้พารามิเตอร์ตัวแก้ไขจะใช้หลังจากตัวแก้ไขภายใน เช่น ลักษณะการลากและความหมายแทนที่จะใช้ก่อน ซึ่งจะส่งผลต่อลําดับการใช้ตัวแก้ไข (I8d83f)
- Bottom Sheet ที่ขยายจะยังคงขยายอยู่เมื่อเปลี่ยนขนาด (I2870b, b/324934884)
- กำหนดสถานะและสถานะแถบนำทางสำหรับพร็อพเพอร์ตี้ Windows อย่างถูกต้อง (Ie674d, b/362539765)
- ย้ายพารามิเตอร์ตัวแก้ไขไปยังรูทของแท็บเล็ตตามเอกสารประกอบ ซึ่งจะช่วยให้การติดตั้งใช้งานสอดคล้องกับ M2 (I0235e, b/372311595)
การมีส่วนร่วมจากภายนอก
- ฟังก์ชัน
DatePickerDialog
ที่ใช้ร่วมกัน (I7dced)
เวอร์ชัน 1.4.0-alpha04
13 พฤศจิกายน 2024
androidx.compose.material3:material3-*:1.4.0-alpha04
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0-alpha04 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงลักษณะการทำงาน
- เปลี่ยนสีกลับเป็น
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
และoutlinedIconToggleButtonBorder
ตามที่ระบุไว้ใน aosp/3212478 ย้ายลักษณะการทำงานที่เปลี่ยนกลับแล้วไปไว้ในชุดฟังก์ชันใหม่ที่เรียกว่าiconButtonVibrantColors
และอื่นๆ เพื่อเน้นสีคอนทราสต์สูงที่แสดงผล (Iffd8d)
ฟีเจอร์ใหม่
- แนะนำคอมโพเนนต์
VerticalDragHandle
(I6c770)
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
DismissibleModalWideNavigationRailDefaults
เป็นModalWideNavigationRailDefaults
(I8e877) - เพิ่ม
NavigationBarComponentOverrides
(I8a3f3) - เพิ่ม
NavigationRailComponentOverride
(I83e13) - แนะนำ
WideNavigationRailState
เพื่อจัดการการยุบ/ขยายราง อนุญาตให้ปิดModalWideNavigationRail
และลบDismissibleModalWideNavigationRail
(I88568) - เพิ่มค่าเริ่มต้นขนาด xSmall, กลาง, ใหญ่ และ xLarge ลงในค่าเริ่มต้นของปุ่มเปิด/ปิด (Ie95d1)
- เพิ่มค่าเริ่มต้นขนาด xSmall, กลาง, ใหญ่ และ xLarge ลงในค่าเริ่มต้นของปุ่ม (If8b6d)
การแก้ไขข้อบกพร่อง
- อัปเดตสีไอคอนต่อท้ายของชิปกรองจากสีหลักเป็น
OnSurfaceContainer
ตามข้อมูลจำเพาะ อัปเดตสีโครงร่างของชิปทั้งหมดจากสีโครงร่างเป็นสีโครงร่างที่ต่างกันตามข้อมูลจำเพาะ (I68bd4)
เวอร์ชัน 1.4.0-alpha03
30 ตุลาคม 2024
androidx.compose.material3:material3-*:1.4.0-alpha03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0-alpha03 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เลิกใช้งานตัวสร้าง
SheetState
ที่มีความหนาแน่นแล้วเพื่อใช้เกณฑ์ตำแหน่งและความเร็วแทน (Ifd16e) - เพิ่ม
rememberTooltipPositionProvider
ที่มีตรรกะการวางตำแหน่งที่อัปเดตแล้ว เลิกใช้งานrememberPlainTooltipPositionProvider
และrememberRichTooltipPositionProvider
แล้ว (Ie66e2) ModalBottomSheetProperties
เพิ่มเติมช่วยให้คุณปรับแต่งสีของแถบสถานะและแถบนําทางได้ โดยค่าเริ่มต้น ฟีเจอร์เหล่านี้จะอัปเดตตามสีของเนื้อหาแทนสถานะธีมมืดของระบบ (Ib874e, b/362539765)- ปรับปรุงประสบการณ์การป้อนข้อมูลสำหรับเครื่องมือเลือกวันที่: เมื่ออยู่ในโหมดป้อนข้อมูล ช่องข้อความวันที่จะโฟกัสสำหรับการป้อนข้อความทันที การเปลี่ยนแปลงนี้จะเพิ่มพารามิเตอร์
requestFocus
ลงในDatePicker
และDateRangePicker
คุณป้องกันโฟกัสได้โดยส่งfalse
(I12d09, b/286399710, b/340102743) - การแคชค่าเริ่มต้นของรูปร่างลงในออบเจ็กต์รูปร่าง กำหนดรูปร่างเริ่มต้นเป็น
@Composable
สำหรับปุ่มเปิด/ปิด การยุบรูปร่างให้เป็นรูปร่างเดียวโดยค่าเริ่มต้น เนื่องจากตัวแปรชี้ไปยังไฟล์โทเค็นเดียวกัน (Iaa014)
การแก้ไขข้อบกพร่อง
- เพิ่มประสิทธิภาพลักษณะการทํางานของ
contentPadding
ของ Scaffold เพื่อหลีกเลี่ยงการจัดเรียงเนื้อหาส่วนเนื้อหาใหม่ทุกครั้งที่มีการเปลี่ยนแปลงcontentPadding
(I8c8e2, b/373904168) - เปลี่ยนชื่อ
progress
ของTextFieldLabelScope
เป็นlabelMinimizedProgress
- เปลี่ยนชื่อ
TextFieldLabelPosition
Default
เป็นAttached
แล้ว นำสมาชิกอินเทอร์เฟซออกแล้ว (If75c6) - แก้ไขปัญหาเกี่ยวกับ
DatePicker
ในโหมดป้อนข้อมูล ซึ่งข้อผิดพลาดในการตรวจสอบอาจทําให้ความสูงของคอมโพเนนต์เปลี่ยนแปลง (I2e229, b/280462363) - ทําให้แถบเลื่อนของวัสดุเปลี่ยนค่าเมื่อกดแป้นควบคุม (I1c442)
เวอร์ชัน 1.4.0-alpha02
16 ตุลาคม 2024
androidx.compose.material3:material3-*:1.4.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0-alpha02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- การอัปเดตเครื่องมือเลือกวันที่เพื่อให้แน่ใจว่ามีการใช้ภาษาอย่างสอดคล้องกันตลอดทั้ง
DatePicker
และDateRangePicker
เมื่อตั้งค่าภาษาผ่านDatePickerState
หรือDateRangePickerState
โดยตรง โปรดทราบว่าเมื่อตั้งค่าภาษาเป็นรัฐโดยตรง คุณจะต้องตรวจสอบว่ามีการแปลข้อความชื่อและบรรทัดแรกให้สอดคล้องกับภาษานั้น เนื่องจากระบบจะยังคงใช้ข้อความเริ่มต้นตามภาษาเริ่มต้นของแพลตฟอร์ม (I37073, b/326490763, b/321657276) SheetState.isAnimationRunning
แสดงแล้ว (I9a3d7)- ตอนนี้
DatePickerColors
จะมีความสำคัญเหนือกว่าสีที่ขัดแย้งกันซึ่งกำหนดไว้ในรูปแบบข้อความการจัดรูปแบบตัวอักษรของธีม นอกจากนี้ โปรดทราบว่าการอัปเดตนี้จะปรับตําแหน่งพารามิเตอร์color
ในฟังก์ชันเครื่องมือเลือกวันที่และเพิ่มพารามิเตอร์contentColor
สําหรับการปรับแต่งสีข้อความส่วนหัวและชื่อ (I30d03, b/347031394) - เปลี่ยนชื่อ
SplitButton
เป็นSplitButtonLayout
และนํา API ของผลิตภัณฑ์ย่อยตามสีSplitButton
ออก ระบบจะสร้างผลิตภัณฑ์ย่อยโดยใช้ผลิตภัณฑ์ย่อยของปุ่มที่SplitButtonDefaults
ระบุไว้ (I44c36) - ตอนนี้
ModalBottomSheet
มีพารามิเตอร์sheetGestureEnabled
(I856cb, b/288211587) - เปลี่ยนชื่อ
standardMotionScheme
และexpressiveMotionScheme
เป็นมาตรฐานและสื่ออารมณ์ ตอนนี้คุณเข้าถึงฟังก์ชันทั้ง 2 รายการผ่านออบเจ็กต์MotionScheme
ได้แล้วโดยการเรียกใช้MotionScheme.standard()
และMotionScheme.expressive()
(Iceccf) - การเพิ่มพารามิเตอร์
maxWidth
ลงในเคล็ดลับเครื่องมือแบบธรรมดาและแบบริชมีเดีย โดยค่าเริ่มต้นจะเป็น 200 dp สำหรับเคล็ดลับเครื่องมือแบบธรรมดาและ 320 dp สำหรับเคล็ดลับเครื่องมือแบบริชมีเดีย (I30ce9)
การแก้ไขข้อบกพร่อง
- ตอนนี้
DatePicker
และDateRangePicker
จะอัปเดตเดือนที่แสดงอย่างถูกต้องเมื่อตั้งค่าผ่านdisplayedMonthMillis
ของรัฐ (If9e47, b/333414302) - ตอนนี้เนื้อหา
ModalBottomSheet
จะย้ายเนื้อหาออกจากแถบสถานะ (I5114c, b/321877275, b/336962418, b/342093067) - [Bottom Sheet] เปลี่ยนลำดับความสำคัญของการเรียกกลับกลับไปเป็น
PRIORITY_DEFAULT
เพื่ออนุญาตให้แป้นพิมพ์ IME ปิดก่อน (I447fb) - แก้ไขข้อขัดข้องใน
DatePicker
และDateRangePicker
เมื่อตั้งค่าปีที่เลือกได้ต่ำสุดเป็นปีในอนาคต (I78656, b/319395747) - แก้ไขปัญหาเครื่องมือเลือกวันที่เพื่ออัปเดต UI เมื่อใช้อินสแตนซ์
SelectableDates
ที่อัปเดตแล้ว (Iad59a, b/290135807, b/339898760)
เวอร์ชัน 1.4.0-alpha01
2 ตุลาคม 2024
androidx.compose.material3:material3-*:1.4.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0-alpha01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงลักษณะการทำงาน
- ไลบรารีจะไม่เพิ่มทรัพยากร Dependency ไปยัง
material-icons-core
อีกต่อไป ดังนั้นหากโปรเจ็กต์ของคุณต้องใช้material-icons-core
คุณจะต้องเพิ่มทรัพยากร Dependency นั้นในไฟล์build.gradle[.kts]
อย่างชัดเจน (I735ff, b/349894318) - สีของป้ายกำกับที่ใช้งานอยู่ของ
NavigationBarItem
และNavigationRailItem
เปลี่ยนจากonSurface
เป็นsecondary
เพื่อปรับปรุงความสามารถในการใช้งาน คอนทราสต์ของสี และปรับปรุงความสอดคล้องภายในระบบ (Ibc297) หากต้องการเปลี่ยนกลับไปเป็นลักษณะการทำงานแบบเดิม ให้คัดลอกสีเริ่มต้นและเปลี่ยนselectedTextColor
เป็นMaterialTheme.colorScheme.onSurface
- ตอนนี้คอมโพเนนต์ Material 3 ใช้
MotionScheme
ใหม่เพื่อกำหนดการเคลื่อนไหวแล้ว (Ie0f93) - การเปลี่ยนแปลงการเคลื่อนไหวของสัญญาณบอกสถานะความคืบหน้าแบบวงกลมที่ไม่แน่นอน (I3c07e)
- อัปเดต
OutlinedIconButtonColors
และOutlinedIconToggleButtonColors
เพื่อให้สีมีความคมชัดมากขึ้น (I2743d) - อัปเดตสีคอนเทนเนอร์และสีเนื้อหาสำหรับ
FilledIconToggleButtonColors
และFilledTonalIconToggleButtonColors
(Ic5d0f) - อัปเดตสีเส้นขอบ
OutlinedButton
จากoutline
เป็นoutlineVariant
(057f00)
การเปลี่ยนแปลง API
- เพิ่มพารามิเตอร์
reverseLayout
ที่ไม่บังคับลงในฟังก์ชันenterAlwaysScrollBehavior
ของTopAppBar
เพื่อรองรับเนื้อหาที่ตั้งค่าด้วยreverseLayout
ได้ดียิ่งขึ้น (I4e0e5) - ตอนนี้
SegmentedButton
รองรับอาร์กิวเมนต์contentPadding
แล้ว (I5ad91, b/358414376) PullToRefreshState
ไม่มีการติดตั้งใช้งานเริ่มต้นสำหรับisAnimating
อีกต่อไป (I6a593)- เพิ่มการโอเวอร์โหลดใหม่ของ Material
TextField
และOutlinedTextField
ที่ใช้TextFieldState
เพิ่ม API กล่องตกแต่งที่เข้ากันได้กับTextFieldDecorator
(If13a1) - เพิ่มพารามิเตอร์เพื่อควบคุม
labelPosition
ของช่องข้อความ การใช้alwaysMinimize
ช่วยให้รูปแบบ UI แสดงป้ายกำกับและตัวยึดตําแหน่งในช่องข้อความพร้อมกันได้ แม้ว่าช่องจะไม่ได้รับการโฟกัสก็ตาม (I1ef2c) - เพิ่มวัสดุ
SecureTextField
และOutlinedSecureTextField
สำหรับช่องป้อนรหัสผ่าน (I7e22d) - เพิ่มขอบเขตในป้ายกํากับช่องข้อความเพื่อค้นหาความคืบหน้าของภาพเคลื่อนไหว (If5ec8)
- เพิ่มการรองรับ
MotionEvent.CLASSIFICATION_DEEP_PRESS
ไปยังเคล็ดลับเครื่องมือ (I62e6a) - ตอนนี้
isAfternoon
ของTimePickerState
เป็น val ของส่วนขยายแทนที่จะเป็น var ในอินเทอร์เฟซ และเปลี่ยนชื่อเป็นisPm
(I89a97) - อัปเดตคลาสการจัดรูปแบบตัวอักษรเพื่อรองรับขนาดแบบเน้น (Ifa13c)
- เพิ่ม
ModalWideNavigationRail
API และเปลี่ยนชื่อModalExpandedNavigationRail
API เป็นDismissibleModalWideNavigationRail
(Ic9118) - อัปเดต
FloatingAppBarScrollBehavior
ให้คํานวณscreenOffset
โดยอัตโนมัติและไม่ต้องระบุ@Composable
(Idf349) - การอัปเดต
LoadingIndicator
API เพื่อแก้ไขการตั้งชื่อออบเจ็กต์เริ่มต้น เพิ่มค่าคงที่LoadingIndicatorElevation
ที่PullToRefresh
(I1d72b) - การอัปเดต
LoadingIndicator
API เพื่อแก้ไขการตั้งชื่อออบเจ็กต์เริ่มต้น เพิ่มค่าคงที่LoadingIndicatorElevation
ที่PullToRefresh
(I1d72b) - เพิ่มพารามิเตอร์
amplitude
และwaveSpeed
ลงในรูปแบบที่ไม่แน่นอนของLinearWavyProgressIndicator
และCircularWavyProgressIndicator
(I2a0c5) - รองรับการเปลี่ยนรูปร่างของปุ่มเปิด/ปิดไอคอนตามสถานะการกดหรือเลือก (Ibc781)
- อัปเดตคลาสการจัดรูปแบบตัวอักษรเพื่อรองรับขนาดแบบเน้น (Ifa13c)
SplitButton
รูปร่างจะเปลี่ยนตามสถานะเริ่มต้น / กด นําAnimatedTrailingButton
API ออกเนื่องจากTrailingButton
API เสนอการปรับแต่งแบบเดียวกันได้ (I95066)- เพิ่มตัวแก้ไขเพื่อแสดงภาพเคลื่อนไหวของการแสดงและการซ่อน FAB เช่น เมื่อเลื่อนเนื้อหา (I8338d)
- การเพิ่มรูปร่างและระยะห่างของกลุ่มปุ่มที่เชื่อมต่อกันไปยัง
ButtonGroupDefaults
เพื่อใช้ในตัวอย่าง (I68e30) - ปุ่มแยกเพิ่มระยะขอบแนวนอนสำหรับปุ่มต่อท้ายและเปิดใช้การกึ่งกลางแบบออปติคอลที่คำนวณจากความแตกต่างของมุมเริ่มต้นและมุมสิ้นสุด (I122e2)
- ขอแนะนำ Material
MotionScheme
ใหม่ที่ช่วยในการตั้งค่ารูปแบบการเคลื่อนไหวของคอมโพเนนต์ กำหนดรูปแบบผ่านMaterialTheme
(Id50c2)
การแก้ไขข้อบกพร่อง
- ใช้ดัชนีการโฟกัสที่ถูกต้องกับ Composable ย่อย
Scaffold
ลําดับคือtopBar
,bottomBar
, fab, เนื้อหา, แถบข้อมูล (I5936b) - แก้ไขปัญหาที่
DatePicker
และDateRangePicker
ซึ่งในบางภาษาและรูปแบบโครงกระดูก องค์ประกอบวันที่บางรายการ (เช่น ชื่อเดือน) ไม่ได้ขึ้นต้นด้วยอักษรตัวพิมพ์ใหญ่ (I1430f) - ผสานรวมโทเค็นคอมโพเนนต์ FAB และเมนู FAB (การอัปเดตภาพเล็กน้อยสำหรับระยะห่างจากขอบและข้อความ) (Ib57f3)
- ตอนนี้
ModalBottomSheet
จะอยู่ก่อนในสคีมาการท่องเว็บตามความหมาย ตามด้วยภาพตัวอย่าง (I436f9, b/358594665) - แก้ไขแถบแอปด้านล่างไม่หายไปอย่างสมบูรณ์เมื่อเลื่อนใต้เม็ดนำทางในโหมดเต็มหน้าจอ (I3ee21)
Compose Material3 เวอร์ชัน 1.3
เวอร์ชัน 1.3.1
30 ตุลาคม 2024
androidx.compose.material3:material3-*:1.3.1
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.1 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
DatePicker
และDateRangePicker
จะอัปเดตเดือนที่แสดงอย่างถูกต้องเมื่อตั้งค่าผ่านdisplayedMonthMillis
ของรัฐ (If9e47, b/333414302) - แก้ไขข้อขัดข้องใน
DatePicker
และDateRangePicker
เมื่อตั้งค่าปีที่เลือกได้ต่ำสุดเป็นปีในอนาคต (I78656, b/319395747) - แก้ไขปัญหาเครื่องมือเลือกวันที่เพื่ออัปเดต UI เมื่อใช้อินสแตนซ์
SelectableDates
ที่อัปเดตแล้ว (Iad59a, b/290135807, b/339898760) - เปลี่ยนลำดับความสำคัญของการเรียกกลับที่ชีตด้านล่างใช้กลับเป็น
PRIORITY_DEFAULT
เพื่อให้แป้นพิมพ์ IME ปิดก่อน (I447fb)
เวอร์ชัน 1.3.0
4 กันยายน 2024
androidx.compose.material3:material3-*:1.3.0
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0
ฟีเจอร์หลักของเวอร์ชัน 1.3.0
คอมโพเนนต์ Material Design 3 รายการใหม่
- ภาพสไลด์
HorizontalMultiBrowseCarousel
และHorizontalUncontainedCarousel
การเพิ่มประสิทธิภาพให้กับคอมโพเนนต์ Material Design 3 ที่มีอยู่
- [
ModalBottomSheet
] ตอนนี้รองรับการกดย้อนกลับแบบคาดการณ์ใน U+ แล้ว (Iccf32, b/281967264, b/304850357) - [
SearchBar
] ตอนนี้รองรับการย้อนกลับที่คาดการณ์ได้ใน U+ (I657f8) - ตอนนี้ลิ้นชักการนำทาง (
ModalDrawerSheet
และDismissibleDrawerSheet
) รองรับการกดย้อนกลับแบบคาดการณ์ใน U+ สำหรับการเลือกใช้ (Ie5b0b) - ตอนนี้
DropdownMenu
รองรับสี รูปร่าง ความสูง และเส้นขอบที่กำหนดเองแล้ว (I8e981,b/289554448, b/301887035, b/283654243) - อัปเดตแถบเลื่อนเพื่อปรับปรุงการช่วยเหลือพิเศษด้วยการเพิ่มตัวบ่งชี้ระยะห่างและจุดหยุด (I3058e)
- อัปเดต
ProgressIndicator
เพื่อปรับปรุงการช่วยเหลือพิเศษด้วยการเพิ่มตัวบ่งชี้ระยะห่างและจุดแวะ (I21451) - เพิ่มเคอร์เซอร์เริ่มต้นสำหรับเคล็ดลับเครื่องมือแบบริชมีเดีย รองรับการวาดเคอร์เซอร์ที่กำหนดเองไปยังจุดยึดที่ระบุ
LayoutCoordinates
(Ifd42c) การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ - API ใหม่สำหรับการดึงเพื่อรีเฟรช
- ปรับ
PullToRefreshState
ให้ใช้ค่าเศษแทนหน่วย Dp - ผู้ใช้จะเป็นผู้ควบคุมสถานะ
isRefreshing
แทนPullToRefreshState
- แยกการเชื่อมต่อการเลื่อนที่ฝังอยู่ออกจาก
PullToRefreshState
การดำเนินการนี้จัดการโดยPullToRefreshBox
หรือModifier.pullToRefresh
ใหม่ - การอัปเดตนี้ถือเป็นการเปลี่ยนแปลงครั้งสําคัญสําหรับ API เวอร์ชันทดลองก่อนหน้านี้ (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) การเปลี่ยนแปลงที่ส่งผลต่อการแสดงผล
- ปรับ
- อัปเดตการวางซ้อนสถานะโฟกัสเป็น 0.1f เพื่อให้สีมีคอนทราสต์เพียงพอ (I7ea77)
- การปรับเล็กน้อยสำหรับสีเริ่มต้นของพื้นผิวและพื้นหลังใน
lightColorScheme
และdarkColorScheme
(I9db52) - อัปเดตสีแถบเลื่อนและ
ProgressIndicator
ให้เป็นไปตามข้อกำหนดใหม่เกี่ยวกับคอนทราสต์ที่ไม่ใช่ข้อความ (I26807) - ตอนนี้คอมโพเนนต์ใช้ตัวแปร
SurfaceContainer
รายการ คอมโพเนนต์ที่คำนวณสีด้วยSurface
และTonalElevation
อย่างเป็นทางการจะใช้บทบาทSurfaceContainer
โดยค่าเริ่มต้น ซึ่งไม่ได้รับผลกระทบจากการยกระดับโทนสี (b/304584161) - เราได้ปรับบทบาทพื้นฐานของแพลตฟอร์มและคอนเทนเนอร์แพลตฟอร์มเล็กน้อยเพื่อให้มีสีสันมากขึ้นในธีมสว่างและธีมมืด (I677a5)
- โปรโมต API ทดลองเป็นเวอร์ชันเสถียรแล้ว
- ปรับปรุงประสิทธิภาพ
เวอร์ชัน 1.3.0-rc01
21 สิงหาคม 2024
androidx.compose.material3:material3-*:1.3.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-rc01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
ModalBottomSheet
จะอยู่ก่อนในสคีมาการท่องเว็บตามความหมาย ตามด้วยภาพตัวอย่าง (I436f9, b/358594665)
เวอร์ชัน 1.3.0-beta05
24 กรกฎาคม 2024
androidx.compose.material3:material3-*:1.3.0-beta05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-beta05 มีการคอมมิตเหล่านี้
- แก้ไขปัญหาที่เนื้อหา
BottomSheet
ขาดหายไปหรือถูกตัดออกใน Android N และ O (a10a2d) - เพิ่มขอบเขตของความหมายของแถบเลื่อนเพื่อให้
TalkBack
แสดงตัวบ่งชี้โฟกัสรอบๆ ปุ่มเลื่อนอย่างเหมาะสม (0b5a1d)
เวอร์ชัน 1.3.0-beta04
26 มิถุนายน 2024
androidx.compose.material3:material3-*:1.3.0-beta04
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-beta04 มีการคอมมิตเหล่านี้
เวอร์ชัน 1.3.0-beta03
12 มิถุนายน 2024
androidx.compose.material3:material3-*:1.3.0-beta03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-beta03 มีการคอมมิตเหล่านี้
การมีส่วนร่วมจากภายนอก
- ทำให้
androidx.compose.material3.DropdownMenu
พร้อมใช้งานจากชุดแหล่งที่มาทั่วไป (If62c0)
เวอร์ชัน 1.3.0-beta02
29 พฤษภาคม 2024
androidx.compose.material3:material3-*:1.3.0-beta02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-beta02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
Modifier.pullToRefreshIndicator
รองรับการยกระดับ ให้อัปเดต API การดึงเพื่อรีเฟรชให้เปิดใช้เป็นบูลีนแทนที่จะเป็นแลมบ์ดา รองรับการปรับเนื้อหาในPullToRefreshBox
(I75679)- การทำ
TooltipScope
เป็นอินเทอร์เฟซที่ปิดผนึกและสร้างการใช้งานภายในเพื่อใช้ในTooltipBox
และป้ายกำกับ (I3833e) - เพิ่มตัวแก้ไขใหม่ 2 รายการใน
CarouselItemScope
ได้แก่maskClip
และmaskBorder
เพื่อเพิ่มรูปร่างและเส้นขอบลงในรายการภาพสไลด์ได้อย่างง่ายดาย (Id67a1) TimePickerState
เป็นอินเทอร์เฟซและอนุญาตให้ตั้งเวลาได้แล้ว (I88546)- อัปเดต API สำหรับการจัดรูปแบบลิงก์: ย้าย
TextLinkStyles
ไปยังTextStyle
และนำTextDefaults
ออกจากวัสดุ (I5477b)
การแก้ไขข้อบกพร่อง
- ตอนนี้ไอคอนสถานะและแถบนําทางของ
ModalBottomSheet
จะตอบสนองต่อสถานะธีมมืด (Ie1fe7, b/338342149) - เพิ่มความหมายของชีตที่ปิดไปยัง
ModalBottomSheet
scrim (0e61cb,b/328801864)
การมีส่วนร่วมจากภายนอก
- ทำให้
androidx.compose.material3.AlertDialog
พร้อมใช้งานจากชุดแหล่งที่มาทั่วไป (Ia33f5) - ทำให้
ModalBottomSheet
พร้อมใช้งานจากชุดแหล่งที่มาทั่วไป (Id7cc7)
เวอร์ชัน 1.3.0-beta01
14 พฤษภาคม 2024
androidx.compose.material3:material3-*:1.3.0-beta01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-beta01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ใช้
DpSize
แทนCaretProperties
กำลังนำCaretProperties
ออก เปลี่ยนชื่อCaretScope
เป็นTooltipScope
(Id9a76) - อัปเดต API สำหรับการรับลิงก์ธีม Material ในข้อความ กล่าวโดยละเอียดคือ นําเมธอดออกจาก
TextDefaults
เพื่อสร้างLinkAnnotations
ตามธีม และแยกวิเคราะห์ HTML ด้วยลิงก์ตามธีม แต่เพิ่มคลาสTextLinkStyles
ที่อนุญาตให้จัดรูปแบบลิงก์เป็นพารามิเตอร์ไปยังคอมโพสิชันข้อความแทน (I31b93)
เวอร์ชัน 1.3.0-alpha06
1 พฤษภาคม 2024
androidx.compose.material3:material3-*:1.3.0-alpha06
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha06 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ
API ใหม่สำหรับการดึงเพื่อรีเฟรช
- ปรับ
PullToRefreshState
ให้ใช้ค่าเศษแทนหน่วย Dp - ผู้ใช้จะเป็นผู้ควบคุมสถานะ
isRefreshing
แทนPullToRefreshState
- แยกการเชื่อมต่อการเลื่อนที่ฝังอยู่ออกจาก
PullToRefreshState
การดำเนินการนี้จัดการโดยPullToRefreshBox
หรือModifier.pullToRefresh
ใหม่ - การอัปเดตนี้ถือเป็นการเปลี่ยนแปลงครั้งสําคัญสําหรับ API เวอร์ชันทดลองก่อนหน้านี้ (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
- ปรับ
การเปลี่ยนแปลง API
- ระบบนำ
RippleConfiguration#isEnabled
ออกแล้ว และทำให้LocalRippleConfiguration
เป็นค่าที่อนุญาตเป็น Null หากต้องการปิดใช้การกระเพื่อม ให้ระบุnull
ไปยังLocalRippleConfiguration
แทนการระบุRippleConfiguration
ไปยังisEnabled = false
(I22725) ModalBottomSheet
วาดหน้าจอซ้อนทับแถบสถานะได้แม่นยำยิ่งขึ้นเมื่อเปิดใช้การแสดงผลแบบเต็มหน้าจอ ตอนนี้เนื้อหาของชีตด้านล่างแบบโมดัลสามารถใช้ส่วนแทรกของหน้าต่างได้ ซึ่งจะช่วยให้เนื้อหาที่มองเห็นอยู่เหนือแถบนำทาง เปลี่ยนชื่อพารามิเตอร์ModalBottomSheet
windowInsets
เป็นcontentWindowInsets
เพื่อระบุตําแหน่งที่จะใช้ส่วนแทรก ซึ่งจะไม่เชื่อมโยงกับตรรกะกรอบหน้าต่างอีกต่อไป เปลี่ยนประเภทcontentWindowInsets
เป็นฟังก์ชันที่แสดงผลWindowInsets
เพื่อให้แก้ไขได้ในกรอบเวลาใหม่ (I39630, b/274872542, b/300280229, b/290893168)- ตอนนี้
PrimaryScrollableTabRow
และSecondaryScrollableTabRow
ใช้เลย์เอาต์ที่กำหนดเองแทนการคอมโพสย่อย ซึ่งน่าจะช่วยปรับปรุงประสิทธิภาพได้ (I991e0) - ลิงก์ข้อความมีตัวเลือกการจัดรูปแบบสถานะ "กด" นอกเหนือจากการจัดรูปแบบปกติ วางเมาส์เหนือ และโฟกัส วิธีการ
TextDefaults
แต่ละรายการมีอาร์กิวเมนต์pressedStyle
เพื่อรองรับการดำเนินการดังกล่าว (Ic473f, b/139312671)
การแก้ไขข้อบกพร่อง
- ตอนนี้จุดยึดการลากของลิ้นชักการนำทางจะตรงกับความกว้างของ
drawerContent
(Ibc72f, b/245355396) - ตอนนี้ระยะห่างจากด้านบน
OutlinedTextField
สำหรับป้ายกำกับจะพิจารณาขนาดแบบอักษรของระบบ (Idc781) - แก้ไขตำแหน่งพัสดุของ
CalendarLocale
(Ifa235) - [การเคลื่อนไหวย้อนกลับแบบคาดเดา] อัปเดตการเคลื่อนไหวย้อนกลับแบบคาดเดาให้ใช้เส้นโค้งการอินเตอร์โพเลชัน (0.1, 0.1, 0, 1) (I2591a)
เวอร์ชัน 1.3.0-alpha05
17 เมษายน 2024
androidx.compose.material3:material3-*:1.3.0-alpha05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha05 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
SearchBar
และDockedSearchBar
มีการโอเวอร์โหลดใหม่ที่ใช้พารามิเตอร์ช่องข้อความ ซึ่งช่วยให้คุณจัดสไตล์ช่องข้อความแยกจากส่วนอื่นๆ ของแถบค้นหา รวมถึงส่งช่องข้อความที่กำหนดเองได้ ช่องข้อความของการใช้งานปัจจุบันมีให้บริการเป็นSearchBarDefaults.InputField
(I50c73, b/275074248, b/278773336, b/326627700)- เพิ่ม lambda
drawTick
ลงใน API สาธารณะเพื่อปรับแต่งเครื่องหมายหากจําเป็น (I0c048)
การเปลี่ยนแปลง API
- ลิงก์ข้อความมีตัวเลือกการจัดรูปแบบสถานะ "กด" นอกเหนือจากการจัดรูปแบบปกติ วางเมาส์เหนือ และโฟกัส (I5f864, b/139312671)
- อัปเดต
CarouselItemInfo
เพื่อแสดง Rect มาสก์ที่ตัดรายการ (I785d8) - นำ
BasicTooltipState
ออกจาก API สาธารณะของ Material 3 แล้ว ฟังก์ชันการทํางานจะรวมกับTooltipState
จนกว่าBasicTooltip
ของ Foundation จะเสถียร (Icda29) - เพิ่มออบเจ็กต์
TextDefaults
ที่มีเมธอดในการสร้างLinkAnnotation
และแยกวิเคราะห์สตริงที่ติดแท็ก HTML ซึ่งใช้MaterialTheme
กับลิงก์ (I98532, b/139312671) ExposedDropdownMenuBoxScope
ไม่อนุญาตให้ใช้คลาสย่อยอีกต่อไป ตอนนี้เมนูแบบเลื่อนลงที่แสดงจะมีMenuAnchorType
ซึ่งควรส่งไปยังmenuAnchor
เพื่อรองรับการช่วยเหลือพิเศษได้ดียิ่งขึ้น คุณควรใช้วิธีนี้แทนการส่งfocusable
ไปยังExposedDropdownMenu
ซึ่งเลิกใช้งานแล้วmenuAnchor
มีพารามิเตอร์ใหม่ในการควบคุมสถานะenabled
(I55ee6, b/257209915, b/308840226)- แก้ไขสีเส้นขอบของ
OutlinedButton
เมื่อปิดใช้ เพิ่มการโอเวอร์โหลดButtonDefaults.outlinedButtonBorder("enabled")
ที่รับสถานะ "เปิดใช้งาน" (Ie650b, b/318461363) - เพิ่มคลาส
CarouselItemInfo
ใหม่เพื่อช่วยให้ลูกค้าทราบข้อมูลเกี่ยวกับขนาดของสินค้า (I9070c) - ตอนนี้เราเลิกใช้งานตัวสร้าง
ColorScheme
ที่ไม่มีคอนเทนเนอร์พื้นผิวแล้ว โปรดย้ายข้อมูลไปยังคอนสตรคเตอร์ที่มีคอนเทนเนอร์พื้นผิว (I35c11) - [Outlined]
TextFieldDefaults
เปลี่ยนชื่อContainerBox
เป็นContainer
แล้ว (Ie8d3b)
การแก้ไขข้อบกพร่อง
BottomSheetScaffold
จะไม่เลื่อนจากการเลื่อนที่ซ้อนกันอีกต่อไปหากsheetSwipeEnabled
เป็นเท็จ (I5e1c1, b/306464779)- นำคำอธิบายประกอบ
ExperimentalMaterial3Api
OptIn บางรายการในIconButtonSamples.kt
ออก (I111d1)
เวอร์ชัน 1.3.0-alpha04
3 เมษายน 2024
androidx.compose.material3:material3-*:1.3.0-alpha04
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha04 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มภาพสไลด์ Material3 เวอร์ชันทดลอง 2 เวอร์ชัน ได้แก่
HorizontalMultiBrowseCarousel
และHorizontalUncontainedCarousel
(I88d64) - อัปเดตลิ้นชักการนำทางของ M3 สำหรับการเขียน (
ModalDrawerSheet
และDismissibleDrawerSheet
) เพื่อรองรับการกดย้อนกลับแบบคาดการณ์ใน U+ เป็นตัวเลือกให้เลือกใช้ (Ie5b0b) - เพิ่ม API ใหม่ในไอคอนเพื่ออนุญาตให้ส่งสีเป็น Lambda เพื่อหลีกเลี่ยงการจัดองค์ประกอบใหม่ (I5b5a2)
- ตอนนี้ API แถบแอปด้านบนรองรับความสูงที่กำหนดเองสำหรับทั้งส่วนที่แก้ไขไม่ได้และส่วนที่ยุบได้ (Ib8b0c, b/323403446)
การเปลี่ยนแปลง API
- ตอนนี้ API แถบแอปด้านบนรองรับความสูงที่กำหนดเองสำหรับทั้งส่วนที่แก้ไขไม่ได้และส่วนที่ยุบได้ แก้ไขปัญหาที่ทำให้แถบแอปด้านบนแบบบรรทัดเดียวจัดเรียงใหม่หลายครั้งเกินไปเมื่อเลื่อนเนื้อหา แก้ไขปัญหาที่
MediumTopAppBar
ตัดชื่อให้สั้นลงในอุปกรณ์ที่มีการตั้งค่าแบบอักษร/การแสดงผลขนาดใหญ่ (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButton
และ API ที่เกี่ยวข้องมีความเสถียรแล้ว (I8a158)- ตอนนี้เราได้ทําเครื่องหมาย
SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
และSwipeToDismissBoxValue
เป็นเวอร์ชันเสถียรแล้ว (I5f000) - นําเอ็นทิตีและ API
DismissDirection
และDismissValue
ที่เลิกใช้งานแล้วออก (I89ccd) - เพิ่มแท็กทดลองลงใน
CarouselState
ออบเจ็กต์สหายของภาพสไลด์ (I94154) - เลิกใช้งาน
LocalMinimumInteractiveComponentEnforcement
และเปิดตัวLocalMinimumInteractiveComponentSize
แทน (I7a7ac) - เครื่องมือสร้าง
SearchBarColors
พร้อมใช้งานแบบสาธารณะแล้ว (I769ca) - เพิ่มพารามิเตอร์
gesturesEnabled
ไปยังSwipeToDismissBox
แล้ว (Idc59f, b/324170119) - นํา API ของช่องข้อความที่ทําเครื่องหมายว่าเลิกใช้งานและเวอร์ชันทดลองออก (I1305f)
เวอร์ชัน 1.3.0-alpha03
20 มีนาคม 2024
androidx.compose.material3:material3-*:1.3.0-alpha03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha03 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบด้านภาพ
- อัปเดตการวางซ้อนสถานะโฟกัสเป็น 0.1f เพื่อให้สีมีคอนทราสต์เพียงพอ (I7ea77)
- การปรับเล็กน้อยสำหรับสีเริ่มต้นของพื้นผิวและพื้นหลังใน
lightColorScheme
และdarkColorScheme
(I9db52)
ฟีเจอร์ใหม่
- เพิ่มพารามิเตอร์เพื่อปรับแต่ง
ExposedDropdownMenu
โดยเฉพาะอย่างยิ่ง ตอนนี้เมนูมีพารามิเตอร์focusable
(ค่าเริ่มต้นคือtrue
) ซึ่งควรตั้งค่าเป็นfalse
เมื่อทำงานกับช่องข้อความที่แก้ไขได้ (I4184c, b/323694447, b/278609042)
การเปลี่ยนแปลง API
- นำการแจ้งว่าไม่เหมาะสม
ScaffoldSubcomposeInMeasureFix
ออกแล้ว (Ie2a4b) - ตอนนี้
NavigationRailItemColors
มีสถานะเป็น@Immutable
(If6112, b/327660613) - ตอนนี้
NavigationBarItemColors
มีสถานะเป็น@Immutable
(I42a30, b/298064514) - เรียงลําดับพารามิเตอร์ใหม่ในคอมโพสิชันแทร็กแถบเลื่อน (I9f315)
- ขณะนี้
ExposedDropdownMenu
ติดตั้งใช้งานโดยใช้Popup
แล้ว ลักษณะการทำงานควรจะเหมือนกัน ยกเว้นเมนูที่โฟกัสได้ซึ่งมีช่องข้อความที่แก้ไขได้อาจปิดไปเมื่อพิมพ์บนแป้นพิมพ์
การแก้ไขข้อบกพร่อง
- เราได้ปรับบทบาทพื้นฐานของแพลตฟอร์มและคอนเทนเนอร์แพลตฟอร์มเล็กน้อยเพื่อให้มีสีสันมากขึ้นในธีมสว่างและธีมมืด (I677a5)
- อัปเดตสีแถบเลื่อนและ
ProgressIndicator
ให้เป็นไปตามข้อกำหนดใหม่เกี่ยวกับคอนทราสต์ที่ไม่ใช่ข้อความ (I26807) - อัปเดตการวางซ้อนสถานะโฟกัสเป็น 0.1f เพื่อให้สีมีคอนทราสต์เพียงพอ (I7ea77)
- การปรับเล็กน้อยสำหรับสีเริ่มต้นของพื้นผิวและพื้นหลังใน
lightColorScheme
และdarkColorScheme
(I9db52)
เวอร์ชัน 1.3.0-alpha02
6 มีนาคม 2024
androidx.compose.material3:material3-*:1.3.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ทำให้สถานะแถบเลื่อนมีเสถียรอีกครั้ง เปลี่ยน
State.onValueChangeFinished
เป็น val อีกครั้ง การรวมonValueChangeFinished
ในrememberUpdatedState
(I82ab2, b/322269951) - ตอนนี้คอมโพเนนต์การนําทางใช้บทบาท
SurfaceContainer
ใหม่ ตอนนี้DrawerDefaults
มีแอตทริบิวต์standardContainerColor
และmodalContainerColor
ที่แยกกันDrawerDefaults.ModalDrawerElevation
เปลี่ยนชื่อเป็น0.dp
แล้ว (I7fbac) - นํา
@Stable
ออกจากสถานะของSlider
เนื่องจากเรากําลังเปลี่ยนstate.onValueChangeFinished
เป็นvar
(Ied34a, b/322269951) - ตอนนี้ข้อกำหนดภาพเคลื่อนไหว
ModalBottomSheet
และStandardBottomSheet
เปลี่ยนเป็นTweenSpec
แล้ว ซึ่งอัปเดตมาจากภาพเคลื่อนไหวแบบสปริง วิธีนี้จะช่วยแก้ปัญหาการถ่ายภาพที่เกินขอบเขต เราได้นําตัวสร้างSheetState
ที่เลิกใช้งานแล้วซึ่งไม่มีความหนาแน่นออกแล้ว (I7babc, b/285847707)
การแก้ไขข้อบกพร่อง
- ตอนนี้คอมโพเนนต์ใช้ตัวแปร
SurfaceContainer
รายการ ตอนนี้คอมโพเนนต์ที่คำนวณสีด้วย Surface และTonalElevation
อย่างเป็นทางการจะใช้บทบาทSurfaceContainer
โดยค่าเริ่มต้น ซึ่งจะไม่ได้รับผลกระทบจากการยกระดับโทนสี (b/304584161) - แก้ไขข้อบกพร่องที่ทำให้สีของคอนเทนเนอร์ที่ปิดใช้และไม่ได้เลือกของ
ElevatedFilterChip
เป็นสีดํา (I400e6, b/322407043) - แก้ไขตัวบอกสถานะความคืบหน้าแบบไม่ระบุเวลาเมื่อความคืบหน้าเป็น 0 (Id6582)
- แก้ไขปัญหาเกี่ยวกับ
Slider
และRangeSlider
ในเลย์เอาต์ RTL (Iab0e1) - เพิ่ม
SliderRangeTolerance
สำหรับการคํานวณช่วงแถบเลื่อน เนื่องจากการปัดเศษตัวเลขทศนิยมอาจไม่ถูกต้อง (Ic918a, b/324934900) - ตรวจสอบว่า
DatePickerDialog
แสดงปุ่มเมื่อฝังDateRangePicker
หรือเมื่อแสดงเครื่องมือเลือกวันที่ประเภทใดก็ตามบนหน้าจอขนาดเล็กที่มีแบบอักษรขนาดใหญ่ (Ie4758, b/325107799, b/277768544) - ตอนนี้
Menu
ใช้ประโยชน์จากบทบาทSurfaceContainer
สำหรับสีของคอนเทนเนอร์MenuDefaults.TonalElevation
เปลี่ยนชื่อเป็น0.dp
แล้ว (I135b7) - ตอนนี้
TextField
ใช้ประโยชน์จากบทบาทSurfaceContainerHighest
สำหรับสีของคอนเทนเนอร์ (I4dced) - ตอนนี้ชิปที่เพิ่มสิทธิ์จะใช้บทบาท
SurfaceContainerLow
(I7cd2f) - ตอนนี้สีของคอนเทนเนอร์
DatePicker
เป็นSurfaceContainerHigh
แล้วDatePickerDefaults.TonalElevation
เปลี่ยนชื่อเป็น0.dp
แล้ว (Ida753) - อัปเดตสีของคอนเทนเนอร์และสีของแฮนเดิลการลากของ Bottom Sheet (I72a0a)
- ตอนนี้สีของคอนเทนเนอร์
RichTooltip
เป็นSurfaceContainer
แล้ว (Ia8b45) - ตอนนี้สีของคอนเทนเนอร์
SearchBar
เป็นSurfaceContainerHighest
แล้วSearchBarDefaults.TonalElevation
เปลี่ยนชื่อเป็น0.dp
แล้ว (I88604) - อัปเดตสวิตช์ที่ปิดใช้และแทร็ก/ไอคอนที่ไม่ได้เลือกเพื่อใช้ประโยชน์จากบทบาทสี
SurfaceContainerHighest
(I7687a) - ตอนนี้สีของคอนเทนเนอร์
AlertDialog
เป็นSurfaceContainerHigh
แล้ว (Ie0433) - ตอนนี้สีของคอนเทนเนอร์
BottomAppBar
เป็นSurfaceContainer
แล้วTopAppBar
onScroll
เปลี่ยนเป็นSurfaceContainer
แล้ว (I41630) - ตอนนี้สีของคอนเทนเนอร์
ElevatedCard
เป็นSurfaceContainerLow
แล้ว สีคอนเทนเนอร์ของFilledCard
เป็นSurfaceContainerHighest
(I35141) - ตอนนี้สีของคอนเทนเนอร์
ElevatedButton
เป็นSurfaceContainerLow
แล้ว ตอนนี้FilledIconButton
ที่ไม่ได้เลือกจะมีสีคอนเทนเนอร์เป็นSurfaceContainerHighest
(I792c9) - อัปเดตบทบาทสีของคอนเทนเนอร์
TimePicker
และสีหน้าปัดนาฬิกาเป็นSurfaceContainerHighest
(I43b93)
เวอร์ชัน 1.3.0-alpha01
21 กุมภาพันธ์ 2024
androidx.compose.material3:material3-*:1.3.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- อัปเดตการเขียน M3
ModalBottomSheet
เพื่อรองรับการคาดคะเนการพิมพ์ย้อนกลับใน U+ (Iccf32, b/281967264, b/304850357) - อัปเดต Compose M3
SearchBar
เพื่อรองรับการคาดคะเนการกดกลับใน U+ (I657f8) - อัปเดตแถบเลื่อนเพื่อปรับปรุงการช่วยเหลือพิเศษด้วยการเพิ่มตัวบ่งชี้ระยะห่างและจุดหยุด (I3058e)
- อัปเดต
ProgressIndicator
เพื่อปรับปรุงการช่วยเหลือพิเศษด้วยการเพิ่มตัวบ่งชี้ระยะห่างและจุดแวะ (I21451) - การเพิ่มเคอร์เซอร์เริ่มต้นสำหรับเคล็ดลับเครื่องมือแบบริชมีเดีย ตอนนี้ API เคล็ดลับเครื่องมือแบบริชมีเดียใหม่อนุญาตให้วาดเคอร์เซอร์ที่กำหนดเองสำหรับจุดยึด
LayoutCoordinates
หนึ่งๆ ได้ (Ifd42c)
การเปลี่ยนแปลงลักษณะการทำงาน
- คอมโพเนนต์ Material ได้ย้ายข้อมูลไปใช้ Ripple API ใหม่แล้ว และจะไม่ค้นหา
RippleTheme
อีกต่อไป
การเปลี่ยนแปลง API
drawStopIndicator
สนุกๆ พร้อมให้รับชมแบบสาธารณะแล้ว (I3f59f)- ทําเครื่องหมายฟังก์ชัน
formatWithSkeleton
ของDatePicker
เป็นภายใน (Ic65dc) - ตอนนี้
DropdownMenu
รองรับสี รูปร่าง ความสูง และเส้นขอบที่กำหนดเองแล้ว (I8e981, b/289554448, b/301887035, b/283654243) - คอมโพเนนต์ Material3 ที่แสดง
MutableInteractionSource
ใน API ได้รับการอัปเดตให้แสดงMutableInteractionSource
แบบ Null ที่ค่าเริ่มต้นเป็นnull
ไม่มีการทําการเปลี่ยนแปลงเชิงความหมายในส่วนนี้ การผ่านค่า Null หมายความว่าคุณไม่ต้องการยกระดับMutableInteractionSource
และระบบจะสร้างMutableInteractionSource
นั้นภายในคอมโพเนนต์หากจําเป็น การเปลี่ยนเป็น null จะช่วยให้คอมโพเนนต์บางรายการไม่จัดสรรMutableInteractionSource
เลย และช่วยให้คอมโพเนนต์อื่นๆ สร้างอินสแตนซ์แบบเลื่อนเวลาไว้ใช้เมื่อจำเป็นเท่านั้น ซึ่งจะช่วยปรับปรุงประสิทธิภาพของคอมโพเนนต์เหล่านี้ หากคุณไม่ได้ใช้MutableInteractionSource
ที่ส่งไปยังคอมโพเนนต์เหล่านี้ เราขอแนะนำให้ส่งค่า Null แทน นอกจากนี้ เราขอแนะนำให้คุณทำการเปลี่ยนแปลงที่คล้ายกันในคอมโพเนนต์ของคุณเองด้วย (I41abb, b/298048146) - เพิ่ม
RippleConfiguration
และLocalRippleConfiguration
เพื่ออนุญาตให้ปรับแต่งริปเปิลตามคอมโพเนนต์ / ต้นไม้ย่อยโดยใช้ค่าคงที่ เช่น หากต้องการเปลี่ยนสีของคอมโพเนนต์ที่คุณไม่ได้ควบคุม หรือปิดใช้ภาพกระเพื่อมของคอมโพเนนต์ ในกรณีส่วนใหญ่ คุณควรใช้ค่าเริ่มต้น เนื่องจาก API เหล่านี้เป็นทางออกสำหรับการปรับแต่งคอมโพเนนต์แต่ละรายการ / ต้นไม้ย่อยแบบจํากัด สําหรับการเปลี่ยนแปลงที่กว้างขึ้นและระบบการออกแบบที่กําหนดเอง คุณควรสร้าง Ripple ของคุณเองโดยใช้createRippleModifierNode
แทน (I7b5d6, b/298048146) - เพิ่ม Ripple API ใหม่ใน material3 ซึ่งมาแทนที่
rememberRipple
ที่เลิกใช้งานแล้ว นอกจากนี้ ยังเพิ่มCompositionLocal
ชั่วคราวLocalUseFallbackRippleImplementation
เพื่อเปลี่ยนคอมโพเนนต์ material3 กลับไปใช้rememberRipple
/RippleTheme
API ที่เลิกใช้งานแล้ว เราจะนำตัวเลือกนี้ออกในรุ่นที่ใช้งานเสถียรรุ่นถัดไป และตัวเลือกนี้มีไว้เพื่อเป็นความช่วยเหลือในการย้ายข้อมูลชั่วคราวในกรณีที่คุณระบุRippleTheme
ที่กําหนดเองเท่านั้น (I34cbc, b/298048146)
การแก้ไขข้อบกพร่อง
- นำองค์ประกอบย่อยภายใน
ModalBottomSheet
ออกเพื่อปรับปรุงประสิทธิภาพ แก้ไขปัญหาที่ModalBottomSheet
อาจขัดข้องในบางสถานการณ์เมื่อใช้ร่วมกับLookaheadScope
(I2a198) - นำองค์ประกอบย่อยภายใน
BottomSheetScaffold
ออกเพื่อปรับปรุงประสิทธิภาพ แก้ไขปัญหาที่BottomSheetScaffold
จะขัดข้องในบางสถานการณ์เมื่อใช้ร่วมกับLookaheadScope
(Ie6401) - ปรับการจัดแนวป้ายให้อยู่ใกล้กับกึ่งกลางของเนื้อหาแองเคอร์มากขึ้นเมื่อเทียบกับมุมขวาบน (I18a28)
- แก้ไขปัญหาการช่วยเหลือพิเศษสำหรับ
DateRangePicker
ที่ระบบส่งต่อชื่อข้อความเป็นเดือน-ปีไปยังผู้ใช้โปรแกรมอ่านหน้าจอ การเข้าถึงด้วยสวิตช์ และการเข้าถึงด้วยเสียง (I2ac55) - แก้ไขข้อบกพร่องเกี่ยวกับลําดับ
mediumTopAppBarColors
param (Ibe64a)
เวอร์ชัน 1.2
เวอร์ชัน 1.2.1
6 มีนาคม 2024
androidx.compose.material3:material3-*:1.2.1
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.1 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ทำให้สถานะแถบเลื่อนมีเสถียรอีกครั้ง เปลี่ยน
State.onValueChangeFinished
เป็น val อีกครั้ง การรวมonValueChangeFinished
ในrememberUpdatedState
(Ie8fd0, b/322269951) - นํา
@Stable
ออกจากสถานะของSlider
เนื่องจากเรากําลังเปลี่ยนstate.onValueChangeFinished
เป็นvar
(I82ba1, b/322269951) - แก้ไขสีที่กำหนดเอง
NavigationBar
รายการเพื่อคัดลอกจากค่าเริ่มต้น (80a779, b/326894020) - แก้ไขการถดถอยใน
ExposedDropdownMenu
เพื่อให้โฟกัสได้อีกครั้ง (3fcec1, b/323694447) - แก้ไขปัญหาการแคชสีปุ่ม (3e5bbcb/327371655)
เวอร์ชัน 1.2.0
7 กุมภาพันธ์ 2024
androidx.compose.material3:material3-*:1.2.0
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้
ปัญหาที่ทราบ
- ข้อบกพร่องการแสดงผลการทำงานร่วมกันของ View-Compose เกิดขึ้นใน
PrimaryTabRow
ซึ่งเป็นส่วนหนึ่งของการเปลี่ยนแปลงเพื่อปรับปรุงประสิทธิภาพ วิธีแก้ปัญหาคือใช้TabRow
กับTabRowDefaults.PrimaryIndicator
การเปลี่ยนแปลงที่สําคัญตั้งแต่เวอร์ชัน 1.1.0
คอมโพเนนต์ Material Design 3 รายการใหม่
- ดึงเพื่อรีเฟรช
- ปุ่มแบ่งกลุ่ม
การปรับปรุงคอมโพเนนต์ Material Design 3 ที่มีอยู่
- แถบด้านล่างของแอป (การจัดแนว RTL, ซ่อนโดยอัตโนมัติเมื่อเลื่อน)
- การอัปเดตภาพแท็บ
- ป้าย (การอัปเดตการจัดแนว)
เลื่อนระดับ API ทดลองเป็นเวอร์ชันเสถียรแล้ว
การปรับปรุงประสิทธิภาพ
- โปรดดูรายละเอียดเพิ่มเติมในบล็อกโพสต์นี้
เวอร์ชัน 1.2.0-rc01
24 มกราคม 2024
androidx.compose.material3:material3-*:1.2.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-rc01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องเกี่ยวกับลําดับ
mediumTopAppBarColors
param (Ibe64a) - แก้ไขข้อบกพร่องที่เกิดขึ้นใน
1.2.0-beta02
ในCardDefaults.cardColors
ที่ไม่ได้อัปเดตcontentColor
ตามค่าพารามิเตอร์containerColor
(Iee041, b/319671246) - แก้ไขข้อบกพร่องใน
disabledContentColor
ที่พบใน1.2.0-beta02
และเพิ่มการเพิ่มประสิทธิภาพเล็กน้อย (I6dda1, b/318428829)
เวอร์ชัน 1.2.0-beta02
10 มกราคม 2024
androidx.compose.material3:material3-*:1.2.0-beta02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-beta02 มีการคอมมิตเหล่านี้
ข้อบกพร่องที่ทราบ
- ข้อบกพร่องใน
IconButtonColors
จะกําหนดdisabledContentColor
เป็นเวอร์ชันอัลฟ่า (0.38f) ของLocalContentColor
โดยค่าเริ่มต้นแทนcontentColor
ที่ผู้ใช้ระบุ วิธีแก้ปัญหาคือตั้งค่าdisabledContentColor
อย่างชัดเจน เราจะแก้ไขปัญหานี้ในรุ่นถัดไป
การเปลี่ยนแปลง API
- เพิ่มความสามารถในการเปิดใช้เคอร์เซอร์เคล็ดลับเครื่องมือสําหรับ
Tooltip
API แบบธรรมดา (Ibf767) - เปลี่ยนชื่อ
SwipeToDismissState
,rememberSwipeToDismiss
และSwipeToDismissValue
ทั้งหมดให้มี_SwipeToDismissBox_
(I68d6d)
การแก้ไขข้อบกพร่อง
- แก้ไขค่าการเติมข้อความต่อท้าย
ListItem
ให้สอดคล้องกับข้อกำหนด (Ibd68b, b/305342674) - ตอนนี้ระบบจับคู่สีขอบสำหรับการ์ดที่มีขอบกับ
OutlineVariant
อย่างถูกต้องแล้ว (I75480, b/310979715) - ตอนนี้สีแบบไดนามิกจะดึงมาจากบทบาทสีที่ระบบกําหนด วิธีนี้ช่วยปรับปรุงคอนทราสต์ของเนื้อหาที่เข้าถึงได้ และปรับสีแบบไดนามิกให้สอดคล้องกับข้อกำหนดของ Material มากขึ้น (I1de96)
- แก้ไขการจัดการปุ่มย้อนกลับ
ModalBottomSheet
ใน Android T/13 ขึ้นไปเมื่อandroid:enableOnBackInvokedCallback="true"
(I728dc, b/306196110)
เวอร์ชัน 1.2.0-beta01
13 ธันวาคม 2023
androidx.compose.material3:material3-*:1.2.0-beta01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-beta01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ทำเครื่องหมาย
TabIndicatorScope
ว่าเป็นเวอร์ชันทดลอง (I45c88) - นํา API ทดลองที่เลิกใช้งานแล้วสําหรับเคล็ดลับเครื่องมือออก (I438cb)
- เปลี่ยนการโอเวอร์โหลด
TabRow
ใหม่ให้ไม่ใช้องค์ประกอบย่อย การดำเนินการนี้ส่งผลให้มีวิธีสร้างตัวบ่งชี้TabRow
แบบอื่นด้วยตัวแก้ไขที่กำหนดเอง (Ife741) - เลิกใช้งาน
DismissDirection
และDismissValue
API ค่าเหล่านี้ผสานรวมเป็นSwipeToDismissValue
ซึ่งค่าจะระบุทั้งตําแหน่งและทิศทางของSwipeToDismissBox
ตอนนี้DismissState.progress
มีสถานะเป็นFloatRange
ระหว่าง0.0
ถึง1.0
เราได้นํา Saver และ Constructor ที่เลิกใช้งานของDismissState
ออกแล้ว คอมโพเนนต์SwipeToDismiss
, สถานะ และออบเจ็กต์เริ่มต้นได้รับการทําเครื่องหมายว่าอยู่ระหว่างการทดสอบ (Ib54f2)
การแก้ไขข้อบกพร่อง
- ตอนนี้ตัวบ่งชี้เริ่มต้นสำหรับ
PullToRefresh
จะเป็นลูกศรหัวเปิดแทนรูปสามเหลี่ยมเต็ม (I67be3)
เวอร์ชัน 1.2.0-alpha12
29 พฤศจิกายน 2023
androidx.compose.material3:material3-*:1.2.0-alpha12
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha12 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
RangeSlider
จะใช้ช่วง Kotlin (เช่น0f..1f
) แทนคลาสค่าFloatRange
ที่กําหนดเอง ตอนนี้SnapFlingBehavior.kt
ใช้ช่วง Kotlin ด้วย (I025cb)- ตั้งค่าฟังก์ชันของโรงงานตัวแก้ไขเป็น
@Stable
(Ib109f)
เวอร์ชัน 1.2.0-alpha11
15 พฤศจิกายน 2023
androidx.compose.material3:material3-*:1.2.0-alpha11
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha11 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ใช้
PullToRefreshContainer
และPullToRefreshState
ซึ่งร่วมกันใช้การดึงเพื่อรีเฟรชใน Material3 (I16456, b/261760718)
การเปลี่ยนแปลง API
- ทําเครื่องหมาย
SwipeToDismissBox
DismissDirection
และDismissValue
ว่าเป็นการทดสอบ (I517b0) - เปลี่ยนชื่อ
SwipeToDismiss
เป็นSwipeToDismissBox
เปลี่ยนชื่อbackground
เป็นbackgroundContent
และdismissContent
เป็นcontent
ที่อยู่ท้าย (I7f4d3) - ทำให้ตัวสร้างของ
ChipElevation
และSelectableChipElevation
เป็นสาธารณะ (Ie0c48, b/308432421) - กำลังเพิ่ม
ModalBottomSheetProperties
กำลังย้ายsecurePolicy
ไปยังModalBottomSheetProperties
เพิ่มisFocusable
และshouldDismissOnBackPress
ไปยังModalBottomSheetProperties
บูลีนใหม่เหล่านี้จะช่วยกำหนดวิธีที่ชีตด้านล่างแบบโมดอลควรจัดการเหตุการณ์ IME (Iea56f, b/278216859) - อัปเดตสถานะ
RangeSlider
และSlider
เพื่อนำinitialOnValueChange
, คำนำหน้าเริ่มต้น และ kdocs ที่เหมาะสมออก (I57d30) - เลิกใช้งานคลาส
ChipBorder
และการเรียกใช้ฟังก์ชันที่เกี่ยวข้อง ขอแนะนําให้ใช้BorderStroke
โดยตรงแทน (I89cc2) - Foundation Tooltip API เปลี่ยนชื่อเป็น
@ExperimentalFoundationApi
แล้ว (I30b0b) - เราไม่เลิกใช้งาน
TabRow
และScrollableTabRow
อีกต่อไป รูปแบบหลักและรองใหม่จะมีสถานะเป็น "เวอร์ชันทดลอง" (I0def6) - ตอนนี้ชิปตัวกรองและชิปอินพุตใช้
BorderStroke
โดยตรง (I07a8d) - ขณะนี้
SegmentedButton
ใช้BorderStroke
โดยตรง (I89b9b) - เปลี่ยนชื่อฟังก์ชัน
AlertDialog
ทั่วไปเป็นBasicAlertDialog
และเลิกใช้งานฟังก์ชันก่อนหน้า (Idbe52) - เปลี่ยนชื่อ
SwipeToDismiss
API เป็นSwipeDismiss
และโปรโมตSwipeDismiss
API เวอร์ชันใหม่เป็นเวอร์ชันเสถียร (I14cbe) - การเพิ่ม
tonalElevation
และshadowElevation
ลงใน API ของเคล็ดลับเครื่องมือ นอกจากนี้ เราจะย้าย APITooltipBox
,PlainTooltip
และRichTooltip
กลับไปเป็นแบบทดลองอีกครั้งเนื่องจากมีการเผยแพร่ API เหล่านี้เป็นเวอร์ชันเสถียรโดยไม่ตั้งใจ (If0f66, b/293939035) - โปรโมต API ชิปเวอร์ชันทดลองเป็นเวอร์ชันเสถียร (Iea2c3)
- นำคำอธิบายประกอบ
@ExperimentalMaterial3Api
ออกจากการ์ดแบบคลิกได้ของ Material3 (I88dbf)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
SwipeToDismiss
จะขัดข้องในบางสถานการณ์ที่มีเลย์เอาต์ Lazy และ Lookahead ที่ซ้อนกัน (Ica8d1, b/297226562)
เวอร์ชัน 1.2.0-alpha10
18 ตุลาคม 2023
androidx.compose.material3:material3-*:1.2.0-alpha10
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha10 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- โปรโมต
Badge
และBadgedBox
เป็นเวอร์ชันเสถียร (I67f16, b/261565132) - การเพิ่ม
securePolicy
เป็นพารามิเตอร์ในModalBottomSheet
เพื่อให้ผู้ใช้กําหนดลักษณะการทํางานของWindowManager.LayoutParams.FLAG_SECURE
ได้ (Icdac8, b/296250262) - เพิ่มการโอเวอร์โหลดใหม่ของ
LinearProgressIndicator
และCircularProgressIndicator
ที่ใช้progress
เป็น Lambda ซึ่งควรมีประสิทธิภาพมากกว่าเวอร์ชันก่อนหน้า (I824e6, b/295616656) - เปลี่ยนชื่อ
StandardSizeClasses
เป็นAllSizeClasses
(I8cb07) - รวมฟังก์ชันการคํานวณของคลาสขนาดหน้าต่าง (Iad935)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องของ
DatePicker
เมื่อคลิกปุ่มลูกศรนำทางอย่างรวดเร็วเมื่อเดือนที่แสดงอยู่ใกล้กับขอบของช่วงปีที่อนุญาต (I46f36, b/290954897, b/297002119) - [Nav rail/bar] รองรับสีโปร่งใสสำหรับตัวบ่งชี้ (Ie0a9b, b/267289987)
เวอร์ชัน 1.2.0-alpha09
4 ตุลาคม 2023
androidx.compose.material3:material3-*:1.2.0-alpha09
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha09 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ย้ายข้อมูล
ModalNavigationDrawer
และDismissibleNavigationDrawer
ไปใช้AnchoredDraggable
API ใหม่animateTo
ของDrawerState
เปลี่ยนไปใช้เมธอดเปิดและปิด และตอนนี้ออฟเซตจะแสดงเป็นตัวเลขทศนิยมแทนออบเจ็กต์สถานะ คุณสามารถเข้าถึงออฟเซ็ตได้โดยตรงผ่านcurrentOffset
(I0a72c) - มีการเพิ่มฟังก์ชันที่คอมโพสิเบิลไม่ได้สำหรับการสร้าง
DatePickerState
และDateRangePickerState
โดยตรง ฟังก์ชันเหล่านี้สามารถใช้แทนฟังก์ชันrememberDatePickerState
และrememberDateRangePickerState
แบบคอมโพสิเบิลได้หากจำเป็น (I70326, b/291524052) - ตอนนี้
TabRows
แบบคงที่และแบบเลื่อนได้มีตัวแปรหลักและรองแล้ว ซึ่งจับคู่กับสีและลักษณะการทำงานของตัวบ่งชี้อย่างถูกต้องตามที่ระบุไว้ใน Material3 - ตอนนี้
PrimaryScrollableTabRow
และSecondaryScrollableTabRow
จะแสดงสถานะการเลื่อน (Iec8f5, b/260572337) - การเพิ่มพารามิเตอร์
sheetMaxWidth
ใหม่ซึ่งนักพัฒนาแอปสามารถตั้งค่าเพื่อระบุความกว้างสูงสุดที่ชีตจะขยาย คุณสามารถส่ง Dp.Unspecified สำหรับพารามิเตอร์ได้หากต้องการชีตที่ครอบคลุมความกว้างของหน้าจอทั้งหมด (Ifb7c9, b/266697696) - เพิ่ม
PlainTooltipBox
และRichTooltipBox
API กลับเข้าไปอีกครั้งเป็นเมธอดที่เลิกใช้งาน (I246fa)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อเริ่มต้น
DatePicker
ด้วยDatePickerFormatter
ที่มีโครงร่างวันที่บางอย่างซึ่งจะยังคงเหมือนเดิมเมื่อแปลงเป็นรูปแบบวันที่ (เช่น YY) (I01f29)
เวอร์ชัน 1.2.0-alpha08
20 กันยายน 2023
androidx.compose.material3:material3-*:1.2.0-alpha08
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha08 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่ส่งผลต่อลักษณะการทำงาน
- ตอนนี้
ColorScheme
เป็น Immutable ซึ่งทำให้การอัปเดตสีแต่ละรายการมีประสิทธิภาพน้อยลง แต่ทำให้การใช้งานสีทั่วไปมีประสิทธิภาพมากขึ้น เหตุผลของการเปลี่ยนแปลงนี้ก็คือแอปส่วนใหญ่ไม่ได้ใช้การอัปเดตสีแต่ละสีเป็น Use Case หลัก การดำเนินการนี้ยังคงทำได้ แต่จะคอมโพสใหม่มากกว่าเดิม ซึ่งจะทำให้เราลดจำนวนการติดตามสถานะผ่านโค้ด Material ทั้งหมดได้อย่างมาก และจะมีผลต่อต้นทุนในการเริ่มต้นและรันไทม์ของ Use Case มาตรฐานมากขึ้น (Ic447d, b/297212873) - การปรับโทนสีจะไม่แสดงภาพเคลื่อนไหวในสถานะการโต้ตอบต่างๆ เพื่อจับคู่กับข้อมูลจำเพาะอีกต่อไป (Icdd12)
การเปลี่ยนแปลง API
- เพิ่ม
BottomAppBar
ใหม่ที่ใช้พารามิเตอร์BottomAppBarScrollBehavior
เพื่อซ่อนโดยอัตโนมัติเมื่อมีการเลื่อนเนื้อหา นอกจากนี้ เรายังได้เพิ่มFabPosition.EndOverlay
ซึ่งช่วยให้ FAB วางซ้อนบนแถบแอปด้านล่างในสแคฟเฟิลด์แทนที่จะยึดไว้ด้านบน (Iecb47) - เพิ่มคอมโพเนนต์ป้ายกำกับแบบง่ายที่สร้างขึ้นจาก
BasicTooltipBox
ซึ่งจะไม่ปิดเมื่อแตะนอกขอบเขตของป้ายกำกับ (I821f9)
การแก้ไขข้อบกพร่อง
- นำการใช้
rememberSaveable
สำหรับเคล็ดลับเครื่องมือออก (Icc131, b/299500338) - เปิดตัว Flag ชั่วคราวเพื่อควบคุมว่า Scaffold ควรวัดองค์ประกอบย่อยระหว่างการวัดผลหรือระหว่างการจัดวาง โดยค่าเริ่มต้น ระบบจะวัดเป็นหน่วยวัด หากพบปัญหาเกี่ยวกับลักษณะการทำงานใหม่ โปรดแจ้งปัญหา (I0b354)
- แก้ไขการแสดงผลแนวนอนจากขอบถึงขอบใน
BottomSheet
โดยใช้การวัดความกว้างของหน้าจออุปกรณ์ที่ถูกต้อง (I1df0c, b/299058752) - แก้ไขข้อบกพร่องที่
ModalBottomSheet
ไม่เรียกonDismissedRequest
เมื่อปิดชีตโดยการปัดลงบนชีต (Idfdd8)
เวอร์ชัน 1.2.0-alpha07
6 กันยายน 2023
androidx.compose.material3:material3-*:1.2.0-alpha07
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha07 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เราได้เพิ่มการรองรับการมิเรอร์ไอคอนอัตโนมัติใน
compose material 1.6.0-alpha05
โปรดดูรายละเอียดเกี่ยวกับการมิเรอร์ไอคอนอัตโนมัติในหมายเหตุประจำรุ่น
การเปลี่ยนแปลง API
SliderState
ใช้DraggableState
(I9b116)- เปลี่ยนรูปร่างให้เป็นพารามิเตอร์ที่ต้องระบุ เปลี่ยนชื่อ
position
เป็นindex
ในฟังก์ชันตัวช่วยของรูปร่าง (I34941) - อัปเดต
DatePicker
formatWithSkeleton
ให้รวมแผนที่ที่ใช้เป็นแคชเพื่อปรับปรุงประสิทธิภาพ (I3195f) - เพิ่ม
BasicTooltipBox
ลงในcompose.foundation
และอัปเดตPlainTooltipBox
และRichTooltipBox
ให้ใช้TooltipBox
กับคอมโพสิเบิลPlainTooltip
และRichTooltip
ใหม่ (I79e1d)
การแก้ไขข้อบกพร่อง
- ตอนนี้
dynamicLightColorScheme
และdynamicDarkColorScheme
จะแสดงสีที่มีระดับความอิ่มตัวสูงขึ้นสำหรับบทบาทพื้นผิวและsurfaceContainer
(I5e901) - แก้ไขปัญหาที่คอมโพเนนต์บางรายการที่ใช้องค์ประกอบย่อย (เช่น
BottomSheetScaffold
) ภายใน Scaffold ภายในLookaheadScope
พยายามอ่านขนาดของคอมโพเนนต์นั้นเร็วเกินไป (I297b4, I871f1, b/295536718)
เวอร์ชัน 1.2.0-alpha06
23 สิงหาคม 2023
androidx.compose.material3:material3-*:1.2.0-alpha06
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha06 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขการคํานวณ
offset
ของDropdownMenu
เพื่อให้ค่าออฟเซ็ต x ขึ้นอยู่กับทิศทางเลย์เอาต์ในอุปกรณ์เท่านั้น และค่าออฟเซ็ต y จะไม่กลับกันอีกต่อไปเมื่อเมนูอยู่ใกล้กับด้านล่างของหน้าจอ (Iccc74, b/294103942) - แก้ไขการคํานวณ
offset
ของDropdownMenu
เพื่อให้ค่าออฟเซ็ต x ขึ้นอยู่กับทิศทางเลย์เอาต์ในอุปกรณ์เท่านั้น และค่าออฟเซ็ต y จะไม่กลับกันอีกต่อไปเมื่อเมนูอยู่ใกล้กับด้านล่างของหน้าจอ (Ib87a2, b/294103942)
เวอร์ชัน 1.2.0-alpha05
9 สิงหาคม 2023
androidx.compose.material3:material3-*:1.2.0-alpha05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha05 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- การอัปเดตสีช่องทําเครื่องหมายและ
TriStateCheckbox
ตอนนี้CheckboxDefaults.colors()
disabledUncheckedColor
จะส่งผลต่อเส้นขอบของช่องทําเครื่องหมายเท่านั้น กรณีที่พิเศษซึ่งกำหนดให้คุณกำหนดสีของช่องภายในเมื่อปิดใช้และยกเลิกการเลือก จะต้องมีอินสแตนซ์CheckboxColors
ที่สร้างขึ้นเองซึ่งมีค่าสีที่ต้องการ (I77d17, b/291943198)
เวอร์ชัน 1.2.0-alpha04
26 กรกฎาคม 2023
androidx.compose.material3:material3-*:1.2.0-alpha04
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha04 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- Segmented Button API เวอร์ชันทดลอง (Ifc8fb)
- ตอนนี้ตัวแบ่งมีพารามิเตอร์ในการควบคุมการวางแนวเพื่อรองรับตัวแบ่งแนวตั้งแล้ว (I4c899, b/288438593)
การเปลี่ยนแปลง API
- เราจะย้ายความหนาแน่นของพึ่งพาไปยังระดับคอมโพเนนต์ ซึ่งมีผลกับคอมโพเนนต์
SwipeToDismiss
และคอมโพเนนต์ที่อิงตามชีต โปรดใช้การโอเวอร์โหลดแบบใหม่ที่ให้ไว้ในกรณีที่ความหนาแน่นคือพารามิเตอร์ (I1846e) - คําอธิบายประกอบเพิ่มเติมเพื่อระบุอินพุตที่อนุญาตสําหรับคอมโพสิเบิล (Ief234)
- เพิ่มพารามิเตอร์ไอคอนลงในปุ่มแบ่งกลุ่ม แยกความหมายเพื่อให้สามารถเลือกปุ่มแบ่งกลุ่มเพื่อใช้การเลือกรายการเดียว และเปิด/ปิดเพื่อใช้การเลือกหลายรายการได้โดยใช้
SelectableSegmentedButtonRow
และToggelableSegmentedButtonRow
ตามลำดับ (I38740) - เปลี่ยนชื่อตัวแบ่งเป็น
HorizontalDivider
แล้ว เพิ่มฟังก์ชันการทำงานVerticalDivider
(I5975c) - เปลี่ยนการใช้
ClosedFloatingPointRange
เป็นFloatRange
ที่มีน้ำหนักเบากว่าใน Material3 API เวอร์ชันทดลองเพื่อลดการแปลงอัตโนมัติ (I4aab5) - เพิ่มการจัดแนวเริ่มต้นใหม่สำหรับ
FabPosition
(Ib7aea, b/170592777)
การแก้ไขข้อบกพร่อง
ModalBottomSheet
เป็นไปตามการวางแนวของเลย์เอาต์ในพื้นที่ (Ib4f44, b/285628622)
เวอร์ชัน 1.2.0-alpha03
21 มิถุนายน 2023
androidx.compose.material3:material3-*:1.2.0-alpha03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงลักษณะการทำงาน
includeFontPadding
จะเปลี่ยนเป็นfalse
โดยค่าเริ่มต้นในแบบอักษรของ Material 3 รูปแบบความสูงบรรทัดเริ่มต้นก็เปลี่ยนเป็นTrim.None
และAlignment.Center
แล้ว และเพิ่มlineHeight
แบบชัดเจน (ใน sp) ลงในTextStyle
ของTypography
ด้วย โปรดดูเอกสาร API หากต้องการปรับแต่งค่าเหล่านี้ และดูบล็อกโพสต์เพื่อดูคำอธิบายโดยละเอียดเกี่ยวกับการเปลี่ยนแปลงเหล่านี้ (I6266f, Icabc3)
ฟีเจอร์ใหม่
- เพิ่มการโอเวอร์โหลดสําหรับ
RangeSlider
ซึ่งเป็นคอมโพเนนต์เวอร์ชันที่มีสถานะ สร้างRangeSliderState
ที่เก็บข้อมูลทั้งหมดของแทร็กที่ใช้งานอยู่ในปัจจุบัน การวัดองค์ประกอบของRangeSlider
และตรรกะการลากและท่าทางสัมผัส (I8c270) - ตอนนี้แถบค้นหารองรับเงาผ่านพารามิเตอร์
shadowElevation
ที่เพิ่มเข้ามาใหม่ (Ia5369, b/271040353) - ขณะนี้
ColorScheme
รองรับบทบาทSurfaceContainer
ใหม่ - ตอนนี้คุณปิดใช้การวางซ้อนระดับโทนสีของพื้นผิวได้แล้วในองค์ประกอบ
LocalTonalElevationEnabled
(Ic203c, b/277774590)
การเปลี่ยนแปลง API
- เปิดคอนสตรัคเตอร์สีของคอมโพเนนต์ (I8c4a6)
- การเพิ่มพารามิเตอร์ที่โฟกัสได้ไปยังทั้ง 2 รายการของ tooltip API เพื่อให้นักพัฒนาแอปเลือกได้ว่าจะให้ tooltip ใช้เหตุการณ์การสัมผัสหรือไม่ โปรดทราบว่าการดำเนินการนี้อาจทำให้การไปยังส่วนต่างๆ ของโฟกัสการช่วยเหลือพิเศษอัตโนมัติใช้งานไม่ได้ (Ie32d8)
- เพิ่มประสิทธิภาพการช่วยเหลือพิเศษเพื่อประสิทธิภาพและการจองหน่วยความจำ (Iede48)
- แสดง
DefaultSizeClasses
และสร้างStandardSizeClasses
สำหรับWindowSizeClasses
(I91838) - เปลี่ยน
WindowWidth/HeightSizeClass
เป็นคลาสค่าลอย (Ie686e)
การแก้ไขข้อบกพร่อง
- ตอนนี้พารามิเตอร์
contentWindowInsets
ของ Scaffold จะคำนึงถึงส่วนเกินของหน้าต่างที่บริโภค โปรดทราบว่าลักษณะการทำงานของการเติมเนื้อหาตามtopBar
และbottomBar
จะไม่เปลี่ยนแปลงเมื่อระบุพารามิเตอร์เหล่านี้ (I08b73, b/264601542) - แก้ไขการจัดแนวของแถบแอปที่ด้านบนตรงกลางเพื่อให้ชื่อยาวๆ แสดงผลไม่ทับไอคอนการดําเนินการหรือไอคอนการนําทาง (I4369f, b/236994621)
- ตอนนี้ตําแหน่งแท็บบังคับให้เนื้อหามีความกว้างขั้นต่ำ 24.dp ซึ่งจะเป็นเป้าหมายการสัมผัสที่เข้าถึงได้สําหรับตัวบ่งชี้แท็บ (Id8861)
- ตอนนี้ชุดสีแบบไดนามิกจาก
dynamicLightColorScheme
และdynamicDarkColorScheme
รองรับบทบาทของพื้นผิวใหม่แล้ว (I1252e) - อัปเดตการจัดตำแหน่งการแจ้งเตือนป้ายเพื่อให้ไม่ตัดออกเมื่อชนกับบรรพบุรุษ (Idf75a)
เวอร์ชัน 1.2.0-alpha02
24 พฤษภาคม 2023
androidx.compose.material3:material3-*:1.2.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มพารามิเตอร์ระยะขอบหน้าต่างลงใน
ModalBottomSheet
- ตอนนี้ระบบอาจวาดม่านสำหรับ
ModalBottomSheet
ไว้ด้านหลังแถบสถานะโดยตั้งค่าwindowInsets
เป็น 0 - อัปเดตฟังก์ชันการทำงานเริ่มต้นของ
ModalBottomSheet
เพื่อไม่ให้อยู่นอกแถบของระบบ รวมถึงการไปยังส่วนต่างๆ - การจัดการแถบสถานะที่ฝังอยู่จะมีแถบแฮนเดิลสำหรับการลากในโหมดเต็มหน้าจอ
BottomSheetDefaults
รวมส่วนที่เว้นไว้ในหน้าต่างสําหรับBottomSheetWindow
(I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- ตอนนี้ระบบอาจวาดม่านสำหรับ
- เลิกใช้งาน
Indicator
และเพิ่มPrimary
/SecondaryIndicator
ให้ตรงกับข้อกําหนดของ M3PrimaryIndicator
จะตรงกับความกว้างของเนื้อหาแท็บ ส่วนSecondaryIndicator
จะขยายความกว้างเต็มSecondaryIndicator
เทียบเท่ากับIndicator
ที่เลิกใช้งานแล้วในปัจจุบันและสามารถใช้แทนได้โดยตรง (I27604) - เพิ่มตัวเลือกในการส่ง
ScrollState
เมื่อสร้างDropdownMenu
หรือExposedDropdownMenu
เพื่อควบคุมสถานะการเลื่อนแนวตั้งของรายการเมนูที่แสดง (Ia0734, b/185304441) - เพิ่มการโอเวอร์โหลดสําหรับ
Slider
ซึ่งเป็นคอมโพเนนต์เวอร์ชันที่มีสถานะ สร้างSliderState
ที่เก็บข้อมูลทั้งหมดของแทร็กที่ใช้งานอยู่ในปัจจุบัน การวัดองค์ประกอบของSlider
และตรรกะการลากและท่าทางสัมผัส (I124a5) - การเปลี่ยนชื่อพร็อพเพอร์ตี้เชิงอรรถศาสตร์
isContainer
เป็นisTraversalGroup
(I121f6) - เพิ่ม
TextStyle.merge(...)
ที่เพิ่มประสิทธิภาพแล้วพร้อมรายการพารามิเตอร์ทั้งหมด (Iad234, b/246961787) - สร้างอินเทอร์เฟซสาธารณะของ
TooltipState
,RichTooltipState
และPlainTooltipState
เพิ่มRichTooltipStateImpl
และPlainTooltipStateImpl
สำหรับสถานะเริ่มต้น เพิ่มฟังก์ชันremember*State
เพื่อรับสถานะที่ติดตั้งใช้งานเหล่านี้ นำTooltipSync
ออกเพื่อใช้TooltipDefault.GlobalMutatorMutex
(I7813d) - อัปเดต
DatePickerColors
ให้รวมตัวเลือกการปรับแต่งเพิ่มเติมสำหรับตัวแบ่ง การนำทาง และสีของช่องป้อนข้อความในเครื่องมือเลือกวันที่ (I1a685, b/274626815) - ตอนนี้
DatePickerState
และDateRangePickerState
เป็นอินเทอร์เฟซสาธารณะที่มีการใช้งานเริ่มต้นซึ่งrememberDatePickerState
และrememberDateRangePickerState
สามารถเรียกดูได้ (I71c52) - นำ
dateValidator
ออกจากDatePicker
และDateRangePicker
และเปิดตัวอินเทอร์เฟซSelectableDates
ที่สามารถตั้งค่าในสถานะเพื่อควบคุมวันที่หรือปีที่เลือกได้ใน UI (Ic2fc6) TimePicker
ออกจาก API เวอร์ชันเสถียรแล้ว คาดว่าจะมีการเปลี่ยนแปลงเพิ่มเติมใน API สถานะ (I3f39a)ModalBottomSheet
ย้ายไปยัง Android เท่านั้น ไม่แนะนำให้ใช้ModalBottomSheet
ในเดสก์ท็อป และฟังก์ชันการทำงานนี้ไม่ได้รับการบำรุงรักษาอย่างต่อเนื่อง (Ib3778)
การแก้ไขข้อบกพร่อง
- แก้ไขให้การดำเนินการ
AlertDialog
ปิดปรากฏใต้การดำเนินการยืนยันเมื่อการดำเนินการซ้อนทับกันเพื่อให้พอดีกับความกว้างของกล่องโต้ตอบ การแก้ไขนี้ปรับการใช้งานให้สอดคล้องกับข้อกำหนดของ Material Design (I029de, b/235454277) - แก้ไขข้อบกพร่องใน
ListItem
ที่ใช้การเว้นวรรคที่ไม่ถูกต้องสำหรับรายการ 3 บรรทัด (I6e235) ModalBottomSheet
ตอนนี้แสดงแป้นพิมพ์ IME ได้แล้ว (Idc508, b/262140644, b/268380384, b/272483584)
เวอร์ชัน 1.2.0-alpha01
10 พฤษภาคม 2023
androidx.compose.material3:material3:1.2.0-alpha01
และ androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha01 มีการคอมมิตเหล่านี้
เวอร์ชัน 1.1
เวอร์ชัน 1.1.2
20 กันยายน 2023
androidx.compose.material3:material3:1.1.2
และ androidx.compose.material3:material3-window-size-class:1.1.2
เผยแพร่แล้ว เวอร์ชัน 1.1.2 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขการพาสตัวแก้ไขไปยังคอมโพสิเบิล 2 รายการอย่างไม่ถูกต้อง (b/282761472)
- แก้ไข
TimePickerState
แสดงผลชั่วโมงไม่ถูกต้องเมื่อเริ่มต้นด้วย 23 ชั่วโมง (b/278242122) - แก้ไขสถานะเปิด/ปิดเริ่มต้นสําหรับการตรวจสอบเที่ยงวันและนาที (b/269768197, b/282790635)
- แก้ไข
state.hour
ที่แสดงค่าไม่ถูกต้องสำหรับเวลา 23:00 น. (b/282761472, b/278242122)
เวอร์ชัน 1.1.1
21 มิถุนายน 2023
androidx.compose.material3:material3:1.1.1
และ androidx.compose.material3:material3-window-size-class:1.1.1
เผยแพร่แล้ว เวอร์ชัน 1.1.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เพิ่มการเรียกใช้
ModalBottomSheet
ที่ไม่มีพารามิเตอร์windowInset
เพื่อความเข้ากันได้ของไบนารี (Ib7959) - เพิ่มพารามิเตอร์ระยะขอบหน้าต่างลงใน
ModalBottomSheet
- ตอนนี้ระบบอาจวาดม่านสำหรับ
ModalBottomSheet
ไว้ด้านหลังแถบสถานะโดยตั้งค่าwindowInsets
เป็น 0 - อัปเดตฟังก์ชันการทำงานเริ่มต้นของ
ModalBottomSheet
เพื่อไม่ให้อยู่นอกแถบของระบบ รวมถึงการไปยังส่วนต่างๆ - การจัดการแถบสถานะที่ฝังอยู่จะมีแถบแฮนเดิลสำหรับการลากในโหมดเต็มหน้าจอ
BottomSheetDefaults
รวมส่วนที่เว้นไว้ในหน้าต่างสําหรับBottomSheetWindow
(I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- ตอนนี้ระบบอาจวาดม่านสำหรับ
เวอร์ชัน 1.1.0
10 พฤษภาคม 2023
androidx.compose.material3:material3:1.1.0
และ androidx.compose.material3:material3-window-size-class:1.1.0
เผยแพร่แล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้
ฟีเจอร์หลักของ 1.1.0
คอมโพเนนต์ Material Design 3 รายการใหม่
การปรับปรุงคอมโพเนนต์ Material Design 3 ที่มีอยู่
เลื่อนระดับ API ทดลองเป็นเวอร์ชันเสถียรแล้ว
โปรดดูรายละเอียดเพิ่มเติมในบล็อกโพสต์นี้
เวอร์ชัน 1.1.0-rc01
19 เมษายน 2023
androidx.compose.material3:material3:1.1.0-rc01
และ androidx.compose.material3:material3-window-size-class:1.1.0-rc01
เผยแพร่แล้ว เวอร์ชัน 1.1.0-rc01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
TimePicker
ออกจาก API เวอร์ชันเสถียรแล้ว คาดว่าจะมีการเปลี่ยนแปลงเพิ่มเติมใน API สถานะ (I3f39a)ModalBottomSheet
ย้ายไปยัง Android เท่านั้น ไม่แนะนำให้ใช้ModalBottomSheet
ในเดสก์ท็อป และฟังก์ชันการทำงานนี้ไม่ได้รับการบำรุงรักษาอย่างต่อเนื่อง (Ib3778)
เวอร์ชัน 1.1.0-beta02
5 เมษายน 2023
androidx.compose.material3:material3:1.1.0-beta02
และ androidx.compose.material3:material3-window-size-class:1.1.0-beta02
เผยแพร่แล้ว เวอร์ชัน 1.1.0-beta02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้
SheetState
มีพารามิเตอร์skipHiddenState
ที่ไม่บังคับแล้ว - ตอนนี้
rememberStandardBottomSheetState
มีพารามิเตอร์skipHiddenState
ที่ไม่บังคับแล้ว BottomSheetScaffold
มีจุดยึดที่ซ่อนอยู่ซึ่งกําหนดไว้แล้ว แต่ระบบจะปิดใช้โดยค่าเริ่มต้น- อัปเดตเอกสารประกอบ
SheetState.requireOffset
รายการแล้ว - เปลี่ยนชื่อ
BottomSheetDefaults.MinimizedShape
เป็นBottomSheetDefaults.HiddenShape
แล้ว (I839f4, b/273870234)
การแก้ไขข้อบกพร่อง
- อย่าเปลี่ยนหน้าปัดจากชั่วโมงเป็นนาทีเมื่อเปิดใช้การสำรวจด้วยการแตะ (I717d0)
- ตอนนี้เราได้ผสานความหมายของแถบลาก
ModalBottomSheet
และBottomSheetScaffold
เข้าด้วยกันแล้ว (I05afb) - ตอนนี้พารามิเตอร์ตัวแก้ไข
BottomSheetScaffold
,containerColor
และcontentColor
จะส่งผลต่อเนื้อหาเท่านั้น (I992cb) - ตอนนี้
BottomSheetScaffold nestedScroll
สำหรับเนื้อหาชีตใช้การฟลิง (I992cb)
เวอร์ชัน 1.1.0-beta01
22 มีนาคม 2023
androidx.compose.material3:material3:1.1.0-beta01
และ androidx.compose.material3:material3-window-size-class:1.1.0-beta01
เผยแพร่แล้ว เวอร์ชัน 1.1.0-beta01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มพารามิเตอร์ประเภทเลย์เอาต์ลงใน
TimePicker
composable ซึ่งช่วยให้ใช้เลย์เอาต์ที่แตกต่างกันได้ โดยขึ้นอยู่กับการกำหนดค่าหน้าจอ (Ia0e16) - มีการทำเครื่องหมาย
SearchBarDefaults
ว่าเป็นแบบทดลอง (I65561) - เพิ่มระดับเงาให้กับ
BottomSheetScaffold
(I94e0f) - เพิ่มการรองรับการแสดงเครื่องมือเลือกวันที่โดยไม่มีส่วนหัว API เปลี่ยนแปลงเพื่ออนุญาตให้ส่งบรรทัดแรก Null เมื่อสร้างเครื่องมือเลือกวันที่ ตอนนี้คุณสามารถส่งบรรทัดแรก ชื่อ และ
showToggleMode = false
เป็นค่า Null เพื่อแสดงเครื่องมือเลือกแบบไม่มีส่วนหัวได้แล้ว (Id3f3a, b/266132421, b/267194809)
การแก้ไขข้อบกพร่อง
- ตอนนี้แถบค้นหาจะยกเลิกโฟกัสโดยอัตโนมัติเมื่อไม่มีการใช้งาน (I22a7c, b/261444487)
- อัปเดต
DateRangePicker
เพื่ออนุญาตให้เลือกช่วงที่มีวันที่เริ่มต้นและวันที่สิ้นสุดเป็นวันเดียวกัน (I16529, b/272882497) - ตอนนี้ช่องข้อความจะจัดวางองค์ประกอบข้อความอย่างเหมาะสมเมื่อขนาดแบบอักษรเล็กกว่าที่คาดไว้ ซึ่งอาจส่งผลให้แอปมีการเปลี่ยนแปลงขนาด 2-3 พิกเซลตามการตั้งค่าแบบอักษรและสคริปต์ (I8b8d0)
- ตอนนี้การดำเนินการเชิงความหมายของ Bottom Sheet มีป้ายกำกับแล้ว (I277b0)
เวอร์ชัน 1.1.0-alpha08
8 มีนาคม 2023
androidx.compose.material3:material3:1.1.0-alpha08
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha08 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับ
BottomSheetScaffold
และBottomSheetScaffoldState
(I063d4)
การเปลี่ยนแปลง API
- เพิ่มฟังก์ชันการทำงานให้กับ
DatePickerState
และDateRangePickerState
เพื่ออนุญาตให้ตั้งค่าวันที่หลังจากสร้างสถานะครั้งแรก รวมถึงรีเซ็ตการเลือกโดยการตั้งค่าการประทับเวลาเป็น Null การตั้งค่าวันที่ด้วยตนเองควรทำอย่างระมัดระวัง และฟังก์ชันsetSelection
ใหม่จะแสดงข้อยกเว้นในกรณีที่วันที่ที่ระบุไม่เป็นไปตามเงื่อนไขเบื้องต้น (ดูเอกสารประกอบ) (Ifa645, b/268609314, b/270427389) - เปลี่ยนชื่อ "ยุบ"
SheetValue
เป็นPartiallyExpanded
เพื่อแสดงลักษณะการทำงานในสถานะนี้ได้อย่างแม่นยำและยืดหยุ่นมากขึ้น (Ia1491) - อัปเดตชื่อพารามิเตอร์
ListItem
เป็น _content แทน _text ตอนนี้ตัวรับค่าเริ่มต้นคือReadOnlyComposables
ในส่วนที่เกี่ยวข้อง (I69a25) - Surface API แบบอินเทอร์แอกทีฟออกจากขั้นทดลอง (I90d59, b/261561812)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ระบบคำนวณสถานะ
HalfExpanded
ของModalBottomSheet
ไม่ถูกต้องและชีตดูเหมือนจะลอยอยู่ (I45e84, b/268411386) - เพิ่มเครื่องหมาย
confirmValueChange
ลงในแท็บสกรีนสำหรับModalBottomSheet
(I2311a, b/270425759) - ย้ายการดำเนินการ
BottomSheet
แบบเชิงความหมายไปยังแฮนเดิลการลาก (I158ba) - ตอนนี้
ModalBottomSheet
จะสั่งให้โฟกัสที่การเปิดตัว จัดการปุ่มย้อนกลับ (I4d2ab) - ตอนนี้ระบบจะจัดการ
ModalBottomSheet onDismissRequest
ระหว่างการเลื่อนแบบซ้อนกันด้วย (I655c5, b/268433166)
เวอร์ชัน 1.1.0-alpha07
22 กุมภาพันธ์ 2023
androidx.compose.material3:material3:1.1.0-alpha07
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha07 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มคอมโพสิชันอินพุตเวลาที่ใช้กับ
rememberTimePickerState()
ได้ โดยเป็นไปตามข้อกําหนด M3 สําหรับอินพุตเวลา (Ia4fab) - เพิ่ม
DateRangePicker
API ของ Material 3 สำหรับการเลือกช่วงวันที่ (I7a6c3, b/267194809) - เพิ่มการรองรับโหมดการป้อนข้อมูล Material 3 สำหรับการเลือกช่วงวันที่ผ่าน
DateRangePicker
API (Ifdbc4) - ตอนนี้สีของช่องข้อความอนุญาตให้ปรับแต่งได้ดังนี้
- สีข้อความของช่องป้อนข้อมูลและตัวยึดตําแหน่งตามโหมดโฟกัสและสถานะข้อผิดพลาด เปลี่ยนชื่อพารามิเตอร์
textColor
เป็นunfocusedTextColor
และเปลี่ยนชื่อplaceholderColor
เป็นunfocusedPlaceholderColor
- สีของคอนเทนเนอร์สำหรับช่องข้อความที่กรอกแล้วตามสถานะข้อผิดพลาดด้วยพารามิเตอร์
errorContainerColor
ใหม่
- สีข้อความของช่องป้อนข้อมูลและตัวยึดตําแหน่งตามโหมดโฟกัสและสถานะข้อผิดพลาด เปลี่ยนชื่อพารามิเตอร์
- อัปเดตสีช่องข้อความของเมนูแบบเลื่อนลงที่แสดงให้รองรับพารามิเตอร์เพื่อรองรับ API ส่วนหน้าและส่วนหลังใหม่ (I9c8b4, b/254284181, b/264766350)
การเปลี่ยนแปลง API
- เปลี่ยนกลับเวอร์ชัน Slider API บางเวอร์ชันและนำ Slider ที่ซ้ำซ้อนออก ซึ่งครอบคลุมอยู่ใน Slider เวอร์ชันทดลองใหม่ที่มีแถบเลื่อนและแทร็กที่กำหนดเอง เลื่อนระดับ
RangeSlider
เป็นเวอร์ชันเสถียร (Ie8fbd) - เปลี่ยนชื่อ
defaultElevation
เป็นelevation
ในฟังก์ชันการยกระดับของชิป (I0f872) - API ช่องข้อความ Material 3 ต่อไปนี้ไม่ใช่เวอร์ชันทดลองอีกต่อไป
TextField
,OutlinedTextField
,textFieldWithLabelPadding
,textFieldWithoutLabelPadding
,outlinedTextFieldPadding
(Ieb5c0, b/261561819) TimePickers
is24Hour
ใช้การตั้งค่าของระบบ (I18856)- นําคําอธิบายประกอบเวอร์ชันทดลองออกจากสแคฟเฟิลด API แล้ว (Ibb51e, b/261565765, b/261436953)
การแก้ไขข้อบกพร่อง
- ตอนนี้รูปร่างเริ่มต้นของ
ModalBottomSheet
คือSheetDefaults.ExpandedShape
เสมอ (I0dfca) - การปรับปรุงการช่วยเหลือพิเศษสำหรับ Material 3
DatePicker
และDateRangePicker
(I5087e) - แก้ไขข้อบกพร่องที่ระบบจะเผยแพร่ข้อจำกัดความสูงสูงสุดและอาจทำให้ระบบขัดข้อง (I30d8c)
- นำบทบาทเชิงความหมายออกจากแพลตฟอร์มที่คลิกและเลือกได้ รวมถึงคอมโพเนนต์ที่อัปเดตแล้วซึ่งใช้บทบาทเหล่านั้นเพื่อตั้งค่าบทบาทโดยใช้ modifier.semantics (I793d9)
เวอร์ชัน 1.1.0-alpha06
8 กุมภาพันธ์ 2023
androidx.compose.material3:material3:1.1.0-alpha06
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha06 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้ช่องข้อความรองรับข้อความนำหน้าและต่อท้ายแล้ว (Ia8578, b/179884561)
- เพิ่มฟังก์ชัน
TimePicker
เพื่อแสดงเครื่องมือเลือกเวลาตามข้อกำหนดของ Material 3 ซึ่งใช้ร่วมกับTimePickerState
และเมธอดอำนวยความสะดวกrememberTimePickerState
(I71910) - อินพุตวันที่เปลี่ยนเป็นโหมดการแสดงผลที่
DatePicker
แล้ว เพิ่มการรองรับการสลับระหว่างโหมดตัวเลือกวันที่กับโหมดป้อนวันที่ (Ieeff7) - เพิ่ม API สําหรับ
RichTextTooltips
แล้ว (I58ef3) - การใช้ Modal Bottom Sheet สำหรับ Material 3 ซึ่งรวมถึง
ModalBottomSheet
และModalBottomSheetDefaults
รวมถึงเปิดตัวSheetState
และrememberSheetState
ซึ่งสามารถใช้กับคอมโพเนนต์ชีตในอนาคต (I0853a, b/244189383)
การเปลี่ยนแปลง API
- ปรับปรุง API
showSnackbar
ให้เสถียร (I195c2, b/261424370) - ปรับปรุง API สําหรับชิปความช่วยเหลือและชิปคำแนะนำให้เสถียร (Ibb67b, b/261424370)
- โปรโมต
ListItem
,ListItemDefaults
และListItemColors
API เป็นเวอร์ชันที่ไม่ใช่เวอร์ชันทดลอง (I7e7fa, b/261438882) - โปรโมต
SliderPositions
,SliderDefaults.Thumb
และSliderDefaults.Track
เป็นเวอร์ชันเสถียร และเพิ่ม APISlider
และRangeSlider
ที่ไม่ใช่เวอร์ชันทดลองซึ่งมีภาพปกและแทร็กที่กำหนดเอง รวมถึงเลิกใช้งานSlider
และRangeSlider
API เวอร์ชันเก่าด้วย (Ie5ea6, b/261566890) Modifier.tooltipAnchor()
เป็นสาธารณะเพื่อให้นักพัฒนาแอปส่งไปยังจุดยึดเพื่อระบุว่าควรแสดงเคล็ดลับเครื่องมือเมื่อกดค้าง อัปเดตPlainTooltipBox
API เพื่อไม่ให้TooltipState
เป็นค่า Null ได้อีกต่อไปและมีค่าเริ่มต้นแล้ว (Ie2fb7)ProgressIndicatorDefaults.circularTrackColor
ได้รับการทําเครื่องหมายเป็น@Composable
เพื่อให้สอดคล้องกัน (Id29cc)- กู้คืน getter ของพร็อพเพอร์ตี้
LocalMinimuTouchTargetEnforcement
แล้วทําเครื่องหมายว่าเลิกใช้งานและเปลี่ยนเส้นทางไปยังLocalMinimumInteractiveComponentEnforcement
(I60dd5)
เวอร์ชัน 1.1.0-alpha05
26 มกราคม 2023
androidx.compose.material3:material3:1.1.0-alpha05
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha05 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
DatePickerDialog
และการสนับสนุนการช่วยเหลือพิเศษ- เพิ่มภาพปกและแทร็กที่กำหนดเองลงใน
RangeSlider
การอัปเดตทรัพยากร Dependency
- ตอนนี้
Compose UI
และCompose Material
ต้องใช้ Lifecycle 2.6.0
เวอร์ชัน 1.1.0-alpha04
11 มกราคม 2023
androidx.compose.material3:material3:1.1.0-alpha04
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha04 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
DatePicker
API เริ่มต้นสําหรับการเลือกวันที่เดียวผ่าน UI ปฏิทิน API นี้ยังอยู่ระหว่างการเปลี่ยนแปลง (I722b9)- เพิ่มการรองรับเคล็ดลับเครื่องมือแบบธรรมดาผ่าน
PlainTooltipBox
(I0cdfb) - แถบค้นหา (Iad128)
SwipeToDismiss
(I458a8, b/242889540)
การเปลี่ยนแปลง API
- เพิ่มในพร็อพเพอร์ตี้
IsContainer
semantics ใน Surfaces ระบบจะใช้พร็อพเพอร์ตี้นี้ในการเปลี่ยนแปลงในภายหลังซึ่งจะกําหนดลําดับการเรียกดูตามความหมายเชิงอรรถศาสตร์ขององค์ประกอบ เช่น พื้นผิว (I63379) - ทำเครื่องหมาย API ที่เกี่ยวข้องกับลิ้นชักการนำทางว่าเสถียร (Iab01e, b/261439597)
- เพิ่มพารามิเตอร์สีแทร็กสำหรับสัญญาณบอกสถานะความคืบหน้าแบบวงกลม และพารามิเตอร์ส่วนปลายของเส้นสำหรับทั้งสัญญาณบอกสถานะความคืบหน้าแบบวงกลมและแบบเชิงเส้น (Ie668c, b/216325962, b/222964817)
- ข้อมูลเพิ่มเติมเกี่ยวกับค่าที่เป็นไปได้ของประเภทผลลัพธ์ของฟังก์ชันที่ซ่อนซึ่งเลิกใช้งานแล้ว (Ibf7b0)
- เพิ่ม
Modifier.minimumInteractiveComponentSize
สามารถใช้เพื่อจองขนาดอย่างน้อย 48.dp เพื่อแยกแยะการโต้ตอบด้วยการสัมผัสในกรณีที่องค์ประกอบมีขนาดเล็กลง (I33f58, b/258495559) - เพิ่ม API เวอร์ชันทดลองสําหรับคอมโพสิชัน
AlertDialog
ที่มีช่องเนื้อหา (Iec4a2)
การแก้ไขข้อบกพร่อง
- ตอนนี้ความคืบหน้าของสัญญาณบอกสถานะความคืบหน้าถูกจำกัดไว้อย่างเหมาะสมตามช่วงที่คาดไว้ (I8a7eb, b/262262727)
ปัญหาที่ทราบ
- เมื่ออัปเดตจาก
androidx.compose.foundation:1.4.0-alpha03
เป็นandroidx.compose.foundation:1.4.0-alpha04
คุณอาจพบข้อผิดพลาดjava.lang.NoSuchFieldError
ที่นี่เป็นจุดที่รายงานปัญหาครั้งแรก เราได้ส่งการแก้ไขแล้ว และจะพร้อมใช้งานในการอัปเดต Compose ครั้งถัดไป วิธีแก้ปัญหาชั่วคราวคืออัปเดตไลบรารีandroidx.compose.material
และandroidx.compose.material3
เป็นเวอร์ชันล่าสุด(1.1.0-alpha04) หรือดาวน์เกรดandroidx.compose.foundation
เป็น 1.4.0-alpha03
เวอร์ชัน 1.1.0-alpha03
7 ธันวาคม 2022
androidx.compose.material3:material3:1.1.0-alpha03
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha03 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
consumedWindowInsets()
เป็นconsumeWindowInsets()
และwithConsumedWindowInsets()
เป็นonConsumedWindowInsetsChanged()
รวมถึงทำให้ตัวแก้ไขเป็นแบบสาธารณะ (Ie44e1) - เพิ่มการเว้นวรรคเนื้อหาเริ่มต้นใหม่สำหรับปุ่มข้อความที่มีไอคอนเพื่อใช้งาน (I8f662)
- เพิ่มสีที่ปิดใช้สำหรับแถบนําทางและแถบแนวนอน (Ia7892, b/258867034)
- เพิ่ม Modifier API เพื่อค้นหาข้อมูลการเลื่อนของบรรพบุรุษ (I2ba9d, b/203141462)
- ใช้ใน
Clickable
เพื่อเลื่อนเวลาการโต้ตอบด้วยการกดอย่างถูกต้อง เมื่อท่าทางสัมผัสอาจกลายเป็นเหตุการณ์การเลื่อน - แก้ไข
Clickables
ที่ไม่หน่วงเวลาของภาพกระเพื่อมอย่างถูกต้องเมื่อใช้ในScrollable ViewGroup
- อัปเดตลิ้นชักและชีตเพื่อเลื่อนการกดอย่างถูกต้องในกรณีที่ท่าทางสัมผัสอาจกลายเป็นเหตุการณ์การเลื่อน
การอัปเดตทรัพยากร Dependency
- ตอนนี้
Compose UI
และCompose Material
ขึ้นอยู่กับ Lifecycle 2.5.1 (I05ab0, b/258038814)
เวอร์ชัน 1.1.0-alpha02
9 พฤศจิกายน 2022
androidx.compose.material3:material3:1.1.0-alpha02
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้
awaitFirstDown
และwaitForUpOrCancellation
ยอมรับPointerEventPass
เพื่อให้มีความยืดหยุ่นมากขึ้น (และแก้ไขExposedDropdownMenuBox
ที่แสดงเมนูขณะเลื่อนด้วย) (I7579a, b/212091796) - เพิ่มพารามิเตอร์
minLines
ลงในข้อความ Material และ Material3,TextField
และOutlinedTextField
ซึ่งช่วยให้ตั้งค่าความสูงขั้นต่ำของคอมโพเนนต์ตามจำนวนบรรทัดได้ (I4af1d) - เลิกใช้งานฟังก์ชัน
TopAppBarDefaults smallTopAppBarColors
และใช้ฟังก์ชันtopAppBarColors
ใหม่แทน ซึ่งควรใช้เมื่อสร้างTopAppBar
(Ie6cb9) - เพิ่มพารามิเตอร์
minLines
ลงในBasicText
และBasicTextField
ซึ่งช่วยให้ตั้งค่าความสูงขั้นต่ำของคอมโพสิเบิลเหล่านี้ในแง่ของจํานวนบรรทัดได้ (I24294, b/122476634)
การแก้ไขข้อบกพร่อง
- ตัดเนื้อหาของ Material3
IconButton
และIconToggleBotton
ไปยังรูปร่างเลเยอร์สถานะของคอมโพเนนต์ (เช่น รูปทรงกลม) (I9da8f) - อัปเดตแถบแอปด้านบนขนาดกลางและขนาดใหญ่ของ Material3 ให้ใช้สีพื้นหลังเดียวกันทั่วทั้งพื้นผิว และอนุญาตให้ตั้งค่าการลบล้างสีเริ่มต้นด้วยค่าสีโปร่งใส (I67659, b/249688556, b/250838918)
เวอร์ชัน 1.1.0-alpha01
24 ตุลาคม 2022
androidx.compose.material3:material3:1.1.0-alpha01
และ androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขแถบแอปด้านบนเมื่อมีการใช้ชื่อด้วย TextStyle และแปรง (If667e)
รุ่น 1.0
เวอร์ชัน 1.0.1
9 พฤศจิกายน 2022
androidx.compose.material3:material3:1.0.1
และ androidx.compose.material3:material3-window-size-class:1.0.1
เผยแพร่แล้ว เวอร์ชัน 1.0.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- อัปเดตแถบแอปด้านบนขนาดกลางและขนาดใหญ่ของ Material3 ให้ใช้สีพื้นหลังเดียวกันทั่วทั้งพื้นผิว และอนุญาตให้ตั้งค่าการลบล้างสีเริ่มต้นด้วยค่าสีโปร่งใส (I67659, b/249688556, b/250838918)
เวอร์ชัน 1.0.0
24 ตุลาคม 2022
androidx.compose.material3:material3:1.0.0
และ androidx.compose.material3:material3-window-size-class:1.0.0
เผยแพร่แล้ว เวอร์ชัน 1.0.0 มีคอมมิตเหล่านี้
ฟีเจอร์หลักของ 1.0.0
นี่เป็นเวอร์ชันเสถียรครั้งแรกของ Compose Material 3
ธีม Material Design 3 และสีแบบไดนามิกของ Material You
คอมโพเนนต์ Material Design 3
- ป้าย
- แถบด้านล่างของแอป
- ปุ่ม
- FAB และ FAB แบบขยาย
- การ์ด
- ช่องทําเครื่องหมาย
- ชิป
- บทสนทนา
- ตัวแบ่ง
- เมนูแบบเลื่อนลง
- รายการ
- แถบนำทาง
- ลิ้นชักการนำทาง
- แถบนำทาง
- สัญญาณบอกสถานะความคืบหน้า
- ปุ่มตัวเลือก
- แถบเลื่อน
- เปลี่ยน
- แท็บ
- ช่องข้อความ
- แถบแอปด้านบน
- ไอคอน
- ข้อความ
- พื้นผิว
- เลย์เอาต์
- สีของเนื้อหา
คลาสขนาดหน้าต่าง
material3-window-size-class
เป็นไลบรารีใหม่ที่รองรับคลาสขนาดหน้าต่าง ซึ่งเป็นชุดจุดหยุดพักของวิวพอร์ตตามความคิดเห็นของคุณสำหรับการออกแบบ พัฒนา และทดสอบเลย์เอาต์แอปพลิเคชันที่ปรับขนาดได้ คุณสามารถใช้calculateWindowSizeClass
เพื่อเรียกข้อมูลอินสแตนซ์คลาสขนาดหน้าต่าง ซึ่งสามารถใช้เพื่อกำหนดลักษณะที่ UI ควรปรากฏ เช่น การแสดงแถบนําทางแทนการนําทางด้านล่างสําหรับขนาดหน้าต่างที่ใหญ่ขึ้น ดูข้อมูลเพิ่มเติมและตัวอย่างการใช้งานได้ในเอกสารประกอบอ้างอิง API สําหรับWindowSizeClass
โปรดดูรายละเอียดเพิ่มเติมในบล็อกโพสต์นี้
เวอร์ชัน 1.0.0-rc01
5 ตุลาคม 2022
androidx.compose.material3:material3:1.0.0-rc01
และ androidx.compose.material3:material3-window-size-class:1.0.0-rc01
เผยแพร่แล้ว เวอร์ชัน 1.0.0-rc01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มพารามิเตอร์ช่องเพื่อรองรับข้อความไปยัง API ช่องข้อความ (Iaac0d, b/227146125)
เวอร์ชัน 1.0.0-beta03
21 กันยายน 2022
androidx.compose.material3:material3:1.0.0-beta03
และ androidx.compose.material3:material3-window-size-class:1.0.0-beta03
เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้
ExposedDropdownMenuDefaults
แสดงค่าระยะห่างจากขอบสำหรับรายการเมนูแล้ว (I34ee1) - ตอนนี้
ExposedDropdownMenuBoxScope
มีส่วนเสริมModifier.menuAnchor()
ที่ควรส่งไปยังช่องข้อความเพื่อให้มีลักษณะการทำงานตามข้อกำหนดของ A11Y อย่างเหมาะสม (I27fa3) - การเพิ่มเมธอดที่โอเวอร์โหลด 2 รายการสําหรับ Slider API ปัจจุบันเพื่อให้ผู้ใช้ส่ง Thumb หรือ Track เพื่อป้อนข้อมูลในแถบเลื่อนได้ (I21c00)
การแก้ไขข้อบกพร่อง
- อัปเดตการแมปสีธีมมืดสำหรับคอนเทนเนอร์ On Error เป็นโทน 90 (Ic5612)
- แก้ไขเพื่ออนุญาตให้ตั้งค่าพื้นหลังโปร่งใสสำหรับแถบแอปด้านบนขนาดเล็กของ Material 3 (I645e2, b/245575782)
เวอร์ชัน 1.0.0-beta02
7 กันยายน 2022
androidx.compose.material3:material3:1.0.0-beta02
และ androidx.compose.material3:material3-window-size-class:1.0.0-beta02
เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ระยะห่างจากขอบของคอมโพเนนต์เริ่มต้นที่เปิดตัวในคอมโพเนนต์ m3 ในเวอร์ชัน beta01 จะไม่คำนึงถึงระยะห่างจากขอบของ IME อีกต่อไป
- ตอนนี้คอมโพเนนต์ Scaffold ของ Material3 มีพารามิเตอร์
contentWindowInsets
ซึ่งช่วยให้ระบุจำนวนการฝังที่จะจัดการสำหรับช่องเนื้อหาได้ (Icf11a, b/243713323) - เลิกใช้งานฟังก์ชัน
SmallTopAppBar
ของ Material 3 เวอร์ชันทดลองและเปิดตัวฟังก์ชันTopAppBar
ที่เทียบเท่า โปรดย้ายข้อมูลการใช้งานไปยังบัญชีใหม่ (I74404, b/226918634) - เพิ่มการควบคุมลักษณะการเลื่อนและการจัดตำแหน่งของแถบแอปด้านบน (I15c81)
- นำ startIndent ออกจากตัวแบ่ง ย้ายสีไปยังพารามิเตอร์สุดท้าย (If7be2)
การแก้ไขข้อบกพร่อง
- บอกให้ผู้ใช้ Talkback ทราบว่ากล่องโต้ตอบกำลังทำงานอยู่ด้วยการประกาศคำว่า "กล่องโต้ตอบ" เมื่อกล่องโต้ตอบปรากฏขึ้น (I857ef)
เวอร์ชัน 1.0.0-beta01
24 สิงหาคม 2022
androidx.compose.material3:material3:1.0.0-beta01
และ androidx.compose.material3:material3-window-size-class:1.0.0-beta01
เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้
ข้อมูลอ้างอิงของ API
หากต้องการดูธีม คอมโพเนนต์ และคอมโพสิเบิลอื่นๆ ล่าสุดที่ใช้ได้ โปรดดูภาพรวมข้อมูลอ้างอิง Compose Material 3 API
การเปลี่ยนแปลง API
- อัปเดตแถบแอปด้านบนของ Material 3 ให้ยุบ/ขยายจนสุด นอกจากนี้ ยังอัปเดตฟังก์ชันลักษณะการทำงาน
TopAppBarDefaults
เป็น Composables และให้ค่าเริ่มต้นสำหรับสถานะแถบแอปด้านบนและข้อกำหนดภาพเคลื่อนไหว (I642b3) - อัปเดตลายเซ็นคอมโพเนนต์ FAB ให้ตรงกับ Surface API (I3afaa)
- เพิ่มการรองรับแบบฝังในตัวสำหรับแถบแอปด้านบน ลิ้นชัก แถบนําทาง และแถบแนวนอน เมื่อใช้แยกกันหรือใช้กับ Scaffold คอมโพเนนต์เหล่านี้จะจัดการส่วนเกินสำหรับนักพัฒนาแอปโดยอัตโนมัติ หมายเหตุ: การเปลี่ยนแปลงนี้จะไม่เพิ่มการจัดการไอคอนแถบสถานะและความโปร่งใสของแถบสถานะและแถบนําทางโดยอัตโนมัติ โปรดดำเนินการต่อด้วยตนเองเพื่อให้ได้รับประสบการณ์การใช้งานแบบเต็มหน้าจอที่ดีที่สุด (I7e4e6, b/183161866)
- อัปเดตค่าเริ่มต้นของคอมโพเนนต์เพื่อลดการแสดงผล API เพื่อความยืดหยุ่นและปรับปรุงประสิทธิภาพในอนาคต (I31820)
- จัดเรียงพารามิเตอร์ชีตชิปและลิ้นชักการนำทางใหม่เพื่อให้สอดคล้องกันภายใน API (I45d0b)
- นํา
startIndent
ออกจากตัวคั่นและย้ายสีไปไว้ที่พารามิเตอร์สุดท้าย (If7be2)
เวอร์ชัน 1.0.0-alpha16
10 สิงหาคม 2022
androidx.compose.material3:material3:1.0.0-alpha16
และ androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha16 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับการระบุความกว้างที่กำหนดเองในลิ้นชักการนำทาง (Ia7f10)
การเปลี่ยนแปลง API
- เรียงลําดับพารามิเตอร์แท็บและแท็บไอคอนหน้าแรกใหม่เพื่อรักษาความสอดคล้องภายใน API (Ie2637)
- ทำเครื่องหมาย
BadgeDefaults
ว่าเวอร์ชันทดลอง (I98ef3) - นำฟังก์ชันลิ้นชักการนำทางที่เลิกใช้งานแล้วออก (I4f2db)
- จัดเรียงพารามิเตอร์แถบเลื่อนใน Material 3 ใหม่เพื่อรักษาความสอดคล้องภายใน API (I0aee7)
- เรียงลําดับพารามิเตอร์
NavigationBar
และNavigationRail
ใหม่เพื่อให้สอดคล้องกันภายใน API (I51cda) - จัดลำดับพารามิเตอร์ใน Material 3 ใหม่เพื่อให้ API ต่างๆ สอดคล้องกัน (If4ae1)
- จัดเรียงพารามิเตอร์แถบเลื่อนใน Material 3 ใหม่เพื่อรักษาความสอดคล้องภายใน API (I62673)
- เปลี่ยนชื่อพารามิเตอร์ไอคอนเป็นการดำเนินการเพื่อให้สอดคล้องกับแถบแอปด้านบน (Id75be)
- ติดป้ายกํากับ
Badge
และBadgedBox
เป็นเวอร์ชันทดลองเนื่องจากการจัดแนวของจุดยึดยังเปลี่ยนแปลงอยู่ (I1712e, b/236524516) - เปลี่ยนคำอธิบายประกอบ
@ExperimentalMaterial3Api
ในตัวแปรปุ่มไอคอนเป็น@OptIn
(I070b5) - แยกเนื้อหาของลิ้นชักการนำทางออกเป็นคอมโพสิเบิลของตัวเองเพื่อรองรับการระบุความกว้างที่กำหนดเอง (Ia7f10)
- นำ
Divider
ออกจากMenuDefaults
และTabDefaults
(I4e33c)
เวอร์ชัน 1.0.0-alpha15
27 กรกฎาคม 2022
androidx.compose.material3:material3:1.0.0-alpha15
และ androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha15 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- อนุญาตให้ลากแถบแอปด้านบนจากตัวแถบเอง (I65c00, b/205873416)
การเปลี่ยนแปลง API
- การอัปเดต API
FilterChip
และElevatedFilterChip
เพื่อนำช่องselectedIcon
ออกและส่งเสริมให้นําleadingIcon
มาใช้ซ้ำเพื่อแสดงสถานะที่เลือก (Ie5dc2) - เพิ่มบทบาทสีของภาพตัวอย่างและเส้นขอบ (Id6d54)
- แก้ไขรูปแบบการตั้งชื่อสำหรับค่าเริ่มต้นแบบคอมโพสได้ (I62b27)
- ทำเครื่องหมาย
ListItemDefaults
และListItemColors
เป็นเวอร์ชันทดลอง (I1f3ec) - การเปลี่ยนแปลง API แถบแอปด้านบนเพื่อให้แสดงความหมายของพร็อพเพอร์ตี้สถานะได้ดีขึ้น นอกจากนี้ ให้ทําเครื่องหมาย API แถบแอปด้านบนเป็นเวอร์ชันทดลอง (Ic0ad8)
- เราได้เพิ่มสีการเลือกข้อความลงใน
TextFieldColors
เพื่อให้ค้นพบได้ง่ายขึ้น (Iba1b8) - การเพิ่ม
ButtonDefault.ButtonWithIconContentPadding
เพื่อใช้กับปุ่มที่มีไอคอน (I2bf9c) - ช่องข้อความได้รับการทําเครื่องหมายว่า "ทดลอง" เพื่อให้มีความยืดหยุ่นมากขึ้นเมื่อเกิดการเปลี่ยนแปลง API ในอนาคต (I127b5)
- นำคำอธิบายประกอบ
@ExperimentalMaterial3Api
ออกจากฟังก์ชันCheckbox
แล้ว (I5eefc) - นำคำอธิบายประกอบ
@ExperimentalMaterial3Api
ออกจากฟังก์ชันRadioButton
แล้ว (I17e2a) - นำคำอธิบายประกอบ
@ExperimentalMaterial3Api
ออกจากการ์ดที่ไม่ใช่แบบอินเทอร์แอกทีฟ (I9bd49) - อัปเดตออบเจ็กต์เริ่มต้นต่างๆ ของคอมโพเนนต์ให้รวมสี รูปร่าง ฯลฯ (I96e11)
การแก้ไขข้อบกพร่อง
- นำไอคอนต่อท้ายที่ไม่ได้ทำงานออกจากตัวอย่างชิปอินพุตเพื่อไม่ให้ผู้ใช้สับสนในแอปแคตตาล็อก (I9846a)
เวอร์ชัน 1.0.0-alpha14
29 มิถุนายน 2022
androidx.compose.material3:material3:1.0.0-alpha14
และ androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha14 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการใช้งานรายการ M3 โปรดดูตัวอย่างการใช้งานในเอกสารประกอบ (Id7a20)
การเปลี่ยนแปลง API
- เปลี่ยนชื่อพารามิเตอร์จาก values เป็น value ใน
RangeSlider
(I3b79a) - API เปลี่ยนแปลงการใช้งาน
InputChip
เพื่อรองรับสถานะที่เลือกได้ตามข้อกำหนดของ Material Design การรองรับเพิ่มเติมสำหรับสีFilterChip
สำหรับสถานะปิดใช้ที่เลือก (I55244, b/235792432) - เพิ่ม FAB เริ่มต้น
BottomAppBar
(Ida4c8) - เพิ่ม
ColorScheme.surfaceColorAtElevation
แล้ว (Id41af) - ตอนนี้อินเทอร์เฟซในไลบรารีคอมโพสิตสร้างขึ้นโดยใช้เมธอดอินเทอร์เฟซเริ่มต้นของ jdk8 (I5bcf1)
- ตอนนี้
WindowWidthSizeClass
และWindowHeightSizeClass
ใช้ Comparable แล้ว จึงเปรียบเทียบได้โดยใช้โอเปอเรเตอร์ (<, <=, >=, >) และ API อื่นๆ (I747d0)
การแก้ไขข้อบกพร่อง
- อัปเดตตัวอย่างป้ายเพื่อให้คำอธิบายเนื้อหามีความชัดเจนมากขึ้น (I10b9d)
- เพิ่มตัวเลือกให้ใช้ขนาดแบบอักษรของระบบในเครื่องมือเลือกธีมของแคตตาล็อก Material 3 (I10605)
- เพิ่มโค้ดตัวอย่างสำหรับป้ายและตัวบ่งชี้ความคืบหน้าที่ไม่แน่นอน (I8fbe0)
เวอร์ชัน 1.0.0-alpha13
1 มิถุนายน 2022
androidx.compose.material3:material3:1.0.0-alpha13
และ androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha13 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- รองรับการรักษาตำแหน่งแถบแอปด้านบนไว้เมื่อมีการกําหนดค่า (I10459, b/216160958)
เวอร์ชัน 1.0.0-alpha12
18 พฤษภาคม 2022
androidx.compose.material3:material3:1.0.0-alpha12
และ androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha12 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้องค์ประกอบหลักของแถบเลื่อนมีความกว้าง 0 ได้ (b/231707291)
เวอร์ชัน 1.0.0-alpha11
11 พฤษภาคม 2022
androidx.compose.material3:material3:1.0.0-alpha11
และ androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha11 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
RangeSlider
ไปยังเนื้อหา 3 (I18e38) - เพิ่มการรองรับ
AssistChip
และInputChip
ของ Material3 (I0d25a) - เพิ่มการรองรับ
FilterChip
และSuggestionChip
ของ Material3 (I9fdf3)
การเปลี่ยนแปลง API
- เปลี่ยนชื่อคอมโพสิชัน
TextFieldDefaults.BorderStroke
ที่วาดเส้นขอบในOutlinedTextField
เป็นTextFieldDefaults.BorderBox
(I5f295) - เปลี่ยนการเปลี่ยนแปลงที่มองเห็นได้ของ m3 (Iab30e)
- อนุญาตให้ส่งสีไปยังปุ่มไอคอนมาตรฐาน (Ia2445)
การแก้ไขข้อบกพร่อง
- เพิ่มการตรวจสอบ Lint ไปยัง material3/Scaffold เพื่อให้แน่ใจว่ามีการใช้การกรอกภายใน (I72293, b/226951418)
เวอร์ชัน 1.0.0-alpha10
20 เมษายน 2022
androidx.compose.material3:material3:1.0.0-alpha10
และ androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha10 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
material3-window-size-class
เป็นไลบรารีใหม่ที่รองรับคลาสขนาดหน้าต่าง ซึ่งเป็นชุดจุดพักของวิวพอร์ตตามความคิดเห็นของคุณสำหรับการออกแบบ พัฒนา และทดสอบเลย์เอาต์แอปพลิเคชันที่ปรับขนาดได้ คุณสามารถใช้calculateWindowSizeClass
เพื่อเรียกข้อมูลอินสแตนซ์คลาสขนาดหน้าต่าง ซึ่งสามารถใช้เพื่อกำหนดลักษณะที่ UI ควรปรากฏ เช่น การแสดงแถบนําทางแทนการนําทางด้านล่างสําหรับขนาดหน้าต่างที่ใหญ่ขึ้น ดูข้อมูลเพิ่มเติมและตัวอย่างการใช้งานได้ในเอกสารอ้างอิง API สําหรับWindowSizeClass
ดูข้อมูลเพิ่มเติมเกี่ยวกับคำจำกัดความของคลาสขนาดหน้าต่างได้ที่คำแนะนำแบบสาธารณะเกี่ยวกับการรองรับหน้าจอขนาดต่างๆ
การเปลี่ยนแปลง API
- เพิ่มระดับเริ่มต้นของ FAB สำหรับ
BottomAppBar
นำ Lambda ต่อท้ายออกจากBottomAppBar
ที่มี FAB (I92c47) - เพิ่ม Material3
FilledIconButton
,FilledTonalIconButton
และOutlinedIconButton
(Ib2bda) - อัปเดต Material 3 Snackbar API ให้ยอมรับค่าสีสําหรับการดําเนินการที่ไม่บังคับและการดําเนินการปิด (Ibe4b4)
- เลิกใช้งานการบริโภคบางส่วน (ลดลงหรือตำแหน่ง) แล้วในปี
PointerInputChange
คุณสามารถใช้consume()
เพื่อใช้การเปลี่ยนแปลงทั้งหมดได้ คุณสามารถใช้isConsumed
เพื่อระบุว่ามีการใช้การเปลี่ยนแปลงนี้ไปแล้วก่อนหน้านี้หรือไม่ - ตอนนี้
PointerInputChange::copy()
จะทําสําเนาแบบไม่เจาะลึกเสมอ ซึ่งหมายความว่าระบบจะใช้สำเนาของPointerInputChange
เมื่อมีการบริโภคสำเนาใดสำเนาหนึ่ง หากต้องการสร้างPointerInputChange
ที่ไม่มีค่า ให้ใช้ตัวสร้างแทน (Ie6be4, b/225669674) - การเปลี่ยนแปลง Cards API เพื่อรับสีของคอนเทนเนอร์และสีของเนื้อหาผ่านอินเทอร์เฟซ
CardColors
และเพื่อรองรับสถานะปิดใช้สำหรับการ์ดที่คลิกได้ (I927df) - มีการเปลี่ยนชื่อพารามิเตอร์
backgroundColor
เป็นcontainerColor
ในช่องข้อความของ Material 3 เพื่อให้สอดคล้องกับคอมโพเนนต์อื่นๆ มากขึ้น (I6fbd9)
การแก้ไขข้อบกพร่อง
- การอัปเดตมาตรฐาน
IconButton
ให้สอดคล้องกับข้อกำหนดของ Material3 (I09eab) - ย้ายความสูงของแถบด้านบนของ Scaffold ของ material3 ไปยังระยะห่างจากขอบที่ส่งไปยังเนื้อหา ซึ่งจะช่วยให้เนื้อหาแสดงผลใต้แถบแอปด้านบน หากละเว้น
PaddingValues
ไว้ แถบด้านบนอาจบดบังเนื้อหา (I83cbc, b/217776202)
เวอร์ชัน 1.0.0-alpha09
6 เมษายน 2022
androidx.compose.material3:material3:1.0.0-alpha09
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha09 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม Material 3 Switch API (I2c3ad)
การเปลี่ยนแปลง API
- เพิ่มการรองรับเมนูแบบเลื่อนลงที่มีช่องข้อความ (หรือที่เรียกว่า "เมนูแบบเลื่อนลงที่แสดง" หรือ "ช่องตัวเลือก") (I1b832)
- เพิ่มพารามิเตอร์รูปร่างลงใน MaterialTheme และระบบย่อยของ Shape (I37426)
- เพิ่มพารามิเตอร์แบบขยายลงใน
ExtendedFloatingActionButton
เพื่อควบคุมว่าจะขยายหรือยุบ FAB โดยใช้ภาพเคลื่อนไหวระหว่างแต่ละสถานะ เพิ่มการโอเวอร์โหลด FAB แบบขยายสำหรับ FAB แบบขยายที่มีข้อความต่อท้ายสำหรับ FAB แบบขยายที่ไม่มีไอคอน (Iba7f1)
เวอร์ชัน 1.0.0-alpha08
23 มีนาคม 2022
androidx.compose.material3:material3:1.0.0-alpha08
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha08 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับช่องข้อความ Material 3 (I795cc, b/199377790)
การเปลี่ยนแปลง API
- เพิ่มตัวแบ่งเริ่มต้นสำหรับเมนู (I01374)
- เพิ่มพารามิเตอร์สี
surfaceTint
ลงในคลาสColorScheme
(I2f558)
การแก้ไขข้อบกพร่อง
- แก้ไขที่ปุ่ม Material3 เพื่ออ่านค่ารูปแบบข้อความเริ่มต้นจาก MaterialTheme (Ie62fc)
เวอร์ชัน 1.0.0-alpha07
9 มีนาคม 2022
androidx.compose.material3:material3:1.0.0-alpha07
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha07 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- การอัปเดต Material 3 Surface API ที่นําฟังก์ชันที่โอเวอร์โหลดสําหรับแพลตฟอร์มที่คลิกได้กลับมา รวมถึงเพิ่มฟังก์ชันเพื่อรองรับแพลตฟอร์มที่เลือกและเปิด/ปิดได้ (I4bf18)
LazyVerticalGrid
และLazyHorizontalGrid
ทำงานได้อย่างเสถียรแล้ว (I307c0)LazyVerticalGrid/LazyHorizontalGrid
และ API ที่เกี่ยวข้องทั้งหมดได้ย้ายไปไว้ในแพ็กเกจย่อย .grid แล้ว โปรดอัปเดตการนําเข้าจาก androidx.compose.foundation.lazy เป็น androidx.compose.foundation.lazy.grid (I2d446)- เปลี่ยนกลับการเปลี่ยนแปลงก่อนหน้านี้ที่ใช้มุมมองสําหรับ
WindowInsetsControllerCompat
เพียงอย่างเดียว และต้องใช้ Window อีกครั้ง ซึ่งจําเป็นสําหรับการจัดการ Flag ของ Window บางรายการ เลิกใช้งานViewCompat.getWindowInsetsController
แล้วใช้WindowCompat.getInsetsController
แทนเพื่อให้แน่ใจว่ามีการใช้หน้าต่างที่ถูกต้อง (เช่น หากมุมมองอยู่ในกล่องโต้ตอบ) (I660ae, b/219572936) - เพิ่ม
LazyVerticalGrid
API ใหม่เพื่อกําหนดขนาดแกนข้าม (I17723)
การแก้ไขข้อบกพร่อง
- การอัปเดต Card API เพื่อให้สอดคล้องกับการเปลี่ยนแปลงใน Surface API (I3c8b9)
เวอร์ชัน 1.0.0-alpha06
23 กุมภาพันธ์ 2022
androidx.compose.material3:material3:1.0.0-alpha06
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha06 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ระบบจะเพิ่ม
NavigationDrawerItem
ที่แสดงถึงปลายทางเดียวในลิ้นชัก (Ic396f, b/218286829) - เพิ่ม
PermanentNavigationDrawer
และDismissibleNavigationDrawer
เป็น API เวอร์ชันทดลองแล้ว กล่องเหล่านี้เหมาะสำหรับอุปกรณ์ที่มีหน้าจอขนาดใหญ่ (I5f8ab, b/218286829) - เพิ่มการรองรับแถบด้านล่างของแอป Material 3 (Ic432a)
- เปลี่ยนชื่อ
NavigationDrawer
เป็นModalNavigationDrawer
แล้ว (I1807d, b/218286829) - เพิ่มคลาสและโทเค็นแถบเลื่อนของ Material 3 (I1ccee)
- เพิ่มการใช้งานแท็บ ดูเอกสารประกอบเพื่อดูตัวอย่างการใช้งาน (Ie0146)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การไปยังส่วนต่างๆ แบบเส้นตรงของโปรแกรมอ่านหน้าจอ
TalkBack
เลือกชื่อแถบแอปด้านบนที่ว่างเปล่า (Id4690) - เพิ่ม
IconSize
ไปยังFloatingActionButtonDefaults
แล้ว (Ia71cf) - แก้ไขข้อบกพร่องสำหรับปุ่ม
AlertDialog
ที่ซ่อนอยู่เมื่อเพิ่มข้อความยาวด้วยLazyColumn
(Ib2cc9, b/216663029)
เวอร์ชัน 1.0.0-alpha05
9 กุมภาพันธ์ 2022
androidx.compose.material3:material3:1.0.0-alpha05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha05 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
เพิ่มคอมโพเนนต์ Material Design 3
- เมนูแบบเลื่อนลง
- การ์ด
การเปลี่ยนแปลง API
- ฟังก์ชัน
Surface
ที่เลิกใช้งานแล้วซึ่งใช้การเรียกคืน onClick ควรสร้างแพลตฟอร์มที่คลิกได้โดยใช้InteractionSource
และModifier.clickable()
(I211c6) - เพิ่มการรองรับการยกระดับเมื่อกดและโฟกัสสำหรับ FAB (Ibb584)
- เปลี่ยน
Surface
API ให้รับ InteractionSource ซึ่งช่วยให้ควบคุมลักษณะที่ปรากฏในสถานะต่างๆ ได้ (Iafbc8)
การแก้ไขข้อบกพร่อง
- เพิ่มสีรองที่ขาดหายไปในชุดสีแบบไดนามิก (I456c4, b/214588434)
เวอร์ชัน 1.0.0-alpha04
26 มกราคม 2022
androidx.compose.material3:material3:1.0.0-alpha04
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha04 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
NonRestartableComposable
ลงในเมธอดที่โอเวอร์โหลดของเมธอดที่มีอยู่โดยไม่มีตรรกะที่ซับซ้อน ซึ่งจะช่วยลดการตรวจสอบการช่วยจํา (เท่ากับ) ที่คอมไพเลอร์สร้างขึ้นสําหรับพารามิเตอร์ทั้งหมดซึ่งซ้ำกันในฟังก์ชันภายในที่เรียกใช้ (I90490) - เพิ่มตัวแบ่งสำหรับเนื้อหา 3 (Ica5fc)
- ทำเครื่องหมายช่องทําเครื่องหมายและปุ่มตัวเลือกด้วยคำอธิบายประกอบ API เวอร์ชันทดลอง (Ie44bb)
- เพิ่มการรองรับสัญญาณบอกสถานะความคืบหน้าของ Material 3 (Iff232, b/205023841)
การแก้ไขข้อบกพร่อง
- อัปเดตสีของคอนเทนเนอร์
TextButton's
ที่ปิดใช้ให้โปร่งใส (I6b248, b/213339737)
เวอร์ชัน 1.0.0-alpha03
12 มกราคม 2022
androidx.compose.material3:material3:1.0.0-alpha03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เพิ่ม
LocalIndication
ลงในMaterialTheme
ของวัสดุ 3 (I7ce4e) - แก้ไขรัศมีมุมที่ใช้กับช่องทําเครื่องหมาย (I38b03, b/175198975, b/202309440)
การอัปเดตทรัพยากร Dependency
- ตอนนี้ขึ้นอยู่กับ Kotlin
1.6.10
เวอร์ชัน 1.0.0-alpha02
1 ธันวาคม 2021
androidx.compose.material3:material3:1.0.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha02 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับช่องทําเครื่องหมายและปุ่มตัวเลือก
- อัปเดตให้ใช้งานร่วมกับ Kotlin
1.6.0
ได้
การเปลี่ยนแปลง API
- นำลิ้นชักออกจากสคาฟเฟิลด์ของ Material 3 (I04f51)
- เพิ่มการรองรับวัสดุ 3
Checkbox
(Id5542) - เพิ่มการรองรับวัสดุ 3
RadioButton
(I20334)
การแก้ไขข้อบกพร่อง
- ลดรัศมีของ
IconButton
จาก 40dp เป็น 20dp (I68bbe, b/206674345) - เส้นทางด่วนสตริงพอร์ตสำหรับ
Text
เปลี่ยนจากcompose.material
(I30b03) - แก้ไขแล้ว แต่ปุ่มที่เขียนโค้ดไว้ล่วงหน้าจะเปิดใช้อยู่เสมอ (Iea832, b/205335456)
เวอร์ชัน 1.0.0-alpha01
27 ตุลาคม 2021
androidx.compose.material3:material3:1.0.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.0.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
ธีม Material Design 3 และสีแบบไดนามิกของ Material You
คอมโพเนนต์ Material Design 3
- ปุ่ม
- FAB และ FAB แบบขยาย
- บทสนทนา
- แถบนำทาง
- ลิ้นชักการนำทาง
- แถบนำทาง
- แถบแอปด้านบน
- ป้าย
- ไอคอน
- ข้อความ
- พื้นผิว
- เลย์เอาต์
- สีของเนื้อหา
ดูข้อมูลเพิ่มเติมได้ที่ส่วน Material Design 3 และ Material You ในคู่มือการใช้ธีม Material ใน Compose