เขียนสื่อการเรียนการสอนของชั้นเรียน 3

สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design 3 ซึ่งเป็นการพัฒนาครั้งใหม่ของดีไซน์ Material Material 3 ประกอบด้วยธีมและคอมโพเนนต์ที่อัปเดตใหม่ และฟีเจอร์การปรับเปลี่ยนในแบบของคุณของ Material You เช่น สีแบบไดนามิก ทั้งยังออกแบบมาให้สอดคล้องกับสไตล์ภาพและ UI ของระบบใหม่ของ Android 12
อัปเดตล่าสุด รุ่นที่เสถียร ตัวเลือกถอนการอ้างสิทธิ์ รุ่นเบต้า รุ่นอัลฟ่า
24 กรกฎาคม 2024 1.2.1 - 1.3.0-beta05 -

โครงสร้าง

การเขียนจะรวมรหัสกลุ่ม Maven 7 รายการภายใน androidx แต่ละกลุ่ม มีชุดย่อยของฟังก์ชันเป้าหมาย โดยแต่ละฟังก์ชันมีชุดรุ่นของตัวเอง หมายเหตุ

ตารางนี้จะอธิบายกลุ่มและลิงก์ไปยังบันทึกประจำรุ่นแต่ละชุด

กลุ่มคำอธิบาย
compose.animationสร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack Compose เพื่อยกระดับประสบการณ์ของผู้ใช้
compose.compilerแปลงฟังก์ชัน @Composable และเปิดใช้การเพิ่มประสิทธิภาพด้วยปลั๊กอินคอมไพเลอร์ Kotlin
compose.foundationเขียนแอปพลิเคชัน Jetpack Compose ด้วยองค์ประกอบสำคัญที่พร้อมใช้งานและขยายพื้นฐานเพื่อสร้างชิ้นงานของระบบการออกแบบของคุณเอง
compose.materialสร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ดีไซน์ Material ที่พร้อมใช้งาน นี่คือจุดแรกเข้าของ Compose ในระดับที่สูงกว่า ซึ่งออกแบบมาเพื่อมอบคอมโพเนนต์ที่ตรงกับคอมโพเนนต์ที่อธิบายไว้ใน www.material.io
compose.material3สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design 3 ซึ่งเป็นการพัฒนาครั้งใหม่ของดีไซน์ Material Material 3 ประกอบด้วยธีมและคอมโพเนนต์ที่อัปเดตใหม่ และฟีเจอร์การปรับเปลี่ยนในแบบของคุณของ Material You เช่น สีแบบไดนามิก ทั้งยังออกแบบมาให้สอดคล้องกับสไตล์ภาพและ UI ของระบบใหม่ของ Android 12
compose.runtimeองค์ประกอบพื้นฐานพื้นฐานของโมเดลการเขียนโปรแกรมและการจัดการสถานะของ Compose และรันไทม์หลักของปลั๊กอิน Compose Compiler ที่จะกำหนดเป้าหมาย
compose.uiองค์ประกอบพื้นฐานของ UI การเขียนซึ่งจำเป็นต่อการโต้ตอบกับอุปกรณ์ ซึ่งรวมถึงเลย์เอาต์ การวาดภาพ และการป้อนข้อมูล

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

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

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

Groovy

dependencies {
    implementation "androidx.compose.material3:material3:1.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta05")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

ความคิดเห็น

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

สร้างรายการใหม่

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

เขียน Material3 เวอร์ชันทั่วไป 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 ได้

เขียน 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 แบบปรับอัตโนมัติของ 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

  • อัปเดตชื่อแพ็กเกจเป็นชุดการนำทางจากชุดการนำทาง (I7eff7)
  • คอมโพเนนต์ Material3 ที่แสดง MutableInteractionSource ใน API ได้รับการอัปเดตเพื่อแสดง MutableInteractionSource ที่เป็นค่าว่างซึ่งมีค่าเริ่มต้นเป็น Null ไม่มีการเปลี่ยนแปลงทางความหมายที่นี่: การส่งค่า Null หมายความว่าคุณไม่ต้องการรอน MutableInteractionSource และจะสร้างขึ้นภายในคอมโพเนนต์หากจำเป็น การเปลี่ยนเป็น Null จะทำให้คอมโพเนนต์บางรายการไม่จัดสรร MutableInteractionSource เลย และช่วยให้คอมโพเนนต์อื่นๆ สร้างอินสแตนซ์แบบ Lazy Loading ได้เมื่อจำเป็นเท่านั้น ซึ่งจะช่วยปรับปรุงประสิทธิภาพของคอมโพเนนต์เหล่านี้ หากคุณไม่ได้ใช้ MutableInteractionSource ที่คุณส่งไปยังคอมโพเนนต์เหล่านี้ ขอแนะนำให้คุณส่ง null แทน เราขอแนะนำให้คุณทำการเปลี่ยนแปลงที่คล้ายกันในคอมโพเนนต์ของคุณเองด้วย (I41abb, b/298048146)

เวอร์ชัน 1.0.0-alpha02

13 ธันวาคม 2023

ปล่อย androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 และ androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02 แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มปุ่ม "ไม่มี" NavigationSuiteType (If8cb1, b/313688598)

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

  • แก้ไขคอมโพเนนต์การนำทางแบบเต็มหน้าจอเมื่อพื้นผิวรากมี modifier.fillMaxSize (c9cf250, b/312664933)

เวอร์ชัน 1.0.0-alpha01

15 พฤศจิกายน 2023

ปล่อย androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01 แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

