Compose Material 3

สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design 3 ซึ่งเป็นวิวัฒนาการขั้นถัดไปของ Material Design Material 3 ประกอบด้วยธีมและคอมโพเนนต์ที่อัปเดต รวมถึงฟีเจอร์การปรับแต่งในแบบของคุณของ Material You เช่น สีแบบไดนามิก และออกแบบมาให้สอดคล้องไปกับสไตล์ภาพและ UI ของระบบ Android 12 เวอร์ชันใหม่
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
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 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

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

  • แก้ไขคอมโพเนนต์การนําทางที่เต็มหน้าจอเมื่อแพลตฟอร์มรูทมี 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

  • แยก API การนําทางออกจาก API โครงร่างแบบปรับเปลี่ยนได้ (Ic4045)
  • นำชั้นเรียน GutterSize ออก (I785b3)

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

  • แก้ไขไม่ให้สลับแผงเมื่อไม่ได้ใช้ 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

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 รายการใหม่

  • ภาพสไลด์
  • [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 ของเคล็ดลับเครื่องมือ นอกจากนี้ เราจะย้าย API TooltipBox, 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 ให้ตรงกับข้อกําหนดของ M3 PrimaryIndicator จะตรงกับความกว้างของเนื้อหาแท็บ ส่วน 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 เป็นเวอร์ชันเสถียร และเพิ่ม API Slider และ 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

คลาสขนาดหน้าต่าง

  • 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

ดูข้อมูลเพิ่มเติมได้ที่ส่วน Material Design 3 และ Material You ในคู่มือการใช้ธีม Material ใน Compose