เขียน Material3 Adaptive Version 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

  • ย้ายคุณสมบัติขอบเขตของบานพับใน Posture ไปยังรายการข้อมูลบานพับแล้ว (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

  • Split 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:

เขียน Material3 เวอร์ชัน 1.3

เวอร์ชัน 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 แบบพุลเพื่อรีเฟรชเพื่อให้เปิดใช้เป็นบูลีน แทนที่จะเป็น lambda รองรับการตรวจสอบความสอดคล้องเนื้อหาใน 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 ที่อนุญาตให้จัดรูปแบบลิงก์เป็นพารามิเตอร์ไปยัง Text Composable แทน (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 เป็นค่าว่าง หากต้องการปิดใช้ Ripple แทนที่จะระบุ RippleConfiguration ด้วย isEnabled = false ให้ระบุ null ไปยัง LocalRippleConfiguration (I22725)
  • ModalBottomSheet สามารถวาดแถบสีคร่าวๆ บนแถบสถานะได้แม่นยำขึ้นเมื่อเปิดใช้ขอบถึงขอบ ขณะนี้เนื้อหา Bottom Sheet ของ Modal สามารถใช้ส่วนของหน้าต่างได้ ทำให้มองเห็นเนื้อหาได้เหนือแถบนำทาง พารามิเตอร์ 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 เพื่อให้รองรับ A11y ได้ดียิ่งขึ้น ควรใช้คำสั่งนี้แทนการส่ง focusable ไปยัง ExposedDropdownMenu ซึ่งตอนนี้เลิกใช้งานแล้ว menuAnchor มีพารามิเตอร์ใหม่สำหรับควบคุมสถานะ enabled (I55ee6, b/257209915, b/308840226)
  • แก้ไขสีเส้นขอบของ OutlinedButton เมื่อปิดใช้ เพิ่มโอเวอร์โหลด ButtonDefaults.outlinedButtonBorder("enabled") ที่เปลี่ยนสถานะเป็นเปิดใช้แล้ว (Ie650b, b/318461363)
  • เพิ่มคลาส CarouselItemInfo ใหม่เพื่อช่วยให้ลูกค้าได้รับข้อมูลเกี่ยวกับขนาดสินค้า (I9070C)
  • เลิกใช้งานตัวสร้าง ColorScheme ที่ไม่มีคอนเทนเนอร์แพลตฟอร์มแล้ว โปรดย้ายข้อมูลไปยังตัวสร้างที่มีคอนเทนเนอร์แพลตฟอร์ม (I35c11)
  • [Outline]ContainerBox ใน TextFieldDefaults เปลี่ยนชื่อเป็น Container (Ie8d3b)

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

  • BottomSheetScaffold จะไม่เลื่อนจากการเลื่อนที่ฝังไว้อีก หาก sheetSwipeEnabled มีค่าเป็น "เท็จ" (I5e1c1, b/306464779)
  • นำคำอธิบายประกอบการเลือกใช้ ExperimentalMaterial3Api บางรายการใน IconButtonSamples.kt ออกแล้ว (I111d1)

เวอร์ชัน 1.3.0-alpha04

3 เมษายน 2024

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

ฟีเจอร์ใหม่

  • เพิ่ม Material3 Carousel เวอร์ชันทดลอง 2 เวอร์ชัน - HorizontalMultiBrowseCarousel และ HorizontalUncontainedCarousel (I88d64)
  • อัปเดต Compose M3 Nav Drawer (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)
  • นำ enum และ API ของ DismissDirection และ DismissValue ที่เลิกใช้งานแล้วออก (I89ccd)
  • เพิ่มแท็กทดลองลงในออบเจ็กต์การแสดงร่วม CarouselState ของ Carousel (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)
  • เรียงลำดับพารามิเตอร์ใหม่ใน Composable ของแทร็กแถบเลื่อน (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 มีค่าอีกครั้ง กำลังรวม 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 รายการ ตอนนี้คอมโพเนนต์ที่คำนวณสีอย่างเป็นทางการด้วยพื้นผิวและ 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)
  • อัปเดตสีคอนเทนเนอร์ของชีตด้านล่างและสีแฮนเดิลสำหรับการลาก (I72a0a)
  • ตอนนี้สีคอนเทนเนอร์ RichTooltip คือ SurfaceContainer แล้ว (Ia8b45)
  • ตอนนี้สีคอนเทนเนอร์ SearchBar คือ SurfaceContainerHighest แล้ว SearchBarDefaults.TonalElevation เปลี่ยนชื่อเป็น 0.dp แล้ว (I88604)
  • ปิดใช้สวิตช์การอัปเดตและแทร็ก/ไอคอนที่ไม่ได้เลือกเพื่อใช้ประโยชน์จากบทบาทสีของ SurfaceContainerHighest (I7687a)
  • ตอนนี้สีคอนเทนเนอร์ AlertDialog คือ SurfaceContainerHigh แล้ว (Ie0433)
  • ตอนนี้สีคอนเทนเนอร์ BottomAppBar คือ SurfaceContainer แล้ว ตอนนี้สี TopAppBar onScroll เปลี่ยนเป็น SurfaceContainer แล้ว (I41630)
  • ตอนนี้สีคอนเทนเนอร์ ElevatedCard คือ SurfaceContainerLow แล้ว สีคอนเทนเนอร์ SurfaceContainerHighest ของ FilledCard (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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • อัปเดต Compose M3 ModalBottomSheet เพื่อรองรับการย้อนกลับแบบคาดการณ์ใน U+ (Iccf32, b/281967264, b/304850357)
  • อัปเดต Compose M3 SearchBar เพื่อรองรับการย้อนกลับแบบคาดการณ์บน U+ (I657f8)
  • แถบเลื่อนที่อัปเดตแล้วเพื่อปรับปรุงการช่วยเหลือพิเศษด้วยการเพิ่มสัญญาณบอกสถานะและช่องว่าง (I3058e)
  • อัปเดต ProgressIndicator เพื่อปรับปรุงการช่วยเหลือพิเศษด้วยการเพิ่มสัญญาณบอกสถานะและช่องว่าง (I21451)
  • การเพิ่มเคอร์เซอร์ข้อความเริ่มต้นสำหรับเคล็ดลับเครื่องมือริชมีเดีย ตอนนี้ API เคล็ดลับเครื่องมือริชมีเดียใหม่ช่วยให้สามารถวาดเครื่องหมาย Caret ที่กำหนดเองตามแท็ก Anchor LayoutCoordinates ได้ (Ifd42c)

การเปลี่ยนแปลงลักษณะการทำงาน

  • ย้ายคอมโพเนนต์เนื้อหาไปใช้ Ripple API ใหม่แล้ว และจะไม่ค้นหา RippleTheme อีกต่อไป

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

  • ความสนุกของ drawStopIndicator เป็นแบบสาธารณะแล้ว (I3f59f)
  • ทำเครื่องหมายฟังก์ชัน formatWithSkeleton ของ DatePicker เป็นฟังก์ชันภายใน (Ic65dc)
  • ตอนนี้ DropdownMenu รองรับสี รูปร่าง ระดับความสูง และเส้นขอบที่กำหนดเองแล้ว (I8e981, b/289554448, b/301887035, b/283654243)
  • คอมโพเนนต์ Material3 ที่แสดง MutableInteractionSource ใน API ได้รับการอัปเดตเพื่อแสดง MutableInteractionSource ที่เป็นค่าว่างซึ่งมีค่าเริ่มต้นเป็น null ไม่มีการเปลี่ยนแปลงทางความหมายที่นี่: การส่งค่า Null หมายความว่าคุณไม่ต้องการรอน MutableInteractionSource และจะสร้างขึ้นภายในคอมโพเนนต์หากจำเป็น การเปลี่ยนเป็น Null จะทำให้คอมโพเนนต์บางรายการไม่จัดสรร MutableInteractionSource เลย และช่วยให้คอมโพเนนต์อื่นๆ สร้างอินสแตนซ์แบบ Lazy Loading ได้เมื่อจำเป็นเท่านั้น ซึ่งจะช่วยปรับปรุงประสิทธิภาพของคอมโพเนนต์เหล่านี้ หากคุณไม่ได้ใช้ MutableInteractionSource ที่คุณส่งไปยังคอมโพเนนต์เหล่านี้ ขอแนะนำให้คุณส่ง null แทน เราขอแนะนำให้คุณทำการเปลี่ยนแปลงที่คล้ายกันในคอมโพเนนต์ของคุณเองด้วย (I41abb, b/298048146)
  • เพิ่ม RippleConfiguration และ LocalRippleConfiguration เพื่อให้สามารถปรับแต่ง Ripples แบบต่อคอมโพเนนต์ / แผนผังย่อยโดยใช้ค่าคงที่ เช่น ในการเปลี่ยนสีของคอมโพเนนต์ที่คุณไม่ได้ควบคุม หรือปิดใช้ระลอกคลื่นของคอมโพเนนต์ ในกรณีส่วนใหญ่ คุณควรใช้ค่าเริ่มต้น API เหล่านี้คือช่องทางลับสำหรับการปรับแต่งคอมโพเนนต์ / โครงสร้างย่อยที่จำกัด สำหรับการเปลี่ยนแปลงและระบบการออกแบบที่กำหนดเองในวงกว้าง คุณควรสร้างระลอกคลื่นของคุณเองโดยใช้ createRippleModifierNode (I7b5d6, b/298048146)
  • เพิ่ม Ripple API ใหม่ใน Material3 ซึ่งแทนที่ rememberRipple ที่เลิกใช้งานแล้ว และเพิ่ม CompositionLocal ชั่วคราว LocalUseFallbackRippleImplementation เพื่อเปลี่ยนคอมโพเนนต์ Material3 ไปใช้ API rememberRipple / RippleTheme ที่เลิกใช้งานแล้ว เราจะนำการตั้งค่านี้ออกในรุ่นที่มีความเสถียรรุ่นถัดไปและมีไว้เพื่อเป็นตัวช่วยในการย้ายข้อมูลชั่วคราวในกรณีที่คุณให้ RippleTheme ที่กำหนดเองเท่านั้น (I34cbc, b/298048146)

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

  • นำองค์ประกอบย่อยภายใน ModalBottomSheet ออกเพื่อปรับปรุงประสิทธิภาพ แก้ไขปัญหาที่ ModalBottomSheet อาจขัดข้องในบางสถานการณ์เมื่อใช้ร่วมกับ LookaheadScope (I2a198)
  • นำองค์ประกอบย่อยภายใน BottomSheetScaffold ออกเพื่อปรับปรุงประสิทธิภาพ แก้ไขปัญหาที่ BottomSheetScaffold จะขัดข้องในบางสถานการณ์เมื่อใช้ร่วมกับ LookaheadScope (Ie6401)
  • ระบบจะปรับการปรับแนวป้ายให้ใกล้กับกึ่งกลางของเนื้อหา Anchor มากขึ้นโดยอิงจากมุมขวาบน (I18a28)
  • แก้ไขปัญหาเกี่ยวกับ A11y ของ DateRangePicker ที่มีการสื่อชื่อข้อความเดือน-ปีว่าใช้งานจริงได้ในโปรแกรมอ่านหน้าจอ การเข้าถึงด้วยสวิตช์ และผู้ใช้ที่มีสิทธิ์เข้าถึงด้วยเสียง (I2ac55)
  • แก้ไขข้อบกพร่องของลำดับพารามิเตอร์ mediumTopAppBarColors (Ibe64a)

เวอร์ชัน 1.2

เวอร์ชัน 1.2.1

6 มีนาคม 2024

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

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

  • ทำให้สถานะของแถบเลื่อนยังคงเสถียรอีกครั้ง ทำให้ State.onValueChangeFinished มีค่าอีกครั้ง กำลังรวม 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 3 ใหม่

การปรับปรุงคอมโพเนนต์ดีไซน์ Material 3 ที่มีอยู่

โปรโมต API เวอร์ชันทดลองให้มีความเสถียรแล้ว

การปรับปรุงประสิทธิภาพ

เวอร์ชัน 1.2.0-rc01

24 มกราคม 2024

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

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

  • แก้ไขข้อบกพร่องของลำดับพารามิเตอร์ mediumTopAppBarColors (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

  • การเพิ่มความสามารถในการเปิดใช้ Caret เคล็ดลับเครื่องมือสำหรับ API แบบ Plain Tooltip (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)
  • เลิกใช้งาน API ของ DismissDirection และ DismissValue เหล่านี้ได้รวมกับ SwipeToDismissValue แล้ว ซึ่งมีค่าบ่งชี้ทั้งตำแหน่งและทิศทางของ SwipeToDismissBox ตอนนี้ทำเครื่องหมาย DismissState.progress เป็น FloatRange ระหว่าง 0.0 ถึง 1.0 แล้ว ระบบนำโปรแกรมประหยัดและเครื่องมือสร้างที่เลิกใช้งาน 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 เป็น lambda ต่อท้าย content (I7f4d3)
  • กำหนดให้เครื่องมือสร้างสำหรับ ChipElevation และ SelectableChipElevation เป็นแบบสาธารณะ (Ie0c48, b/308432421)
  • กำลังเพิ่ม ModalBottomSheetProperties กำลังย้าย securePolicy ไปยัง ModalBottomSheetProperties กำลังเพิ่ม isFocusable และ shouldDismissOnBackPress ไปยัง ModalBottomSheetProperties บูลีนใหม่เหล่านี้จะช่วยกำหนดวิธีที่ Bottom Sheet ของโมดัลควรจัดการกับเหตุการณ์ IME (Iea56f, b/278216859)
  • อัปเดตสถานะ RangeSlider และ Slider เพื่อนำ initialOnValueChange, คำนำหน้าเริ่มต้น และ kdocs ที่เหมาะสมออก (I57d30)
  • เลิกใช้งานคลาส ChipBorder และการเรียกใช้ฟังก์ชันที่เกี่ยวข้อง แนะนำให้ใช้ BorderStroke โดยตรงแทน (I89cc2)
  • ขณะนี้ API เคล็ดลับเครื่องมือพื้นฐานคือ @ExperimentalFoundationApi (I30b0b)
  • เราเลิกใช้งาน TabRow และ ScrollableTabRow แล้ว ตัวแปรหลักและรองใหม่จะถูกทำเครื่องหมายว่าเป็นเวอร์ชันทดลอง (I0def6)
  • ตอนนี้ตัวกรองและชิปอินพุตใช้ BorderStroke โดยตรง (I07a8d)
  • ตอนนี้ SegmentedButton ใช้ BorderStroke โดยตรง (I89b9b)
  • เปลี่ยนชื่อฟังก์ชัน AlertDialog ทั่วไปเป็น BasicAlertDialog และเลิกใช้งานฟังก์ชันก่อนหน้า (Idbe52)
  • เปลี่ยนชื่อ API ของ SwipeToDismiss เป็น SwipeDismiss และเลื่อนขั้น API ของ SwipeDismiss ใหม่ให้มีความเสถียร (I14cbe)
  • กำลังเพิ่ม tonalElevation และ shadowElevation ใน API เคล็ดลับเครื่องมือ อีกทั้งกำลังย้าย API ของ TooltipBox, PlainTooltip และ RichTooltip กลับไปยังเวอร์ชันทดลองเนื่องจากมีการเผยแพร่เป็น API เวอร์ชันเสถียรโดยไม่ได้ตั้งใจ (If0f66, b/293939035)
  • โปรโมต API ของชิปทดลองให้มีความเสถียร (Iea2c3)
  • นำคำอธิบายประกอบ @ExperimentalMaterial3Api ออกจากการ์ดที่คลิกได้ของ Material3 (I88dbf)

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

  • แก้ไขปัญหาที่ SwipeToDismiss ขัดข้องในบางสถานการณ์ที่มีเลย์เอาต์ Lookahead และ Lazy ที่ซ้อนกัน (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)
  • [ราง/แถบนำทาง] รองรับสีแบบโปร่งใสสำหรับสัญญาณบอกสถานะ (Ie0a9b, b/267289987)

เวอร์ชัน 1.2.0-alpha09

4 ตุลาคม 2023

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

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

  • ย้ายข้อมูล ModalNavigationDrawer และ DismissibleNavigationDrawer เพื่อใช้ API ใหม่ของ AnchoredDraggable แล้ว ระบบได้แทนที่ animateTo ของ DrawerState ด้วยวิธีการเปิดและปิด และตอนนี้ออฟเซ็ตจะแสดงเป็นแบบลอยแทนออบเจ็กต์สถานะ คุณจะเข้าถึงออฟเซ็ตได้โดยตรงผ่าน currentOffset (I0a72C)
  • มีการเพิ่มฟังก์ชันที่ประกอบไม่ได้เพื่อสร้าง DatePickerState และ DateRangePickerState โดยตรง ฟังก์ชันเหล่านี้สามารถใช้เป็นทางเลือกแทนฟังก์ชัน rememberDatePickerState และ rememberDateRangePickerState ที่ประกอบกันได้เมื่อต้องการ (I70326, b/291524052)
  • ตอนนี้ TabRows แบบแก้ไขและเลื่อนได้มีรูปแบบหลักและรองแล้ว ข้อมูลเหล่านี้จะจับคู่สีและลักษณะการทํางานของสัญญาณบอกสถานะตามที่กําหนดไว้ใน Material3 ได้อย่างถูกต้อง
  • ตอนนี้ PrimaryScrollableTabRow และ SecondaryScrollableTabRow แสดงสถานะการเลื่อนแล้ว (Iec8f5, b/260572337)
  • เพิ่มพารามิเตอร์ sheetMaxWidth ใหม่ที่นักพัฒนาแอปสามารถตั้งค่าเพื่อระบุความกว้างสูงสุดที่ชีตจะขยายได้ สามารถส่งค่า Dp.Unidentifier สำหรับพารามิเตอร์ได้หากต้องการชีตที่ครอบคลุมความกว้างหน้าจอทั้งหมด (Ifb7c9, b/266697696)
  • กำลังเพิ่ม API ของ PlainTooltipBox และ RichTooltipBox กลับเข้าไปเป็นวิธีการที่เลิกใช้งานแล้ว (I246fa)

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

  • แก้ไขข้อขัดข้องเมื่อ DatePicker เริ่มต้นด้วย DatePickerFormatter ซึ่งมีโครงกระดูกวันที่ยังคงเหมือนเดิมเมื่อแปลงเป็นรูปแบบวันที่ (เช่น YY) (I01F29)

เวอร์ชัน 1.2.0-alpha08

20 กันยายน 2023

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

การเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ

  • ขณะนี้ ColorScheme จะเปลี่ยนแปลงไม่ได้ ทำให้การอัปเดตสีแต่ละสีมีประสิทธิภาพน้อยลง แต่ทำให้การใช้งานสีโดยทั่วไปมีประสิทธิภาพมากขึ้น การเปลี่ยนแปลงนี้คือแอปส่วนใหญ่จะไม่อัปเดตสีแยกเป็นกรณีการใช้งานหลัก รูปแบบเช่นนี้ยังคงเป็นไปได้แต่จะมีการจัดโครงสร้างใหม่มากกว่าเดิม ซึ่งส่งผลให้เราลดจำนวนการสมัครใช้บริการของรัฐลงเป็นอย่างมากผ่าน Material Code ทั้งหมด และจะส่งผลต่อการเริ่มต้นและต้นทุนรันไทม์ของ Use Case มาตรฐานมากขึ้น (Ic447d, b/297212873)
  • ระดับความสูงของโทนไม่เคลื่อนไหวในสถานะการโต้ตอบต่างๆ เพื่อให้ตรงกับข้อกำหนดอีกต่อไป (Icdd12)

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

  • เพิ่ม BottomAppBar ใหม่ที่ใช้เป็นพารามิเตอร์ BottomAppBarScrollBehavior เพื่อซ่อนโดยอัตโนมัติเมื่อเลื่อนเนื้อหา และยังเพิ่ม FabPosition.EndOverlay เพื่อให้ FAB วางซ้อนแถบแอปด้านล่างในโครงข่ายแทนแบบยึดโยงที่ด้านบนได้ (Iecb47)
  • เพิ่มคอมโพเนนต์ป้ายกำกับอย่างง่ายที่สร้างที่ด้านบนของ BasicTooltipBox ซึ่งจะไม่ปิดเมื่อแตะนอกขอบเขตของป้ายกำกับ (I821f9)

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

  • นำการใช้ rememberSaveable สำหรับเคล็ดลับเครื่องมือออกแล้ว (Icc131, b/299500338)
  • เริ่มใช้ Flag ชั่วคราวเพื่อควบคุมว่า Scaffold ควรวัดเด็กๆ ระหว่างการวัดหรือในระหว่างการวาง โดยค่าเริ่มต้น พารามิเตอร์นี้จะวัดผลในการวัด หากคุณพบปัญหาเกี่ยวกับลักษณะการทำงานแบบใหม่ โปรดแจ้งปัญหา (I0b354)
  • แก้ไขขอบแนวนอนเป็น Edge ใน 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)
  • อัปเดต formatWithSkeleton ของ DatePicker ให้รวมแผนที่ที่ใช้เป็นแคชเพื่อปรับปรุงประสิทธิภาพ (I3195f)
  • เพิ่ม BasicTooltipBox ใน compose.foundation และอัปเดต PlainTooltipBox และ RichTooltipBox เพื่อใช้ TooltipBox กับ Composable ของ 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • API ปุ่มที่แบ่งกลุ่มรุ่นทดลอง (Ifc8fb)
  • ตอนนี้ตัวแบ่งมีพารามิเตอร์เพื่อควบคุมการวางแนวเพื่อรองรับตัวแบ่งแนวตั้งแล้ว (I4c899, b/288438593)

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

  • เรากำลังย้ายทรัพยากร Dependency ของความหนาแน่นไปยังระดับคอมโพเนนต์ ซึ่งจะมีผลกับคอมโพเนนต์ต่อไปนี้ SwipeToDismiss และคอมโพเนนต์ตามชีต โปรดใช้โอเวอร์โหลดใหม่ที่ระบุเมื่อมีความหนาแน่นเป็นพารามิเตอร์ (I1846e)
  • คำอธิบายประกอบเพิ่มเติมเพื่อระบุอินพุตที่อนุญาตสำหรับ Composable (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)
  • เพิ่มพารามิเตอร์ที่โฟกัสได้ลงใน API เคล็ดลับเครื่องมือทั้งสอง เพื่อให้เคล็ดลับเครื่องมือใช้เหตุการณ์การแตะหรือไม่ก็ได้ โปรดระวังว่าการดำเนินการนี้อาจทำให้การข้ามผ่านอัตโนมัติของโฟกัสการช่วยเหลือพิเศษเสียหาย (Ie32d8)
  • การช่วยเหลือพิเศษที่เพิ่มประสิทธิภาพเพื่อประสิทธิภาพและการจัดสรรหน่วยความจำ (Iede48)
  • แสดง DefaultSizeClasses และสร้าง StandardSizeClasses สำหรับ WindowSizeClasses (I91838)
  • เปลี่ยน WindowWidth/HeightSizeClass เป็นคลาสค่าทศนิยม (Ie686e)

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

  • ตอนนี้พารามิเตอร์ contentWindowInsets ของ Scaffold เป็นไปตามส่วนของหน้าต่างที่ใช้งานแล้ว โปรดทราบว่าลักษณะการทำงานของระยะห่างจากขอบของเนื้อหาที่อิงตาม topBar และ bottomBar จะยังคงไม่เปลี่ยนแปลงเมื่อมีการระบุพารามิเตอร์เหล่านี้ (I08b73, b/264601542)
  • แก้ไขการปรับแนวแถบแอปตรงกลางด้านบนเพื่อไม่ให้ระบบแสดงชื่อเต็มเหนือไอคอนการดำเนินการหรือไอคอนการนำทาง (I4369f, b/236994621)
  • ตอนนี้ตำแหน่งแท็บบังคับใช้ความกว้างของเนื้อหาขั้นต่ำที่ 24.dp ซึ่งจะให้เป้าหมายการสัมผัสที่เข้าถึงได้สำหรับสัญญาณบอกสถานะแท็บ (รหัส 8861)
  • ตอนนี้ชุดสีแบบไดนามิกจาก dynamicLightColorScheme และ dynamicDarkColorScheme รองรับบทบาทใหม่ของแพลตฟอร์มแล้ว (I1252e)
  • อัปเดตการปรับแนวการแจ้งเตือนป้ายไม่ให้ตัดออกเมื่อชนกับทวด (Idf75a)

เวอร์ชัน 1.2.0-alpha02

24 พฤษภาคม 2023

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

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

  • เพิ่มพารามิเตอร์ส่วนหน้าต่างลงใน ModalBottomSheet
    • ระบบอาจวาด Scrim สำหรับ ModalBottomSheet หลังแถบสถานะโดยตั้งค่า windowInsets เป็น 0
    • อัปเดตฟังก์ชันการทำงานเริ่มต้นของ ModalBottomSheet เพื่อให้อยู่นอกแถบระบบ รวมถึงการนำทาง
    • การจัดการแถบแสดงสถานะได้มาจากแฮนเดิลการลากในโหมดขอบถึงขอบ
    • BottomSheetDefaults รวมช่วงหน้าต่างสำหรับ BottomSheetWindow (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/165})
  • เลิกใช้งาน 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 (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 มีคอมมิตเหล่านี้

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

  • ตัวแก้ไขที่แก้ไขแล้วมีการส่งผ่านไปยัง Composable 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
    • ระบบอาจวาด Scrim สำหรับ ModalBottomSheet หลังแถบสถานะโดยตั้งค่า windowInsets เป็น 0
    • อัปเดตฟังก์ชันการทำงานเริ่มต้นของ ModalBottomSheet เพื่อให้อยู่นอกแถบระบบ รวมถึงการนำทาง
    • การจัดการแถบแสดงสถานะได้มาจากแฮนเดิลการลากในโหมดขอบถึงขอบ
    • BottomSheetDefaults รวมช่วงหน้าต่างสำหรับ BottomSheetWindow (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/165})

เวอร์ชัน 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 3 ใหม่

การปรับปรุงคอมโพเนนต์ดีไซน์ Material 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 มี Anchor ที่ซ่อนที่กำหนดไว้แล้ว แม้ว่าจะปิดใช้โดยค่าเริ่มต้น
  • อัปเดตเอกสาร 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

  • เพิ่มพารามิเตอร์ประเภทเลย์เอาต์ไปยัง Composable ของ TimePicker ทำให้สามารถใช้การจัดวางได้หลายแบบตามการกำหนดค่าหน้าจอ (Ia0e16)
  • ทำเครื่องหมาย SearchBarDefaults ว่าเป็นเวอร์ชันทดลองแล้ว (I65561)
  • เพิ่มระดับความสูงของเงาใน BottomSheetScaffold (I94e0f) แล้ว
  • เพิ่มการรองรับการแสดงเครื่องมือเลือกวันที่โดยไม่มีส่วนส่วนหัว การเปลี่ยนแปลง API เพื่อให้ส่งบรรทัดแรกที่เป็นค่าว่างได้เมื่อสร้างเครื่องมือเลือกวันที่ คุณสามารถส่งบรรทัดแรก ชื่อ และ showToggleMode = false แบบ Null เพื่อแสดงเครื่องมือเลือกแบบไม่มีส่วนหัวได้แล้ว (Id3f3a, b/266132421, b/267194809)

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

  • ตอนนี้แถบค้นหาจะล้างโฟกัสโดยอัตโนมัติเมื่อไม่มีการใช้งาน (I22a7c, b/261444487)
  • อัปเดต DateRangePicker เพื่ออนุญาตให้เลือกช่วงวันที่ที่มีวันเริ่มต้นและสิ้นสุดเดียวกันได้ (I16529, b/272882497)
  • ตอนนี้ช่องข้อความจะจัดตำแหน่งองค์ประกอบข้อความอย่างเหมาะสมเมื่อขนาดแบบอักษรเล็กกว่าที่คาดไว้ ซึ่งอาจทำให้พิกเซลในแอปมีการเปลี่ยนแปลงเล็กน้อยตามการตั้งค่าแบบอักษรและสคริปต์ (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 ตอนนี้ Getter เริ่มต้นจะเป็น ReadOnlyComposables เมื่อมีความเกี่ยวข้อง (I69a25)
  • เปลี่ยน 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม Composable ของอินพุตเวลาที่ใช้งานได้กับ rememberTimePickerState() ซึ่งเป็นไปตามข้อมูลจำเพาะของ M3 สำหรับการป้อนเวลา (Ia4fab)
  • เพิ่ม Material 3 DateRangePicker API สำหรับการเลือกช่วงวันที่ (I7a6c3, b/267194809)
  • เพิ่มการรองรับโหมดป้อนข้อมูล Material 3 สำหรับการเลือกช่วงวันที่ผ่าน DateRangePicker API (Ifdbc4)
  • ตอนนี้คุณสามารถปรับแต่งสีช่องข้อความได้
    • ช่องป้อนข้อมูลและสีข้อความของตัวยึดตำแหน่งตามสถานะโฟกัสและข้อผิดพลาด พารามิเตอร์ textColor เปลี่ยนชื่อเป็น unfocusedTextColor และ placeholderColor เปลี่ยนชื่อเป็น unfocusedPlaceholderColor แล้ว
    • สีของคอนเทนเนอร์สำหรับฟิลด์ข้อความที่เติมตามสถานะข้อผิดพลาดที่มีพารามิเตอร์ errorContainerColor ใหม่
  • ระบบได้อัปเดตสีช่องข้อความของเมนูแบบเลื่อนลงที่ปรากฏด้วยพารามิเตอร์เพื่อรองรับ API คำนำหน้าและคำต่อท้ายใหม่ (I9c8b4, b/254284181, b/264766350)

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

  • การเปลี่ยนกลับ Slider API บางเวอร์ชันและนำโอเวอร์โหลดที่ซ้ำซ้อนซึ่งครอบคลุมโดย Slider เวอร์ชันทดลองใหม่ที่มีนิ้วโป้งและแทร็กที่กำหนดเอง กำลังเลื่อนระดับ RangeSlider ให้มีความเสถียร (Ie8fbd)
  • เปลี่ยนชื่อ defaultElevation เป็น elevation ในฟังก์ชันระดับความสูงของชิปแล้ว (I0f872)
  • API ช่องข้อความ Material 3 ต่อไปนี้ไม่ได้อยู่ในการทดลองอีกต่อไป: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding และ outlinedTextFieldPadding (Ieb5c0, b/261561819)
  • TimePickers is24Hour ใช้การตั้งค่าระบบ (I18856)
  • ลบหมายเหตุการทดลองออกจาก Scaffold API แล้ว (Ibb51e, b/261565765, b/261436953)

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

  • ขณะนี้รูปร่างเริ่มต้น ModalBottomSheet จะเป็น SheetDefaults.ExpandedShape เสมอ (I0dfca)
  • ปรับปรุงการเข้าถึงสำหรับ Material 3 DatePicker และ DateRangePicker (I5087e)
  • แก้ไขข้อบกพร่องที่มีการถ่ายทอดข้อจำกัดด้านความสูงสูงสุดและอาจขัดข้อง (I30d8c)
  • นำบทบาททางความหมายออกจากแพลตฟอร์มที่คลิกได้และเลือกได้ คอมโพเนนต์ที่อัปเดตซึ่งใช้บทบาทเหล่านี้ในการกำหนดบทบาทโดยใช้ตัวแก้ไขสัญลักษณ์ (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)
  • การใช้ Bottom Sheet โมดัลสำหรับ Material 3 รวมถึง ModalBottomSheet และ ModalBottomSheetDefaults พร้อมทั้งแนะนำ SheetState และ rememberSheetState ซึ่งสามารถนำไปใช้สำหรับคอมโพเนนต์ของชีตในอนาคต (I0853a, b/244189383)

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

  • ปรับ API ให้คงที่ showSnackbar (I195c2, b/261424370)
  • ปรับ API ให้คงที่สำหรับชิปช่วยเหลือและชิปคำแนะนำ (Ibb67b, b/261424370)
  • โปรโมต API ของ ListItem, ListItemDefaults และ ListItemColors เป็น API ที่ไม่ได้ทดลอง (I7e7fa, b/261438882)
  • กำลังเลื่อนระดับ SliderPositions, SliderDefaults.Thumb และ SliderDefaults.Track ไปยังเวอร์ชันเสถียรและเพิ่ม API ของ Slider และ RangeSlider ที่ไม่ใช่เวอร์ชันทดลอง ซึ่งมีไอคอนนิ้วโป้งและแทร็กที่กำหนดเอง รวมถึงจะเลิกใช้งาน API ของ Slider และ RangeSlider ก่อนหน้านี้ (Ie5ea6, b/261566890)
  • เผยแพร่ Modifier.tooltipAnchor() แบบสาธารณะเพื่อให้นักพัฒนาซอฟต์แวร์ส่งผ่าน Anchor ไปยัง Anchor เพื่อระบุว่าควรแสดงเคล็ดลับเครื่องมือเมื่อกดค้าง อัปเดต PlainTooltipBox API ให้ไม่ทำให้ TooltipState เป็นค่าว่างอีกต่อไปและตอนนี้มีค่าเริ่มต้นแล้ว (Ie2fb7)
  • ทำเครื่องหมาย ProgressIndicatorDefaults.circularTrackColor เป็น @Composable เพื่อความสอดคล้อง (รหัส 29cc)
  • กู้คืนพร็อพเพอร์ตี้ 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 แล้ว

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • API เริ่มต้นของ DatePicker สำหรับการเลือกวันที่เดียวผ่าน UI ของปฏิทิน API นี้อยู่ระหว่างการเปลี่ยนแปลง (I722b9)
  • เพิ่มการรองรับเคล็ดลับเครื่องมือธรรมดาผ่าน PlainTooltipBox (I0cdfb)
  • แถบค้นหา (Iad128)
  • SwipeToDismiss (I458a8, b/242889540)

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

  • เพิ่มในพร็อพเพอร์ตี้ความหมาย IsContainer ใน Surfaces แล้ว ระบบจะใช้พร็อพเพอร์ตี้นี้ในการเปลี่ยนแปลงในภายหลังซึ่งจะกำหนดลำดับการส่งผ่านตามความหมายเชิงอรรถศาสตร์ขององค์ประกอบต่างๆ เช่น พื้นผิว (I63379)
  • ทำเครื่องหมาย API ที่เกี่ยวข้องกับลิ้นชักการนำทางว่าเสถียร (Iab01e, b/261439597)
  • เพิ่มพารามิเตอร์สีแทร็กสำหรับสัญญาณบอกสถานะความคืบหน้าแบบวงกลม และพารามิเตอร์ขีดสูงสุดสำหรับสัญญาณบอกสถานะความคืบหน้าทั้งแบบวงกลมและเชิงเส้น (Ie668c, b/216325962, b/222964817)
  • ประเภทการแสดงผลเพิ่มเติมของฟังก์ชันที่ซ่อนซึ่งเลิกใช้งานแล้ว (Ibf7b0)
  • เพิ่ม Modifier.minimumInteractiveComponentSize โดยอาจใช้เพื่อสงวนขนาดอย่างน้อย 48.dp เพื่อไม่ให้เกิดความสับสนในการโต้ตอบด้วยการสัมผัสหากองค์ประกอบนั้นจะมีขนาดเล็กลง (I33f58, b/258495559)
  • เพิ่ม API ทดลองสำหรับ Composable ของ 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 ไม่ให้เลื่อน Ripples อย่างถูกต้องเมื่อใช้ภายใน Scrollable ViewGroup
  • ลิ้นชักและชีตที่อัปเดตใหม่เพื่อให้หน่วงเวลาการกดได้อย่างถูกต้องในกรณีที่ท่าทางสัมผัสอาจกลายเป็นเหตุการณ์การเลื่อน

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ Compose UI และ Compose Material ต้องใช้วงจร 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 ในวัสดุและ Material3 Text, TextField และ OutlinedTextField ซึ่งอนุญาตให้ตั้งค่าความสูงขั้นต่ำของคอมโพเนนต์เป็นจํานวนบรรทัด (I4af1d)
  • เลิกใช้งานฟังก์ชัน TopAppBarDefaults smallTopAppBarColors เพื่อใช้ฟังก์ชัน topAppBarColors ใหม่ที่ควรใช้เมื่อสร้าง TopAppBar (Ie6cb9)
  • เพิ่มพารามิเตอร์ minLines ใน BasicText และ BasicTextField วิธีนี้ช่วยตั้งค่าความสูงขั้นต่ำของ Composable เหล่านี้ในแง่ของ จำนวนสาย (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 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() ที่ควรส่งไปยังช่องข้อความเพื่อลักษณะการทำงานที่ถูกต้อง (I27fa3)
  • เพิ่มวิธีการ 2 รายการที่โอเวอร์โหลดสำหรับ Slider API ปัจจุบันเพื่ออนุญาตให้ผู้ใช้ส่งผ่านนิ้วโป้งหรือแทร็กเพื่อเติมแถบเลื่อน (I21c00)

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

  • อัปเดตการจับคู่สีธีมสีเข้มสำหรับ "คอนเทนเนอร์ข้อผิดพลาด" เป็นโทนสี 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 ของเนื้อหาทดลอง และแนะนำฟังก์ชัน TopAppBar ที่เทียบเท่า โปรดย้ายข้อมูล ไปเป็นรายการใหม่ (I74404, b/226918634)
  • เพิ่มการควบคุมลักษณะการปัดและสแนปแถบแอปด้านบน (I15C81)
  • นำ startIndent ออกจากเส้นแบ่ง ย้ายสีไปที่พารามิเตอร์สุดท้าย (If7be2)

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

  • ให้กล่องโต้ตอบระบุตัวตนของผู้ใช้เพื่อตอบกลับผู้ใช้โดยการประกาศคำว่า Dialog เมื่อปรากฏขึ้น (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

หากต้องการดูธีมล่าสุด คอมโพเนนต์ และ Composable อื่นๆ ที่พร้อมใช้งาน โปรดดูภาพรวมข้อมูลอ้างอิง API ของ Compose Material 3

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

  • อัปเดตแถบแอป Material 3 ด้านบนให้ยุบอย่างสมบูรณ์เป็นสถานะขยายแบบเต็ม นอกจากนี้ ได้อัปเดตฟังก์ชันลักษณะการทำงานของ TopAppBarDefaults เป็น Composable และระบุค่าเริ่มต้นสำหรับสถานะของแถบแอปด้านบนและข้อกำหนดของภาพเคลื่อนไหว (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)
  • เรียงลำดับพารามิเตอร์แถบเลื่อนในสื่อการเรียนการสอนของชั้นเรียน 3 ใหม่เพื่อรักษาความสอดคล้องกันภายใน API (I0aee7)
  • เรียงลำดับพารามิเตอร์ NavigationBar และ NavigationRail ใหม่เพื่อรักษาความสอดคล้องกันภายใน API (I51cda)
  • เรียงลำดับพารามิเตอร์ใน Material 3 ใหม่เพื่อคงความสอดคล้องกันของ API (If4ae1)
  • เรียงลำดับพารามิเตอร์แถบเลื่อนในสื่อการเรียนการสอนของชั้นเรียน 3 ใหม่เพื่อรักษาความสอดคล้องกันภายใน API (I62673)
  • เปลี่ยนชื่อพารามิเตอร์ไอคอนเป็นการดำเนินการเพื่อให้สอดคล้องกับแถบแอปด้านบนแล้ว (Id75be)
  • ทําเครื่องหมาย Badge และ BadgedBox ว่าเป็นการทดสอบเนื่องจากการจัดแนวแท็ก Anchor ยังคงมีอยู่ (I1712e, b/236524516)
  • เปลี่ยนคำอธิบายประกอบ @ExperimentalMaterial3Api บนตัวแปรของปุ่มไอคอนเป็น @OptIn (I070b5)
  • แยกเนื้อหาของลิ้นชักการนำทางเป็น Composable ที่รองรับการระบุความกว้างที่กำหนดเอง (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)
  • เพิ่มบทบาทสีของตัวแปร Scrim และ Outline (Id6d54)
  • แก้ไขแบบแผนการตั้งชื่อสำหรับค่าเริ่มต้นแบบ Composable (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

  • เปลี่ยนชื่อพารามิเตอร์จากค่าเป็นค่าใน RangeSlider (I3b79a)
  • การเปลี่ยนแปลง API สำหรับการใช้งาน InputChip เพื่อรองรับสถานะที่เลือกได้ตามข้อกำหนดของดีไซน์ Material การสนับสนุนเพิ่มเติมที่สี FilterChip สำหรับสถานะปิดใช้ที่เลือก (I55244, b/235792432)
  • เพิ่ม FAB เริ่มต้น BottomAppBar (Ida4c8)
  • เพิ่ม ColorScheme.surfaceColorAtElevation แล้ว (Id41af)
  • ตอนนี้อินเทอร์เฟซในไลบรารีการเขียนสร้างโดยใช้ jdk8 แล้ว เมธอดอินเทอร์เฟซเริ่มต้น (I5bcf1)
  • ขณะนี้ WindowWidthSizeClass และ WindowHeightSizeClass ใช้ "เปรียบเทียบได้" แล้ว เพื่อให้เปรียบเทียบได้โดยใช้โอเปอเรเตอร์ (<, <=, >=, >) และ 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 ใน Material 3 (I18e38) แล้ว
  • เพิ่มการรองรับ Material3 AssistChip และ InputChip (I0d25a)
  • เพิ่มการสนับสนุน Material3 FilterChip และ SuggestionChip (I9fdf3)

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

  • เปลี่ยนชื่อ TextFieldDefaults.BorderStroke Composable ที่วาดเส้นขอบใน OutlinedTextField เป็น TextFieldDefaults.BorderBox (I5F295)
  • เปลี่ยนการเปลี่ยนแปลงการมองเห็น m3 (Iab30e)
  • อนุญาตให้ส่งผ่านสีไปยังปุ่มไอคอนมาตรฐาน (Ia2445)

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

  • เพิ่มการตรวจสอบเศษส่วนบน 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)
  • เราเลิกใช้งานการใช้งานบางส่วน (ลดลง OR) แล้วใน PointerInputChange คุณใช้ consume() เพื่อทำการเปลี่ยนแปลงได้ทั้งหมด คุณสามารถใช้ isConsumed เพื่อดูว่าคนอื่นได้ใช้การเปลี่ยนแปลงก่อนหน้านี้หรือไม่
  • ตอนนี้ PointerInputChange::copy() จะทําสําเนาแบบตื้นเสมอ ซึ่งหมายความว่าระบบจะใช้สำเนาของ PointerInputChange เมื่อเลือกใช้สำเนา 1 ชุด หากต้องการสร้าง PointerInputChange ที่ไม่มีการเชื่อมโยง ให้ใช้ตัวสร้างแทน (Ie6be4, b/225669674)
  • การเปลี่ยนแปลง Cards API เพื่อรับสีของคอนเทนเนอร์และเนื้อหาผ่านอินเทอร์เฟซ CardColors และเพื่อรองรับสถานะปิดใช้ การ์ดที่คลิกได้ (I927df)
  • เปลี่ยนชื่อพารามิเตอร์ backgroundColor containerColor ในช่องข้อความ Material 3 แล้วเพื่อให้สอดคล้องกับคอมโพเนนต์อื่นๆ มากขึ้น (I6fbd9)

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

  • การอัปเดต IconButton มาตรฐานเพื่อให้สอดคล้องกับข้อมูลจำเพาะของ Material3 (I09eab)
  • เลื่อนความสูงแถบด้านบนของ Material3 Scaffold ไปยังระยะห่างจากขอบของเนื้อหาซึ่งจะช่วยให้เนื้อหาแสดงผลใต้แถบแอปด้านบน หากละเว้น 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 และรูปร่างแล้ว (I37426)
  • เพิ่มพารามิเตอร์แบบขยายใน ExtendedFloatingActionButton เพื่อควบคุมว่าจะให้ FAB ขยายหรือยุบโดยมีภาพเคลื่อนไหวระหว่างแต่ละสถานะ เพิ่มการโอเวอร์โหลด FAB แบบขยายสำหรับ FAB แบบขยายที่มีข้อความต่อท้ายสำหรับ ExtendedFAB ที่ไม่มีไอคอน (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 ที่นำกลับมาใช้ มีฟังก์ชันมากเกินไปสำหรับ Surfaces ที่สามารถคลิกได้ รวมถึงการเพิ่ม เพื่อรองรับแพลตฟอร์มที่เลือกและสลับได้ (I4bf18)
  • ขณะนี้ LazyVerticalGrid และ LazyHorizontalGrid มีความเสถียรแล้ว (I307c0)
  • ย้าย LazyVerticalGrid/LazyHorizontalGrid และ API ที่เกี่ยวข้องทั้งหมดไปยังแพ็กเกจย่อย .grid แล้ว โปรดอัปเดตการนําเข้าจาก androidx.compose.foundation.lazy เป็น androidx.compose.foundation.lazy.grid (I2d446)
  • ยกเลิกการเปลี่ยนแปลงก่อนหน้านี้ที่ใช้ข้อมูลพร็อพเพอร์ตี้เพียงอย่างเดียวสำหรับ WindowInsetsControllerCompat และอีกครั้งต้องการหน้าต่างซึ่ง ซึ่งจำเป็นสำหรับการจัดการแฟล็กหน้าต่างบางรายการ เลิกใช้งาน ViewCompat.getWindowInsetsController เพื่อ WindowCompat.getInsetsController เพื่อให้แน่ใจว่ากรอบเวลาที่ถูกต้อง (เช่น หากมุมมองอยู่ในกล่องโต้ตอบ) (I660ae, b/219572936)
  • เพิ่ม API ของ LazyVerticalGrid ใหม่เพื่อกำหนดขนาดของแกนไขว้ (I17723)

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

  • การอัปเดต Card API เพื่อติดตามการเปลี่ยนแปลงที่แพลตฟอร์ม 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 Slider (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 3 แล้ว

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

  • ฟังก์ชัน Surface ที่เลิกใช้งานแล้วที่ใช้ onClick Callback แพลตฟอร์มที่คลิกได้ควรสร้างด้วย InteractionSource และ Modifier.clickable() (I211c6)
  • เพิ่มการรองรับระดับความสูงที่กดและโฟกัสสำหรับ FAB (Ibb584)
  • เปลี่ยน Surface API เพื่อรับ InteractionSource ซึ่งอนุญาตแล้ว ควบคุมลักษณะที่ปรากฏในสถานะต่างๆ (Iafbc8)

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

  • เพิ่มสีที่ 3 ที่ขาดหายไปในรูปแบบสีแบบไดนามิก (I456c4, b/214588434)

เวอร์ชัน 1.0.0-alpha04

26 มกราคม 2022

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

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

  • เพิ่ม NonRestartableComposable ในเมธอดที่โอเวอร์โหลด ที่มีอยู่โดยไม่มีตรรกะที่ซับซ้อน วิธีนี้ช่วยลดคอมไพเลอร์ การตรวจสอบบันทึกที่สร้างขึ้น (เท่ากับ) สำหรับพารามิเตอร์ทั้งหมดที่ เกิดขึ้นซ้ำๆ ในฟังก์ชันภายในที่ถูกเรียก (I90490)
  • เพิ่มตัวแบ่ง Material 3 แล้ว (Ica5fc)
  • ทำเครื่องหมายช่องทำเครื่องหมายและ RadioButton ด้วย 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 ของ Material 3 (I7ce4e)
  • แก้ไขรัศมีของมุมที่ใช้กับช่องทำเครื่องหมาย (I38b03, b/175198975, b/202309440)

การอัปเดตการขึ้นต่อกัน

  • ตอนนี้ขึ้นอยู่กับ 1.6.10 ของ Kotlin

เวอร์ชัน 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)
  • เพิ่มการสนับสนุน Material 3 Checkbox (รหัส 5542)
  • เพิ่มการสนับสนุน Material 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 3

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