ภาพเคลื่อนไหวของ Compose
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(ดูเอกสารข้อมูลอ้างอิง API สำหรับแพ็กเกจ Compose ทั้งหมด)
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
---|---|---|---|---|
2 กรกฎาคม 2025 | 1.8.3 | - | 1.9.0-beta02 | - |
โครงสร้าง
Compose คือการรวมรหัสกลุ่ม 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 | องค์ประกอบพื้นฐานของ Compose UI ที่จำเป็นต่อการโต้ตอบกับอุปกรณ์ ซึ่งรวมถึงเลย์เอาต์ การวาด และอินพุต |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Compose คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูลของคุณ
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.8.3" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.8.3") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์
ความคิดเห็น
ความคิดเห็นของคุณจะช่วยให้ Jetpack ทำงานได้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.9
เวอร์ชัน 1.9.0-beta02
2 กรกฎาคม 2025
androidx.compose.animation:animation-*:1.9.0-beta02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.9.0-beta02 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.9.0-beta01
18 มิถุนายน 2025
androidx.compose.animation:animation-*:1.9.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.9.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.9.0-alpha04
4 มิถุนายน 2025
androidx.compose.animation:animation-*:1.9.0-alpha04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.9.0-alpha04 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.9.0-alpha03
20 พฤษภาคม 2025
androidx.compose.animation:animation-*:1.9.0-alpha03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.9.0-alpha03 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.9.0-alpha02
7 พฤษภาคม 2025
androidx.compose.animation:animation-*:1.9.0-alpha02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.9.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- ปรับปรุงการรองรับการเลื่อนหรือการลากในองค์ประกอบที่แชร์ให้ดีขึ้นมาก กล่าวอย่างเจาะจงคือ เมื่อเลื่อนองค์ประกอบแบบใช้ร่วมกันที่กำลังเปลี่ยนผ่าน ระบบจะใช้เดลต้าการเลื่อนกับองค์ประกอบแบบใช้ร่วมกันโดยตรง แทนที่จะทำให้องค์ประกอบแบบใช้ร่วมกันติดตามเป้าหมายใหม่ (cacf7b)
เวอร์ชัน 1.9.0-alpha01
23 เมษายน 2025
androidx.compose.animation:animation-*:1.9.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.9.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงลักษณะการทำงาน
- การตรวจสอบ Lint ที่มาพร้อมกับ Compose ต้องใช้ AGP เวอร์ชัน 8.8.2 เป็นอย่างน้อย หากอัปเกรด AGP ไม่ได้ คุณสามารถอัปเกรด Lint ด้วยตนเองได้โดยใช้
android.experimental.lint.version=8.8.2
(หรือเวอร์ชันที่ใหม่กว่า) ในgradle.properties
หากต้องการเรียกใช้การตรวจสอบ Lint ของ Compose ภายใน IDE คุณต้องใช้ Android Studio Ladybug หรือใหม่กว่า
ฟีเจอร์ใหม่
- ปรับปรุงประสิทธิภาพการเลื่อนสำหรับองค์ประกอบที่แชร์ (ea4f1f)
การเปลี่ยนแปลง API
- โปรเจ็กต์ที่เผยแพร่ด้วย Kotlin 2.0 ต้องใช้ KGP 2.0.0 ขึ้นไป (Idb6b5)
- เราเลิกใช้งาน
TabRow
และScrollableTabRow
แล้วเพื่อเปลี่ยนไปใช้ตัวแปรหลักและรองของแต่ละรายการแทน แถวแท็บหลักและแท็บรองมีประสิทธิภาพมากขึ้นและเป็นไปตามข้อกำหนดอย่างแม่นยำ (I918e2) - เพิ่ม
LocalResources
องค์ประกอบที่อยู่ใกล้กับทรัพยากรของคำค้นหา การเรียกใช้LocalResources.current
จะจัดองค์ประกอบใหม่เมื่อการกำหนดค่าเปลี่ยนแปลง ดังนั้นการเรียกใช้ API เช่นstringResource()
จะแสดงค่าที่อัปเดตแล้ว (I50c13, b/274786917)
การแก้ไขข้อบกพร่อง
- ตรวจสอบว่าระบบนำองค์ประกอบที่แชร์ออกจากภาพซ้อนทับเมื่อการเปลี่ยนฉากเสร็จสิ้น (35f359)
- กำจัดการจัดองค์ประกอบใหม่ที่ไม่จำเป็นในทรานซิชัน (988923)
- แก้ไขการจัดการการหยุดชะงักของการเปลี่ยนฉากของวิดีโอสำหรับเด็ก (8aed52)
- ตรวจสอบว่าได้รีเซ็ตการเปลี่ยนเมื่อมีการระบุ
TransitionState
ใหม่ (57820a)
การมีส่วนร่วมภายนอก
- จาก Compose
1.8.1
: End animations inSeekableTransitionState
if already past new duration โดย Steven Schoen (0c832c)
เวอร์ชัน 1.8
เวอร์ชัน 1.8.3
18 มิถุนายน 2025
androidx.compose.animation:animation-*:1.8.3
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.3 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.2
20 พฤษภาคม 2025
androidx.compose.animation:animation-*:1.8.2
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.2 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.1
7 พฤษภาคม 2025
androidx.compose.animation:animation-*:1.8.1
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.1 มีการเปลี่ยนแปลงเหล่านี้
การมีส่วนร่วมภายนอก
- สิ้นสุดภาพเคลื่อนไหวใน
SeekableTransitionState
หากเลยระยะเวลาใหม่ไปแล้ว ขอขอบคุณ Steven Schoen (fbcdf7)
เวอร์ชัน 1.8.0
23 เมษายน 2025
androidx.compose.animation:animation-*:1.8.0
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.7.0
- การเปลี่ยนแปลงที่สำคัญในเวอร์ชัน 1.8.0 จะกล่าวถึงใน บล็อกโพสต์นี้
Modifier.animateBounds
API ใหม่สำหรับการเปลี่ยนภาพขนาดและตำแหน่งภายในขอบเขตการคาดการณ์ (94b939)- API สุดท้ายสำหรับคีย์เฟรมที่มีส่วนโค้งและสปไลน์ (89e119)
- รองรับการคาดคะเนใน
LazyGrid
และ Pager ซึ่งรวมถึงการแยกความแตกต่างระหว่างการส่งบอลล่วงหน้ากับการส่งบอลเข้าหาในขณะเลื่อน การจัดวาง/การทิ้งไอเทม และการเคลื่อนไหวของไอเทม รวมถึงใช้การส่งบอลล่วงหน้าเป็นแหล่งข้อมูลที่เชื่อถือได้สำหรับการเลื่อนและเป้าหมายการเคลื่อนไหวของไอเทม - อัปเดตการตั้งชื่อพารามิเตอร์
sharedElement
จากสถานะเป็นsharedContentState
เพื่อให้สอดคล้องกันใน API ขององค์ประกอบที่ใช้ร่วมกัน (9e7df5) AnimatedImageVector
ชุด API พร้อมใช้งานแล้ว(69d7e0)
เวอร์ชัน 1.8.0-rc03
9 เมษายน 2025
androidx.compose.animation:animation-*:1.8.0-rc03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-rc03 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.0-rc02
26 มีนาคม 2025
androidx.compose.animation:animation-*:1.8.0-rc02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-rc02 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.0-rc01
12 มีนาคม 2025
androidx.compose.animation:animation-*:1.8.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-rc01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- มีการทำเครื่องหมายการเปลี่ยนฉากย่อยที่แก้ไขแล้วว่าถูกขัดจังหวะอย่างไม่ถูกต้อง (3fa2ce)
เวอร์ชัน 1.8.0-beta03
26 กุมภาพันธ์ 2025
androidx.compose.animation:animation-*:1.8.0-beta03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-beta03 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.0-beta02
12 กุมภาพันธ์ 2025
androidx.compose.animation:animation-*:1.8.0-beta02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-beta02 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.0-เบต้า01
29 มกราคม 2025
androidx.compose.animation:animation-*:1.8.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.0-alpha08
15 มกราคม 2025
androidx.compose.animation:animation-*:1.8.0-alpha08
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha08 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขภาพเคลื่อนไหวตำแหน่งที่ไม่ถูกต้องจาก
animateBounds
ในLazyGrid
เนื่องจากมีการรีเซ็ตMotionFrameOfReferencePlacement
(16193b) - แก้ไขการค้นหาโดยธรรมชาติใน
SharedTransitionLayout
โดยเปลี่ยนเส้นทางการค้นหาโดยธรรมชาติไปยังการส่งผ่านการคาดคะเนจากรูทการคาดคะเนระดับบนสุด (a07d12) - เพิ่มแท็ก
@param
ที่ขาดหายไปในเอกสารแล้ว (e5cf67)
เวอร์ชัน 1.8.0-alpha07
11 ธันวาคม 2024
androidx.compose.animation:animation-*:1.8.0-alpha07
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha07 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับการมองไปข้างหน้าใน Pager โดยแยกการมองไปข้างหน้าจากการมองไปข้างหน้าเพื่อการเข้าถึงเพื่อเก็บรายการและใช้การเลื่อน (b/371802474)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องที่พบได้ยากซึ่งเกิดขึ้นเมื่อมีการสร้างองค์ประกอบที่แชร์แต่ไม่เคยมีการวัด/วาง โดยกำหนดให้องค์ประกอบที่แชร์แสดงผลในตำแหน่งอย่างน้อย 1 ครั้งก่อนที่จะแสดงผลในภาพซ้อนทับ (b/371802474)
เวอร์ชัน 1.8.0-alpha06
13 พฤศจิกายน 2024
androidx.compose.animation:animation-*:1.8.0-alpha06
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- อัปเดตการตั้งชื่อพารามิเตอร์
sharedElement
จากstate
เป็นsharedContentState
เพื่อให้สอดคล้องกันใน API ขององค์ประกอบที่ใช้ร่วมกัน (I5694c, b/375351468) - ตอนนี้ชุด API ของ
AnimatedImageVector
มีความเสถียรแล้ว (I7174b, b/261436267)
เวอร์ชัน 1.8.0-alpha05
30 ตุลาคม 2024
androidx.compose.animation:animation-*:1.8.0-alpha05
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้
LazyGrid
รองรับฟีเจอร์การคาดการณ์แล้ว ซึ่งรวมถึงการแยกความแตกต่างระหว่างการส่งบอลล่วงหน้ากับการส่งบอลเข้าหาในขณะเลื่อน การจัดวาง/การทิ้งไอเทม และการเคลื่อนไหวของไอเทม รวมถึงใช้การส่งบอลล่วงหน้าเป็นแหล่งข้อมูลที่เชื่อถือได้สำหรับการเลื่อนและเป้าหมายการเคลื่อนไหวของไอเทม
การแก้ไขข้อบกพร่อง
- อัปเดตสถานะภายในสำหรับการเปลี่ยนขนาดของ
AnimatedContent
เมื่อสร้างการเปลี่ยนอีกครั้ง วิธีนี้จะช่วยให้มั่นใจได้ว่าข้อมูลขนาดเป้าหมายจะเป็นข้อมูลล่าสุดอยู่เสมอ (b/372512085)
เวอร์ชัน 1.8.0-alpha04
16 ตุลาคม 2024
androidx.compose.animation:animation-*:1.8.0-alpha04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha04 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่ทำให้เส้นโค้งการเปลี่ยนภาพบางเส้นขัดข้องเมื่อถึงเศษส่วนเวลาที่กำหนด
- แก้ไขข้อบกพร่องที่ทำให้
Modifier.animateContentSize
จัดแนวไม่ถูกต้องภายใต้ RTL (Idae6b, b/372055503)
เวอร์ชัน 1.8.0-alpha03
2 ตุลาคม 2024
androidx.compose.animation:animation-*:1.8.0-alpha03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha03 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- อัปเดต Kotlin เป็นเวอร์ชัน 1.9 (I1a14c)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาใน
AnimatedContent
ภาพเคลื่อนไหวขนาดโดยการติดตามและเริ่มภาพเคลื่อนไหวจากขนาดปัจจุบันเสมอเพื่อให้มั่นใจว่าภาพเคลื่อนไหวจะต่อเนื่อง
เวอร์ชัน 1.8.0-alpha02
18 กันยายน 2024
androidx.compose.animation:animation-*:1.8.0-alpha02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.8.0-alpha01
4 กันยายน 2024
androidx.compose.animation:animation-*:1.8.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.8.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
Modifier.animateBounds
API ใหม่สำหรับการเปลี่ยนภาพขนาดและตำแหน่งภายในขอบเขตการคาดการณ์ 94b9394
การเปลี่ยนแปลง API
- นำ Flag การทดสอบในคีย์เฟรมที่มีส่วนโค้งและสปไลน์ออก (89e1199)
การแก้ไขข้อบกพร่อง
- ข้ามตรรกะ
placeHolderSize
เมื่อไม่พบรายการที่ตรงกัน (77c0160) - จำกัดเวลาเล่นใน
AndroidFlingSpline
เพื่อป้องกันไม่ให้เกิดข้อขัดข้องเนื่องจากเวลาเล่นเพิ่มขึ้นแบบไม่สม่ำเสมอ(9d47587) - แก้ไขปัญหาที่
SharedTransitionScope
ไม่วาดรายการในบางเงื่อนไข (b41077b6)
การมีส่วนร่วมภายนอก
- ป้องกันการตั้งค่าการเปลี่ยนฉากที่เลื่อนได้
playTime
เมื่อไม่มีการเปลี่ยนฉากโดย Steven Schoen (c2e6e7e6)
เวอร์ชัน 1.7
เวอร์ชัน 1.7.8
12 กุมภาพันธ์ 2025
androidx.compose.animation:animation-*:1.7.8
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.8 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.7
29 มกราคม 2025
androidx.compose.animation:animation-*:1.7.7
ได้รับการเผยแพร่แล้ว ไม่มีการเปลี่ยนแปลงจาก 1.7.6
11 ธันวาคม 2024
androidx.compose.animation:animation-*:1.7.6
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.6 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.5
30 ตุลาคม 2024
androidx.compose.animation:animation-*:1.7.5
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.5 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่ทำให้
Modifier.animateContentSize
จัดแนวไม่ถูกต้องภายใต้ RTL (Idae6b, b/372055503)
เวอร์ชัน 1.7.4
16 ตุลาคม 2024
androidx.compose.animation:animation-*:1.7.4
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.4 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.3
2 ตุลาคม 2024
androidx.compose.animation:animation-*:1.7.3
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.3 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.2
18 กันยายน 2024
androidx.compose.animation:animation-*:1.7.2
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.2 มีการเปลี่ยนแปลงเหล่านี้
การมีส่วนร่วมภายนอก
- ป้องกันการตั้งค่าการเปลี่ยนฉากที่เลื่อนได้
playTime
เมื่อไม่มีการเปลี่ยนฉากที่ทำงานอยู่ ขอขอบคุณ Steven Schoen (c2e6e7e6)
เวอร์ชัน 1.7.1
10 กันยายน 2024
- ไม่มีการเปลี่ยนแปลงอาร์ติแฟกต์ Android ระบบได้นำอาร์ติแฟกต์
-desktop
รายการออกแล้ว และเพิ่มอาร์ติแฟกต์-jvmStubs
และ-linuxx64Stubs
รายการ เป้าหมายเหล่านี้ไม่มีไว้ให้ใช้งาน แต่เป็นตัวยึดตำแหน่งเพื่อช่วยให้ Jetbrains Compose ทำงานได้
เวอร์ชัน 1.7.0
4 กันยายน 2024
androidx.compose.animation:animation-*:1.7.0
ได้รับการเผยแพร่แล้ว
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.6.0
การเปลี่ยนแปลงที่สำคัญในเวอร์ชัน 1.7.0 จะกล่าวถึงในบล็อกโพสต์นี้
API การเปลี่ยนภาพองค์ประกอบที่ใช้ร่วมกันใหม่
- API การเปลี่ยนภาพองค์ประกอบแบบใช้ร่วมกันใหม่พร้อมให้คุณใช้งานและแสดงความคิดเห็นแล้ว API ทดลองใหม่เหล่านี้ช่วยให้ติดแท็กเลย์เอาต์เป็นแบบแชร์ในโครงสร้างเลย์เอาต์ได้โดยใช้ตัวแก้ไขที่ให้ไว้ ซึ่งจะสร้างขอบเขตที่เปลี่ยนแปลงได้อย่างราบรื่นเมื่อเนื้อหาที่แชร์ชุดหนึ่งออกไปและอีกชุดหนึ่งเข้ามา (Icb0b9)
scaleInSharedContentToBounds
และscaleOutSharedContentToBounds
ใหม่เพื่อขยายขนาดเนื้อหาในsharedBounds
(I731c1)- ตอนนี้
SharedTransitionScope
เวอร์ชันทดลองเป็นอินเทอร์เฟซแล้ว ไม่ใช่คลาส (Iaf856) resizeModes
ใหม่ (ScaleToBounds
และRemeasureToBounds
) สำหรับsharedBounds
เพื่อเลือกระหว่างการปรับขนาดและการวัดซ้ำ ตอนนี้เราเลิกใช้งานscaleIn/OutSharedContentToBounds
API เวอร์ชันก่อนหน้าแล้ว (I0d41a)
การปรับปรุง API ที่มีอยู่
Modifier.animateContentSize
ใหม่ที่ใช้พารามิเตอร์เพิ่มเติมสำหรับการจัดแนวเนื้อหาที่กำหนดเอง (I5623a, b/269803907)DeferredTargetAnimation
ใหม่สำหรับการสร้างภาพเคลื่อนไหวของขนาด ตำแหน่ง หรือเป้าหมายอื่นๆ ที่ไม่รู้จักในระหว่างการเริ่มต้น (I60745)SeekableTransitionState
แทนที่snapTo()
ด้วยseekTo()
และเพิ่มsnapTo()
ที่เปลี่ยนสถานะเป็นสถานะปลายทางทันทีโดยไม่มีภาพเคลื่อนไหวใดๆ- ตอนนี้คุณส่งค่า
periodicBias
(Float) ไปยังkeyframesWithSpline
ได้แล้ว ซึ่งจะทำให้ความเร็วเริ่มต้นและความเร็วสุดท้ายของสปริงเท่ากัน มีประโยชน์สำหรับภาพเคลื่อนไหวที่ทำซ้ำได้โดยใช้สปไลน์ อคติจะระบุว่าความเร็วแต่ละค่า (เริ่มต้นและสุดท้าย) ได้รับการแก้ไขมากน้อยเพียงใดเพื่อให้เกิดความสม่ำเสมอ (Ic1e6c, b/292114811)
API ต่อไปนี้มีสถานะเป็นแบบเสถียรหรือถูกนำออกแล้ว
- ตอนนี้
AnimatedVisibilityScope.transition
เป็น API ที่เสถียรแล้ว นอกจากนี้ เรายังทำให้Modifier.animateEnterExit(..)
เสถียรขึ้นด้วย (I6c1d1) ApproachLayoutModifierNode
และModifier.approachLayout
ตอนนี้เสถียรแล้ว โดยมีisMeasurementApproachInProgress()
และisPlacementApproachInProgress()
ใหม่มาแทนที่isMeasurementApproachComplete()
และisPlacementApproachComplete()
เก่าตามลำดับ- นำตัวแก้ไข
intermediateLayout
ที่เลิกใช้งานแล้วออก (I3e91c) LookaheadScope
API มีความเสถียรแล้ว (I21507)
เวอร์ชัน 1.7.0-rc01
21 สิงหาคม 2024
androidx.compose.animation:animation-*:1.7.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-rc01 มีการคอมมิตเหล่านี้
เวอร์ชัน 1.7.0-beta07
7 สิงหาคม 2024
androidx.compose.animation:animation-*:1.7.0-beta07
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-beta07 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
SharedTransitionScope
ไม่วาดรายการซ้อนทับระหว่างการเปลี่ยนในบางเงื่อนไข ซึ่งโดยปกติจะรวมถึงการใช้งานกับการนำทาง (Id65ab, b/347520198)
เวอร์ชัน 1.7.0-beta06
24 กรกฎาคม 2024
androidx.compose.animation:animation-*:1.7.0-beta06
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-beta06 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
SeekableTransition
แสดงสถานะการเปลี่ยนโดยการล้างข้อมูลการสังเกตจากSnapshotStateObserver
อย่างถูกต้องเมื่อมีการทิ้งการเปลี่ยน (b9c7182) - แก้ไขกรณีขอบที่ระบบไม่ได้ทำเครื่องหมายการเปลี่ยนฉากขององค์ประกอบย่อยว่าเสร็จสมบูรณ์อย่างถูกต้องเมื่อองค์ประกอบหลักเสร็จสมบูรณ์ (dc42216)
เวอร์ชัน 1.7.0-beta05
10 กรกฎาคม 2024
androidx.compose.animation:animation-*:1.7.0-beta05
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-beta05 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้อ่านพร็อพเพอร์ตี้การเปลี่ยน
totalDurationNanos
ภายในsnapshotFlow
ได้อย่างถูกต้องแล้ว
เวอร์ชัน 1.7.0-beta04
26 มิถุนายน 2024
androidx.compose.animation:animation-*:1.7.0-beta04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-beta04 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.0-beta03
12 มิถุนายน 2024
androidx.compose.animation:animation-*:1.7.0-beta03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-beta03 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.0-beta02
29 พฤษภาคม 2024
androidx.compose.animation:animation-*:1.7.0-beta02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-beta02 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.7.0-beta01
14 พฤษภาคม 2024
androidx.compose.animation:animation-*:1.7.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-beta01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
resizeModes
ใหม่ (ScaleToBounds
และRemeasureToBounds
) สำหรับsharedBounds
เพื่อเลือกระหว่างการปรับขนาดและการวัดซ้ำ ตอนนี้เราเลิกใช้งานscaleIn/OutSharedContentToBounds
API เวอร์ชันก่อนหน้าแล้ว (I0d41a)
การมีส่วนร่วมภายนอก
- ตอนนี้ Experimental
SharedTransitionScope
เป็นอินเทอร์เฟซแทนที่จะเป็นคลาสโดย Steven Schoen (Iaf856, b/338415048, b/338414702)
เวอร์ชัน 1.7.0-alpha08
1 พฤษภาคม 2024
androidx.compose.animation:animation-*:1.7.0-alpha08
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha08 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
LookaheadScope
API มีความเสถียรแล้ว (I21507)
การมีส่วนร่วมภายนอก
- ล้างเวลาภาพเคลื่อนไหวเริ่มต้นหลังจาก
SeekableTransitionState
เคลื่อนไหว/สแนปโดย Steven Schoen (1ca89529)
เวอร์ชัน 1.7.0-alpha07
17 เมษายน 2024
androidx.compose.animation:animation-*:1.7.0-alpha07
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha07 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- API การเปลี่ยนภาพองค์ประกอบแบบใช้ร่วมกันใหม่พร้อมให้คุณใช้งานและแสดงความคิดเห็นแล้ว API ทดลองใหม่เหล่านี้ช่วยให้ติดแท็กเลย์เอาต์เป็นแบบแชร์ในโครงสร้างเลย์เอาต์ได้โดยใช้ตัวแก้ไขที่ให้ไว้ ซึ่งจะสร้างขอบเขตที่เปลี่ยนแปลงได้อย่างราบรื่นเมื่อเนื้อหาที่แชร์ชุดหนึ่งออกไปและอีกชุดหนึ่งเข้ามา (Icb0b9)
scaleInSharedContentToBounds
และscaleOutSharedContentToBounds
ใหม่เพื่อขยายขนาดเนื้อหาในsharedBounds
(I731c1)
การเปลี่ยนแปลง API
- ตอนนี้
AnimatedVisibilityScope.transition
เป็น API ที่เสถียรแล้ว นอกจากนี้ เรายังทำให้Modifier.animateEnterExit(..)
เสถียรขึ้นด้วย (I6c1d1) ApproachLayoutModifierNode
และModifier.approachLayout
ตอนนี้เสถียรแล้ว โดยมีisMeasurementApproachInProgress()
และisPlacementApproachInProgress()
ใหม่มาแทนที่isMeasurementApproachComplete()
และisPlacementApproachComplete()
เก่าตามลำดับ- นำตัวแก้ไข
intermediateLayout
ที่เลิกใช้งานแล้วออก (I3e91c) - ตอนนี้คุณส่งค่า
periodicBias
(Float) ไปยังkeyframesWithSpline
ได้แล้ว ซึ่งจะทำให้ความเร็วเริ่มต้นและความเร็วสุดท้ายของสปริงเท่ากัน มีประโยชน์สำหรับภาพเคลื่อนไหวที่ทำซ้ำได้โดยใช้สปไลน์ อคติจะระบุว่าความเร็วแต่ละค่า (เริ่มต้นและสุดท้าย) ได้รับการแก้ไขมากน้อยเพียงใดเพื่อให้เกิดความสม่ำเสมอ (Ic1e6c, b/292114811)
การแก้ไขข้อบกพร่อง
- แก้ไขเส้นโค้งการชะลอความเร็วที่ยิงเกินและยิงไม่ถึงซึ่งก่อนหน้านี้จะถูกจำกัดไว้ที่ 0..1 (I38747)
เวอร์ชัน 1.7.0-alpha06
3 เมษายน 2024
androidx.compose.animation:animation-*:1.7.0-alpha06
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha06 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับภาพเคลื่อนไหวการปรากฏและหายไปของรายการใน
LazyColumn
และLazyRow
ก่อนหน้านี้ คุณสามารถเพิ่มModifier.animateItemPlacement()
ตัวแก้ไขเพื่อรองรับภาพเคลื่อนไหวของตำแหน่ง (การเรียงลำดับใหม่) เราได้เลิกใช้งานตัวแก้ไขนี้และเปิดตัวตัวแก้ไขใหม่ที่ไม่ใช่เวอร์ชันทดลองที่เรียกว่าModifier.animateItem()
ซึ่งช่วยให้คุณรองรับภาพเคลื่อนไหวทั้ง 3 ประเภท ได้แก่ การปรากฏ (จางเข้า) การหายไป (จางออก) และการจัดลำดับใหม่ (I2d7f7, b/330152398, b/150812265)
การแก้ไขข้อบกพร่อง
- ปรับปรุงประสิทธิภาพของ
updateTransition
API
เวอร์ชัน 1.7.0-alpha05
20 มีนาคม 2024
androidx.compose.animation:animation-*:1.7.0-alpha05
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
SeekableTransitionState
แทนที่snapTo()
ด้วยseekTo()
และเพิ่มsnapTo()
ที่เปลี่ยนสถานะเป็นสถานะปลายทางทันทีโดยไม่มีภาพเคลื่อนไหวใดๆ
เวอร์ชัน 1.7.0-alpha04
6 มีนาคม 2024
androidx.compose.animation:animation-*:1.7.0-alpha04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha04 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- API ใหม่
Path.reverse()
เพื่อย้อนกลับทิศทางของเส้นทาง (I36348)
เวอร์ชัน 1.7.0-alpha03
21 กุมภาพันธ์ 2024
androidx.compose.animation:animation-*:1.7.0-alpha03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha03 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
Modifier.animateContentSize
ใหม่ที่ใช้พารามิเตอร์เพิ่มเติมสำหรับการจัดแนวเนื้อหาที่กำหนดเอง (I5623a, b/269803907)DeferredTargetAnimation
ใหม่สำหรับการสร้างภาพเคลื่อนไหวของขนาด ตำแหน่ง หรือเป้าหมายอื่นๆ ที่ไม่รู้จักในระหว่างการเริ่มต้น (I60745)
เวอร์ชัน 1.7.0-alpha02
7 กุมภาพันธ์ 2024
androidx.compose.animation:animation-*:1.7.0-alpha02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขความเข้ากันได้สำหรับ
KeyframesSpec
(I2bdf3, b/322214617) - แก้ไขปัญหาที่
Modifier.animateContentSize
ไม่รีเซ็ตอย่างถูกต้องเมื่อใช้ในLazyList
(I070512, b/322525716) - แก้ไข
IllegalStateException
ในKeyframesSpec
เมื่อใช้การประทับเวลาที่อยู่นอกช่วง (I341b8, b/322839811)
เวอร์ชัน 1.7.0-alpha01
24 มกราคม 2024
androidx.compose.animation:animation-*:1.7.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.7.0-alpha01 มีคอมมิตต่อไปนี้
เวอร์ชัน 1.6
เวอร์ชัน 1.6.8
12 มิถุนายน 2024
androidx.compose.animation:animation-*:1.6.8
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.8 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.6.7
1 พฤษภาคม 2024
androidx.compose.animation:animation-*:1.6.7
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.7 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.6.6
17 เมษายน 2024
androidx.compose.animation:animation-*:1.6.6
ได้รับการเผยแพร่แล้ว ไม่มีการเปลี่ยนแปลงตั้งแต่รุ่นก่อนหน้า
เวอร์ชัน 1.6.5
3 เมษายน 2024
androidx.compose.animation:animation-*:1.6.5
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.5 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.6.4
20 มีนาคม 2024
androidx.compose.animation:animation-*:1.6.4
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.4 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.6.3
6 มีนาคม 2024
androidx.compose.animation:animation-*:1.6.3
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.3 มีการคอมมิตเหล่านี้
เวอร์ชัน 1.6.2
21 กุมภาพันธ์ 2024
androidx.compose.animation:animation-*:1.6.2
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.2 มีคอมมิตเหล่านี้
เวอร์ชัน 1.6.1
7 กุมภาพันธ์ 2024
androidx.compose.animation:animation-*:1.6.1
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขความเข้ากันได้สำหรับ
KeyframesSpec
(I2bdf3, b/322214617)
เวอร์ชัน 1.6.0
24 มกราคม 2024
androidx.compose.animation:animation-*:1.6.0
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0 มีคอมมิตเหล่านี้
เวอร์ชัน 1.6.0-rc01
10 มกราคม 2024
androidx.compose.animation:animation-*:1.6.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-rc01 มีคอมมิตต่อไปนี้
เวอร์ชัน 1.6.0-beta03
13 ธันวาคม 2023
androidx.compose.animation:animation-*:1.6.0-beta03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-beta03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำ
scaleInToFitContainer
และscaleOutToFitContainer
ออกจากAnimatedContentTransitionScope
ชั่วคราวเนื่องจากต้องใช้การคาดการณ์ล่วงหน้า โดยจะพร้อมใช้งานเมื่อเปิดใช้การคาดการณ์ล่วงหน้าโดยค่าเริ่มต้นหรือเลือกใช้ในรุ่นต่อๆ ไป
เวอร์ชัน 1.6.0-beta02
29 พฤศจิกายน 2023
androidx.compose.animation:animation-*:1.6.0-beta02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-beta02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.6.0-beta01
15 พฤศจิกายน 2023
androidx.compose.animation:animation-*:1.6.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
ExitTransition.Hold
ได้เปลี่ยนชื่อเป็นExitTransition.KeepUntilTransitionsFinished
เพื่อให้ชัดเจนยิ่งขึ้น (I1c490)- ตอนนี้คุณใช้
keyframesWithSpline
เพื่อประมาณค่า N มิติได้แล้วโดยใช้สไปลน์แบบโมโนโทน ซึ่งมีประโยชน์อย่างยิ่งในการประมาณค่าตำแหน่ง เช่นOffset
,IntOffset
,DpOffset
เพิ่มเป็น API การทดสอบ
การแก้ไขข้อบกพร่อง
- เพิ่มการรองรับโปรแกรมแสดงผลสำหรับ Sweep Gradient ใน
ArcLine
(I4d5bb) - ใช้ equals และ hashcode สำหรับ
PageSize.Fixed
(Ie3ede, b/300134276) - แก้ไขปัญหาความเข้ากันได้ของไบนารีกับการเปลี่ยนแปลง Window Inset (Iee695)
- นำเลเยอร์หลักของ Material ออกสำหรับชิป/ปุ่ม Material3 เนื่องจาก Microbenchmark แสดงให้เห็นว่าไม่มีเลเยอร์ดังกล่าวแล้วประสิทธิภาพจะดีกว่า (I55555)
เวอร์ชัน 1.6.0-alpha08
18 ตุลาคม 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha08 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เลิกใช้งาน
KeyframesSpecConfig#with
เพื่อให้KeyframesSpecConfig#using
ยังคงรูปแบบ Builder ไว้ (I1d769)
เวอร์ชัน 1.6.0-alpha07
4 ตุลาคม 2023
androidx.compose.animation:animation-*:1.6.0-alpha07
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha07 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- ตอนนี้แถวแท็บแบบคงที่และแบบเลื่อนได้มีตัวแปรหลักและตัวแปรรองแล้ว ซึ่งจะแมปกับลักษณะการทำงานของสีและตัวบ่งชี้อย่างถูกต้องตามที่กำหนดไว้ใน Material3
PrimaryScrollableTabRow
และSecondaryScrollableTabRow
จะแสดงสถานะการเลื่อนแล้ว (Iec8f5, b/260572337)
เวอร์ชัน 1.6.0-alpha06
20 กันยายน 2023
androidx.compose.animation:animation-*:1.6.0-alpha06
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha06 มีคอมมิตเหล่านี้
เวอร์ชัน 1.6.0-alpha05
6 กันยายน 2023
androidx.compose.animation:animation-*:1.6.0-alpha05
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha05 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
PathEasing
เพื่อให้ระบุเส้นทางที่กำหนดเองไปยังเส้นโค้งการเปลี่ยนภาพได้ (Idb4b9)
เวอร์ชัน 1.6.0-alpha04
23 สิงหาคม 2023
androidx.compose.animation:animation-*:1.6.0-alpha04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha04 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
SeekableTransitionState
เพื่อให้นักพัฒนาแอปควบคุมความคืบหน้าของการเปลี่ยนผ่านได้ (I8e69d)
เวอร์ชัน 1.6.0-alpha03
9 สิงหาคม 2023
androidx.compose.animation:animation-*:1.6.0-alpha03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha03 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- การเปลี่ยนฉากเข้า/ออกประเภทใหม่ที่ปรับขนาดเนื้อหาตามขนาดของคอนเทนเนอร์ที่เคลื่อนไหวระหว่างภาพเคลื่อนไหวเข้าและออก
LookaheadScope
ตอนนี้ฟีเจอร์สนุกๆ และอินเทอร์เฟซที่ประกอบได้ก็เสถียรแล้ว (Ifb2ce)
เวอร์ชัน 1.6.0-alpha02
26 กรกฎาคม 2023
androidx.compose.animation:animation-*:1.6.0-alpha02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
ExitTransition.Hold
ใหม่เพื่อแสดงเนื้อหาขาออกในAnimatedContent
จนกว่าการเปลี่ยนทั้งเข้าและออกจะเสร็จสิ้น (I5984f)- คำอธิบายประกอบเพิ่มเติมเพื่อระบุอินพุตที่อนุญาตไปยัง Composable (I51109)
เวอร์ชัน 1.6.0-alpha01
21 มิถุนายน 2023
androidx.compose.animation:animation-*:1.6.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เปิดใช้
Modifier.animateContentSize
และAnimatedVisibility
เพื่อผสานรวมเข้ากับระบบการคาดการณ์อย่างเต็มรูปแบบโดยการรายงานขนาดเป้าหมายในพาสการคาดการณ์
การเปลี่ยนแปลง API
- พร็อพเพอร์ตี้ใหม่ใน
IntrinsincMeasureScope
และการติดตั้งใช้งาน (เช่นMeasureScope
) เพื่อระบุว่าการวัดปัจจุบันเป็นการส่งบอลล่วงหน้าหรือไม่ (I7a812)
การแก้ไขข้อบกพร่อง
- นำการจัดสรรออกจากภาพเคลื่อนไหวสปริง (Ie9431)
- เปลี่ยนชื่อพารามิเตอร์ค่าสำหรับ Enum.valueOf (Ia9b89)
- ข้อยกเว้นที่เกิดขึ้นเพิ่มเติมจาก enum valueOf (I818fe)
รุ่น 1.5
เวอร์ชัน 1.5.4
18 ตุลาคม 2023
androidx.compose.animation:animation-*:1.5.4
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.4 มีคอมมิตเหล่านี้
เวอร์ชัน 1.5.3
4 ตุลาคม 2023
androidx.compose.animation:animation-*:1.5.3
ได้รับการเผยแพร่แล้ว เวอร์ชันนี้ไม่มีการเปลี่ยนแปลง
รุ่น 1.5.2
27 กันยายน 2023
androidx.compose.animation:animation-*:1.5.2
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.2 มีคอมมิตเหล่านี้
รุ่น 1.5.1
6 กันยายน 2023
androidx.compose.foundation:foundation-*:1.5.1
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขช่องข้อความที่แสดงแป้นพิมพ์และแก้ไขได้เมื่อ
readOnly
เป็นจริง นอกจากนี้ ยังแก้ไขปัญหาที่แป้นพิมพ์ไม่แสดงเมื่อเปลี่ยนreadOnly
จากจริงเป็นเท็จขณะโฟกัส (I34a19, b/246909589)
รุ่น 1.5.1
6 กันยายน 2023
androidx.compose.animation:animation-*:1.5.1
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.1 มีคอมมิตเหล่านี้
เวอร์ชัน 1.5.0
9 สิงหาคม 2023
androidx.compose.animation:animation-*:1.5.0
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0 มีคอมมิตเหล่านี้
เวอร์ชัน 1.5.0-rc01
26 กรกฎาคม 2023
androidx.compose.animation:animation-*:1.5.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-rc01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
แก้ไขปัญหาที่การเรียกใช้
.value
ในประเภทสถานะดั้งเดิม (เช่นMutableIntState
) จะรายงานคำเตือนของ Lint พร้อมการแก้ไขที่ไม่ถูกต้อง ตอนนี้การตรวจสอบจะแนะนำให้ย้ายข้อมูลไปยังพร็อพเพอร์ตี้ที่ถูกต้อง (Iba953, b/287279257)คุณสามารถเลือกตรวจสอบเพื่อแนะนำให้ย้ายข้อมูลการเรียก
mutableStateOf()
ไปยังประเภทเฉพาะทางที่เกี่ยวข้องสำหรับ Primitive ได้ รหัส Lint คือAutoboxingStateCreation
ก่อนหน้านี้ การตรวจสอบนี้จะเปิดใช้โดยค่าเริ่มต้นสำหรับทุกโปรเจ็กต์ หากต้องการดูคำเตือนนี้ในเอดิเตอร์ของ Android Studio และเอาต์พุต Lint ของโปรเจ็กต์ ให้เปลี่ยนระดับความรุนแรงจากข้อมูลเป็นคำเตือน (หรือสูงกว่า) โดยประกาศwarning "AutoboxingStateCreation"
ภายในbuild.gradle
หรือการกำหนดค่าbuild.gradle.kts
ของโมดูลตามที่แสดง (I34f7e)android { lint { warning "AutoboxingStateCreation" } ... }
เวอร์ชัน 1.5.0-beta03
28 มิถุนายน 2023
androidx.compose.animation:animation-*:1.5.0-beta03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta03 มีคอมมิตเหล่านี้
เวอร์ชัน 1.5.0-beta02
7 มิถุนายน 2023
androidx.compose.animation:animation-*:1.5.0-beta02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.5.0-beta01
24 พฤษภาคม 2023
androidx.compose.animation:animation-*:1.5.0-beta01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำการจัดสรรในการจัดองค์ประกอบใหม่ ภาพเคลื่อนไหวสี และ
AndroidComposeView
(Ib2bfa) ออกแล้ว
การแก้ไขข้อบกพร่อง
- นำการจัดสรรออกจากภาพเคลื่อนไหวสปริง (Ie9431)
เวอร์ชัน 1.5.0-alpha04
10 พฤษภาคม 2023
androidx.compose.animation:animation-*:1.5.0-alpha04
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha04 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
ContentKey
รองรับในAnimatedContent
แล้วเพื่อให้ควบคุมได้มากขึ้นเมื่อควรเปลี่ยน (Ic069b)
เวอร์ชัน 1.5.0-alpha03
19 เมษายน 2023
androidx.compose.animation:animation-*:1.5.0-alpha03
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha03 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- ลักษณะการทำงานเริ่มต้นใหม่สำหรับ
SubcomposeLayout
ในLookaheadScope
ซึ่งจะช่วยให้SubcomposeLayouts
ที่ไม่มีช่องแบบมีเงื่อนไข (เช่นTabRow
,Scaffold
,BoxWithConstraints
ฯลฯ) ทำงานร่วมกับภาพเคลื่อนไหวแบบคาดการณ์ล่วงหน้าได้อย่างราบรื่น
การเปลี่ยนแปลง API
intermediateMeasurePolicy
ใหม่เริ่มต้นที่ใช้ซ้ำนโยบายการวัดผลจาก Lookahead Pass จะช่วยให้ประเภทSubcomposeLayout
ย่อยที่ไม่มีช่องแบบมีเงื่อนไข เช่นScaffold
,TabRow
และBoxWithConstraints
ทำงานร่วมกับ Lookahead ได้โดยค่าเริ่มต้น (Id84c8)- เปลี่ยนชื่อฟังก์ชัน Infix ด้วยเป็น
togetherWith
เพื่อรวมการเปลี่ยนฉากเข้าและออกAnimatedContentScope
ใหม่เป็นตัวรับสำหรับ Lambda ของเนื้อหา (Ic39ae)
เวอร์ชัน 1.5.0-alpha02
5 เมษายน 2023
androidx.compose.animation:animation-*:1.5.0-alpha02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha02 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- API เวอร์ชันทดลองใหม่เพื่อรองรับการคาดคะเนใน
SubcomposeLayout
ซึ่งจะช่วยให้SubcomposeLayout
ทำงานได้อย่างถูกต้องในLookaheadScope
การรองรับSubcomposeLayout
ประเภทย่อยที่เฉพาะเจาะจงเพิ่มเติมจะพร้อมให้บริการในเร็วๆ นี้
การเปลี่ยนแปลง API
SubcomposeLayout
API ใหม่ที่ใช้นโยบายการวัดระดับกลางเพิ่มเติมสำหรับการจัดการตรรกะการวัด/เลย์เอาต์ระหว่างภาพเคลื่อนไหวที่อิงตามการมองไปข้างหน้า (I017d3)
เวอร์ชัน 1.5.0-alpha01
22 มีนาคม 2023
androidx.compose.animation:animation-*:1.5.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
AnimatedContent
API ตอนนี้มีเสถียรภาพแล้วAnimatedContentScope
และได้เปลี่ยนชื่อเป็นAnimatedContentTransitionScope
ตอนนี้scaleIn
และscaleOut
เป็น API ที่เสถียรแล้ว (Iaf54e)
เวอร์ชัน 1.4
เวอร์ชัน 1.4.3
3 พฤษภาคม 2023
androidx.compose.animation:animation:1.4.3
, androidx.compose.animation:animation-core:1.4.3
และ androidx.compose.animation:animation-graphics:1.4.3
จะได้รับการเผยแพร่โดยไม่มีการเปลี่ยนแปลง (มีการอัปเดตเวอร์ชันเท่านั้น)
เวอร์ชัน 1.4.2
19 เมษายน 2023
androidx.compose.animation:animation:1.4.2
, androidx.compose.animation:animation-core:1.4.2
และ androidx.compose.animation:animation-graphics:1.4.2
จะเผยแพร่โดยไม่มีการเปลี่ยนแปลง เวอร์ชัน 1.4.2 มีคอมมิตเหล่านี้
เวอร์ชัน 1.4.1
5 เมษายน 2023
androidx.compose.animation:animation:1.4.1
, androidx.compose.animation:animation-core:1.4.1
และ androidx.compose.animation:animation-graphics:1.4.1
จะเผยแพร่โดยไม่มีการเปลี่ยนแปลง เวอร์ชัน 1.4.1 มีคอมมิตเหล่านี้
เวอร์ชัน 1.4.0
22 มีนาคม 2023
androidx.compose.animation:animation:1.4.0
androidx.compose.animation:animation-core:1.4.0
และ androidx.compose.animation:animation-graphics:1.4.0
ออกอากาศแล้ว เวอร์ชัน 1.4.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงสำคัญตั้งแต่เวอร์ชัน 1.3.0
- รองรับป้ายกำกับเครื่องมือใน r
ememberInfiniteTransition
และฟังก์ชันส่วนขยายทั้งหมดในInfiniteTransition
และ Transition (เช่นInfiniteTransition#animateColor
) (I56ef7)
เวอร์ชัน 1.4.0-rc01
8 มีนาคม 2023
androidx.compose.animation:animation:1.4.0-rc01
, androidx.compose.animation:animation-core:1.4.0-rc01
และ androidx.compose.animation:animation-graphics:1.4.0-rc01
จะเผยแพร่โดยไม่มีการเปลี่ยนแปลง เวอร์ชัน 1.4.0-rc01 มีคอมมิตต่อไปนี้
เวอร์ชัน 1.4.0-beta02
22 กุมภาพันธ์ 2023
androidx.compose.animation:animation:1.4.0-beta02
, androidx.compose.animation:animation-core:1.4.0-beta02
และ androidx.compose.animation:animation-graphics:1.4.0-beta02
จะเผยแพร่โดยไม่มีการเปลี่ยนแปลง เวอร์ชัน 1.4.0-beta02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.4.0-beta01
8 กุมภาพันธ์ 2023
androidx.compose.animation:animation:1.4.0-beta01
, androidx.compose.animation:animation-core:1.4.0-beta01
และ androidx.compose.animation:animation-graphics:1.4.0-beta01
จะเผยแพร่โดยไม่มีการเปลี่ยนแปลง เวอร์ชัน 1.4.0-beta01 มีคอมมิตเหล่านี้
เวอร์ชัน 1.4.0-alpha05
25 มกราคม 2023
androidx.compose.animation:animation:1.4.0-alpha05
androidx.compose.animation:animation-core:1.4.0-alpha05
และ androidx.compose.animation:animation-graphics:1.4.0-alpha05
ออกอากาศแล้ว เวอร์ชัน 1.4.0-alpha05 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง
- ไม่มีการเปลี่ยนแปลงในไลบรารีภาพเคลื่อนไหวตั้งแต่เวอร์ชันอัลฟ่าล่าสุด มีเพียงการเพิ่มเวอร์ชันเท่านั้น
เวอร์ชัน 1.4.0-alpha04
11 มกราคม 2023
androidx.compose.animation:animation:1.4.0-alpha04
androidx.compose.animation:animation-core:1.4.0-alpha04
และ androidx.compose.animation:animation-graphics:1.4.0-alpha04
ออกอากาศแล้ว เวอร์ชัน 1.4.0-alpha04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับป้ายกำกับเครื่องมือใน
rememberInfiniteTransition
และฟังก์ชันส่วนขยายทั้งหมดในInfiniteTransition
และTransition
(เช่นInfiniteTransition#animateColor
) (I56ef7)
การเปลี่ยนแปลง API
- ตอนนี้ API ของ
InfiniteTransition#TransitionAnimationState
และInfiniteTransition#animations
พร้อมใช้งานแบบสาธารณะแล้ว (I36682)
เวอร์ชัน 1.4.0-alpha03
7 ธันวาคม 2022
androidx.compose.animation:animation:1.4.0-alpha03
androidx.compose.animation:animation-core:1.4.0-alpha03
และ androidx.compose.animation:animation-graphics:1.4.0-alpha03
ออกอากาศแล้ว เวอร์ชัน 1.4.0-alpha03 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- ในการทดสอบ UI โดยใช้กฎ Compose ระบบจะไม่ส่งต่อการดำเนินการต่อที่กลับมาทำงานอีกครั้งในระหว่างการเรียกกลับ
withFrameNanos
จนกว่าการเรียกกลับของเฟรมทั้งหมดจะทำงานเสร็จ ซึ่งจะตรงกับลักษณะการทำงานของ Compose เมื่อเรียกใช้ตามปกติ อย่างไรก็ตาม การทดสอบที่อิงตามลักษณะการทำงานแบบเดิมอาจล้มเหลว การเปลี่ยนแปลงนี้ควรมีผลกับโค้ดที่เรียกใช้withFrameNanos
หรือwithFrameMillis
โดยตรงเท่านั้น และมีตรรกะภายนอก Callback ที่ส่งไปยังฟังก์ชันเหล่านั้น ซึ่งอาจต้องย้ายไปไว้ภายใน Callback ดูการเปลี่ยนแปลงการทดสอบภาพเคลื่อนไหวใน CL นี้เพื่อดูตัวอย่าง - เพิ่มพารามิเตอร์
onPerformTraversals: (Long) -> Unit
ที่ไม่บังคับลงในตัวสร้างTestMonotonicFrameClock
และฟังก์ชัน Factory เพื่อเรียกใช้โค้ดหลังจาก Callback ของwithFrameNanos
แต่ก่อนที่จะกลับมาใช้ Coroutine ของผู้โทร (Idb413, b/254115946, b/222093277, b/255802670) - พารามิเตอร์ใหม่ใน
AnimatedContent
สำหรับป้ายกำกับเครื่องมือ (Iebe2d)
เวอร์ชัน 1.4.0-alpha02
9 พฤศจิกายน 2022
androidx.compose.animation:animation:1.4.0-alpha02
androidx.compose.animation:animation-core:1.4.0-alpha02
และ androidx.compose.animation:animation-graphics:1.4.0-alpha02
ออกอากาศแล้ว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
ToolingState
เพื่ออนุญาตให้เครื่องมือเปลี่ยนสถานะภายในของ Composable (Ie6614)
เวอร์ชัน 1.4.0-alpha01
24 ตุลาคม 2022
androidx.compose.animation:animation:1.4.0-alpha01
androidx.compose.animation:animation-core:1.4.0-alpha01
และ androidx.compose.animation:animation-graphics:1.4.0-alpha01
ออกอากาศแล้ว เวอร์ชัน 1.4.0-alpha01 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- แก้ไขภาพเคลื่อนไหวการขัดจังหวะที่ไม่ถูกต้องใน AnimatedContent (b/238662479)
เวอร์ชัน 1.3
เวอร์ชัน 1.3.3
11 มกราคม 2023
androidx.compose.animation:animation:1.3.3
androidx.compose.animation:animation-core:1.3.3
และ androidx.compose.animation:animation-graphics:1.3.3
ออกอากาศแล้ว เวอร์ชัน 1.3.3 มีคอมมิตเหล่านี้
- ไม่มีการเปลี่ยนแปลงตั้งแต่เวอร์ชัน 1.3.2
เวอร์ชัน 1.3.2
7 ธันวาคม 2022
androidx.compose.animation:animation:1.3.2
androidx.compose.animation:animation-core:1.3.2
และ androidx.compose.animation:animation-graphics:1.3.2
ออกอากาศแล้ว เวอร์ชัน 1.3.2 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- อัปเดตเพื่อรองรับ androidx.compose.ui 1.3.2
เวอร์ชัน 1.3.1
9 พฤศจิกายน 2022
androidx.compose.animation:animation:1.3.1
androidx.compose.animation:animation-core:1.3.1
และ androidx.compose.animation:animation-graphics:1.3.1
ออกอากาศแล้ว เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้
เวอร์ชัน 1.3.0
24 ตุลาคม 2022
androidx.compose.animation:animation:1.3.0
androidx.compose.animation:animation-core:1.3.0
และ androidx.compose.animation:animation-graphics:1.3.0
ออกอากาศแล้ว เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0
- ทำให้ฟังก์ชันการเปลี่ยนผ่านชุดใหม่มีความเสถียร
เวอร์ชัน 1.3.0-rc01
5 ตุลาคม 2022
androidx.compose.animation:animation:1.3.0-rc01
androidx.compose.animation:animation-core:1.3.0-rc01
และ androidx.compose.animation:animation-graphics:1.3.0-rc01
ออกอากาศแล้ว เวอร์ชัน 1.3.0-rc01 มีคอมมิตต่อไปนี้
เวอร์ชัน 1.3.0-beta03
21 กันยายน 2022
androidx.compose.animation:animation:1.3.0-beta03
androidx.compose.animation:animation-core:1.3.0-beta03
และ androidx.compose.animation:animation-graphics:1.3.0-beta03
ออกอากาศแล้ว เวอร์ชัน 1.3.0-beta03 มีคอมมิตเหล่านี้
- ไม่มีการเปลี่ยนแปลงตั้งแต่ 1.3.0-beta02
เวอร์ชัน 1.3.0-beta02
7 กันยายน 2022
androidx.compose.animation:animation:1.3.0-beta02
androidx.compose.animation:animation-core:1.3.0-beta02
และ androidx.compose.animation:animation-graphics:1.3.0-beta02
ออกอากาศแล้ว เวอร์ชัน 1.3.0-beta02 มีคอมมิตเหล่านี้
- นำ Kotlin.experimental ออกจากตัวเลือกคอมไพเลอร์เนื่องจากเลิกใช้งานแล้ว
เวอร์ชัน 1.3.0-beta01
24 สิงหาคม 2022
androidx.compose.animation:animation:1.3.0-beta01
androidx.compose.animation:animation-core:1.3.0-beta01
และ androidx.compose.animation:animation-graphics:1.3.0-beta01
ออกอากาศแล้ว เวอร์ชัน 1.3.0-beta01 มีคอมมิตเหล่านี้
เวอร์ชัน 1.3.0-alpha03
10 สิงหาคม 2022
androidx.compose.animation:animation:1.3.0-alpha03
androidx.compose.animation:animation-core:1.3.0-alpha03
และ androidx.compose.animation:animation-graphics:1.3.0-alpha03
ออกอากาศแล้ว เวอร์ชัน 1.3.0-alpha03 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- พารามิเตอร์ใหม่ใน
Crossfade
,animateAsState
และAnimatable
สำหรับป้ายกำกับเครื่องมือ (Iac08a) - เพิ่มฟังก์ชัน
atFraction
สำหรับกำหนดคีย์เฟรมที่เศษส่วนแทนที่จะเป็นระยะเวลาที่เฉพาะเจาะจง (I20c76, b/232059455)
เวอร์ชัน 1.3.0-alpha02
27 กรกฎาคม 2022
androidx.compose.animation:animation:1.3.0-alpha02
androidx.compose.animation:animation-core:1.3.0-alpha02
และ androidx.compose.animation:animation-graphics:1.3.0-alpha02
ออกอากาศแล้ว เวอร์ชัน 1.3.0-alpha02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.3.0-alpha01
29 มิถุนายน 2022
androidx.compose.animation:animation:1.3.0-alpha01
androidx.compose.animation:animation-core:1.3.0-alpha01
และ androidx.compose.animation:animation-graphics:1.3.0-alpha01
ออกอากาศแล้ว เวอร์ชัน 1.3.0-alpha01 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
LookaheadLayout
ใหม่ที่รองรับการส่งผ่านการมองไปข้างหน้าก่อนการวัด/เลย์เอาต์จริง ซึ่งจะช่วยให้คำนวณเลย์เอาต์ล่วงหน้าได้เมื่อมีการเปลี่ยนแปลง ขณะเดียวกันก็อนุญาตให้การวัด/เลย์เอาต์หลังการมองไปข้างหน้าใช้ขนาด/ตำแหน่งที่คำนวณไว้ล่วงหน้าเพื่อเคลื่อนไหวขนาดและตำแหน่งไปยังเป้าหมายSubcomposeLayouts
ยังไม่รองรับ แต่จะรองรับในรุ่นที่จะเปิดตัวเร็วๆ นี้ (I477f5)
เวอร์ชัน 1.2
เวอร์ชัน 1.2.1
10 สิงหาคม 2022
androidx.compose.animation:animation:1.2.1
androidx.compose.animation:animation-core:1.2.1
และ androidx.compose.animation:animation-graphics:1.2.1
ออกอากาศแล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้
เวอร์ชัน 1.2.0
27 กรกฎาคม 2022
androidx.compose.animation:animation:1.2.0
androidx.compose.animation:animation-core:1.2.0
และ androidx.compose.animation:animation-graphics:1.2.0
ออกอากาศแล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0
- Compose Animation รองรับการตั้งค่า "Animator duration scale" จากตัวเลือกสำหรับนักพัฒนาแอปแล้ว
- มีเส้นโค้งการลดความซับซ้อนแบบทดลองใหม่ๆ ให้เลือกมากมาย
AnimatedImageVector
รองรับrepeatCount
และrepeatMode
แล้ว
เวอร์ชัน 1.2.0-rc03
29 มิถุนายน 2022
androidx.compose.animation:animation:1.2.0-rc03
androidx.compose.animation:animation-core:1.2.0-rc03
และ androidx.compose.animation:animation-graphics:1.2.0-rc03
ออกอากาศแล้ว เวอร์ชัน 1.2.0-rc03 มีคอมมิตเหล่านี้
- ไม่มีการเปลี่ยนแปลงตั้งแต่เวอร์ชัน 1.2.0-rc02
เวอร์ชัน 1.2.0-rc02
22 มิถุนายน 2022
androidx.compose.animation:animation:1.2.0-rc02
androidx.compose.animation:animation-core:1.2.0-rc02
และ androidx.compose.animation:animation-graphics:1.2.0-rc02
ออกอากาศแล้ว เวอร์ชัน 1.2.0-rc02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- นำคำอธิบายประกอบ
ExperimentalEasingApi
ออกจากฟังก์ชันการลดความเร็ว (Ied441)
เวอร์ชัน 1.2.0-rc01
15 มิถุนายน 2022
androidx.compose.animation:animation:1.2.0-rc01
androidx.compose.animation:animation-core:1.2.0-rc01
และ androidx.compose.animation:animation-graphics:1.2.0-rc01
ออกอากาศแล้ว เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้อินเทอร์เฟซในไลบรารี Compose สร้างขึ้นโดยใช้เมธอดอินเทอร์เฟซเริ่มต้นของ jdk8 (I5bcf1)
เวอร์ชัน 1.2.0-beta03
1 มิถุนายน 2022
androidx.compose.animation:animation:1.2.0-beta03
androidx.compose.animation:animation-core:1.2.0-beta03
และ androidx.compose.animation:animation-graphics:1.2.0-beta03
ออกอากาศแล้ว เวอร์ชัน 1.2.0-beta03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มเส้นโค้งการผ่อนคลายเวอร์ชันทดลองสำหรับภาพเคลื่อนไหว (I64a38)
เวอร์ชัน 1.2.0-beta02
18 พฤษภาคม 2022
androidx.compose.animation:animation:1.2.0-beta02
androidx.compose.animation:animation-core:1.2.0-beta02
และ androidx.compose.animation:animation-graphics:1.2.0-beta02
ออกอากาศแล้ว เวอร์ชัน 1.2.0-beta02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.2.0-beta01
11 พฤษภาคม 2022
androidx.compose.animation:animation:1.2.0-beta01
androidx.compose.animation:animation-core:1.2.0-beta01
และ androidx.compose.animation:animation-graphics:1.2.0-beta01
ออกอากาศแล้ว เวอร์ชัน 1.2.0-beta01 มีคอมมิตเหล่านี้
- นี่คือรุ่นเบต้า 1.2 รุ่นแรก ไม่มีการเปลี่ยนแปลงใดๆ นับตั้งแต่เวอร์ชันอัลฟ่าล่าสุด
เวอร์ชัน 1.2.0-alpha08
20 เมษายน 2022
androidx.compose.animation:animation:1.2.0-alpha08
androidx.compose.animation:animation-core:1.2.0-alpha08
และ androidx.compose.animation:animation-graphics:1.2.0-alpha08
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha08 มีคอมมิตต่อไปนี้
เวอร์ชัน 1.2.0-alpha07
6 เมษายน 2022
androidx.compose.animation:animation:1.2.0-alpha07
androidx.compose.animation:animation-core:1.2.0-alpha07
และ androidx.compose.animation:animation-graphics:1.2.0-alpha07
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha07 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
AnimatedImageVector
รองรับrepeatCount
และrepeatMode
แล้ว (Ia3e75, b/199304067)
เวอร์ชัน 1.2.0-alpha06
23 มีนาคม 2022
androidx.compose.animation:animation:1.2.0-alpha06
androidx.compose.animation:animation-core:1.2.0-alpha06
และ androidx.compose.animation:animation-graphics:1.2.0-alpha06
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha06 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- อัปเดตการแยกวิเคราะห์ Vector Drawable เพื่อรองรับการมิเรอร์อัตโนมัติเพื่อพลิกเนื้อหาของ
VectorPainter
หากเลย์เอาต์ปัจจุบันเป็นแบบ RTL (I79cd9, b/185760237)
การแก้ไขข้อบกพร่อง
- อัปเดต Vector Graphics API ให้ใช้คำอธิบายประกอบที่ประกอบได้ที่เหมาะสม
@VectorComposable
แทน@UiComposable
(I942bc)
เวอร์ชัน 1.2.0-alpha05
9 มีนาคม 2022
androidx.compose.animation:animation:1.2.0-alpha05
androidx.compose.animation:animation-core:1.2.0-alpha05
และ androidx.compose.animation:animation-graphics:1.2.0-alpha05
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha05 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ไชโย! ฟีเจอร์สร้างภาพเคลื่อนไหวรองรับการตั้งค่า "มาตราส่วนระยะเวลาของ Animator" จากตัวเลือกสำหรับนักพัฒนาแอปแล้ว (I5a4fc, b/161675988)
เวอร์ชัน 1.2.0-alpha04
23 กุมภาพันธ์ 2022
androidx.compose.animation:animation:1.2.0-alpha04
androidx.compose.animation:animation-core:1.2.0-alpha04
และ androidx.compose.animation:animation-graphics:1.2.0-alpha04
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha04 มีคอมมิตเหล่านี้
เวอร์ชัน 1.2.0-alpha03
9 กุมภาพันธ์ 2022
androidx.compose.animation:animation:1.2.0-alpha03
androidx.compose.animation:animation-core:1.2.0-alpha03
และ androidx.compose.animation:animation-graphics:1.2.0-alpha03
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha03 มีคอมมิตต่อไปนี้
เวอร์ชัน 1.2.0-alpha02
26 มกราคม 2022
androidx.compose.animation:animation:1.2.0-alpha02
androidx.compose.animation:animation-core:1.2.0-alpha02
และ androidx.compose.animation:animation-graphics:1.2.0-alpha02
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.2.0-alpha01
12 มกราคม 2022
androidx.compose.animation:animation:1.2.0-alpha01
androidx.compose.animation:animation-core:1.2.0-alpha01
และ androidx.compose.animation:animation-graphics:1.2.0-alpha01
ออกอากาศแล้ว เวอร์ชัน 1.2.0-alpha01 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- ใช้
AnimatedImageVector.animatedVectorResource
แทนanimatedVectorResource
เพื่อโหลดไฟล์ทรัพยากร<animated-vector>
- ใช้
rememberAnimatedVectorResource
แทนAnimatedImageVector#painterFor
เพื่อแสดงผลAnimatedImageVector
(I9c300)
- ใช้
การแก้ไขข้อบกพร่อง
- เพิ่มเมธอด toString ลงใน Animatable และ AnimationResult (Icd3a6)
การอัปเดตการขึ้นต่อกัน
- ตอนนี้ต้องใช้ Kotlin
1.6.10
เวอร์ชัน 1.1
เวอร์ชัน 1.1.1
23 กุมภาพันธ์ 2022
androidx.compose.animation:animation:1.1.1
androidx.compose.animation:animation-core:1.1.1
และ androidx.compose.animation:animation-graphics:1.1.1
ออกอากาศแล้ว เวอร์ชัน 1.1.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไข
NullPointerException
ที่androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList
(aosp/1947059, b/206677462) - แก้ไขข้อขัดข้องที่เกิดจากเนื้อหาในคลิปบอร์ดขณะอ่านจาก คลิปบอร์ดใน Android (I06020, b/197769306)
- แก้ไข RTL ใน
LazyVerticalGrid
(aosp/1931080, b/207510535)
เวอร์ชัน 1.1.0
9 กุมภาพันธ์ 2022
androidx.compose.animation:animation:1.1.0
androidx.compose.animation:animation-core:1.1.0
และ androidx.compose.animation:animation-graphics:1.1.0
ออกอากาศแล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0
- รองรับเอฟเฟกต์การเลื่อนเกินของ Android 12 อย่างเสถียร
- การปรับปรุงขนาดเป้าหมายการสัมผัส
- โปรดทราบว่าใน Compose 1.0 คอมโพเนนต์ Material จะขยายพื้นที่เลย์เอาต์เพื่อให้เป็นไปตามหลักเกณฑ์การช่วยเหลือพิเศษของ Material สำหรับขนาดเป้าหมายการสัมผัส ตัวอย่างเช่น เป้าหมายการสัมผัสของปุ่มจะขยายเป็นขนาดขั้นต่ำ 48x48dp แม้ว่าคุณจะตั้งค่าขนาดของปุ่มให้เล็กกว่านี้ก็ตาม ซึ่งจะทําให้ Compose Material มีลักษณะการทํางานเหมือนกับ Material Design Components และมีลักษณะการทํางานที่สอดคล้องกันหากคุณใช้ทั้ง View และ Compose การเปลี่ยนแปลงนี้ยังช่วยให้มั่นใจได้ว่าเมื่อคุณสร้าง UI โดยใช้คอมโพเนนต์ Material ของ Compose ระบบจะปฏิบัติตามข้อกำหนดขั้นต่ำสำหรับการช่วยเหลือพิเศษของเป้าหมายการสัมผัส
- การรองรับ Navigation Rail อย่างเสถียร
- เปลี่ยน API ที่เคยอยู่ในระยะทดลองจำนวนหนึ่งให้เป็น API ที่เสถียร
- การรองรับ Kotlin เวอร์ชันใหม่กว่า
เวอร์ชัน 1.1.0-rc03
26 มกราคม 2022
androidx.compose.animation:animation:1.1.0-rc03
androidx.compose.animation:animation-core:1.1.0-rc03
และ androidx.compose.animation:animation-graphics:1.1.0-rc03
ออกอากาศแล้ว เวอร์ชัน 1.1.0-rc03 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- อัปเดตเพื่อรองรับ Compose Material 1.1.0-rc03
เวอร์ชัน 1.1.0-rc01
15 ธันวาคม 2021
androidx.compose.animation:animation:1.1.0-rc01
และ androidx.compose.animation:animation-core:1.1.0-rc01
เปิดตัวแล้ว เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ใช้
AnimatedImageVector.animatedVectorResource
แทนanimatedVectorResource
เพื่อโหลดไฟล์ทรัพยากร<animated-vector>
- ใช้
rememberAnimatedVectorResource
แทนAnimatedImageVector#painterFor
เพื่อแสดงผลAnimatedImageVector
(I9c300)
- ใช้
เวอร์ชัน 1.1.0-beta04
1 ธันวาคม 2021
androidx.compose.animation:animation:1.1.0-beta04
androidx.compose.animation:animation-core:1.1.0-beta04
และ androidx.compose.animation:animation-graphics:1.1.0-beta04
ออกอากาศแล้ว เวอร์ชัน 1.1.0-beta04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- อัปเดตให้เข้ากันได้กับ Kotlin
1.6.0
เวอร์ชัน 1.1.0-beta03
17 พฤศจิกายน 2021
androidx.compose.animation:animation:1.1.0-beta03
androidx.compose.animation:animation-core:1.1.0-beta03
และ androidx.compose.animation:animation-graphics:1.1.0-beta03
ออกอากาศแล้ว เวอร์ชัน 1.1.0-beta03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มตัวแก้ไข Modifier.onPlaced ใหม่เพื่อให้สังเกตการเปลี่ยนแปลงตำแหน่งได้ ดังนั้นจึงสามารถทำการเปลี่ยนแปลงเพิ่มเติมในออฟเซ็ตของตัวปรับแต่งย่อยได้ตาม การเปลี่ยนแปลงตำแหน่งที่สังเกตได้ (I558fd)
รองรับ contentKey ในการจางซ้อนแล้ว ระบบภาพเคลื่อนไหวจะใช้ ContentKey เพื่อตรวจสอบความเท่าเทียมกัน ดังนั้น คุณจึงทำการเปรียบเทียบความแตกต่างของสถานะที่กำหนดเองได้โดยการระบุ contentKey ที่เหมาะสมสำหรับสถานะต่างๆ
นอกจากนี้ ระบบจะใช้ ContentKey เป็นคีย์สำหรับบันทึกและกู้คืนเนื้อหาด้วย (I2e055, b/197907070)
เวอร์ชัน 1.1.0-beta02
3 พฤศจิกายน 2021
androidx.compose.animation:animation:1.1.0-beta02
androidx.compose.animation:animation-core:1.1.0-beta02
และ androidx.compose.animation:animation-graphics:1.1.0-beta02
ออกอากาศแล้ว เวอร์ชัน 1.1.0-beta02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- API ภาพเคลื่อนไหวใหม่สำหรับการสนับสนุนเครื่องมือ กล่าวคือ ช่วยให้เครื่องมือตรวจสอบภาพเคลื่อนไหวและการกำหนดค่าใน Transitions ได้ (I4116e)
เวอร์ชัน 1.1.0-beta01
27 ตุลาคม 2021
androidx.compose.animation:animation:1.1.0-beta01
androidx.compose.animation:animation-core:1.1.0-beta01
และ androidx.compose.animation:animation-graphics:1.1.0-beta01
ออกอากาศแล้ว เวอร์ชัน 1.1.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- API ภาพเคลื่อนไหวใหม่สำหรับการสนับสนุนเครื่องมือ กล่าวคือ ช่วยให้เครื่องมือตรวจสอบภาพเคลื่อนไหวและการกำหนดค่าใน Transitions ได้ (I4116e)
เวอร์ชัน 1.1.0-alpha06
13 ตุลาคม 2021
androidx.compose.animation:animation:1.1.0-alpha06
androidx.compose.animation:animation-core:1.1.0-alpha06
และ androidx.compose.animation:animation-graphics:1.1.0-alpha06
ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha06 มีคอมมิตเหล่านี้
เวอร์ชัน 1.1.0-alpha05
29 กันยายน 2021
androidx.compose.animation:animation:1.1.0-alpha05
androidx.compose.animation:animation-core:1.1.0-alpha05
และ androidx.compose.animation:animation-graphics:1.1.0-alpha05
ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha05 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
EnterTransition
,ExitTransition
และ API บางส่วนของAnimatedVisibility
ได้รับการอัปเดตให้เสถียรแล้วMutableTransitionState.isIdle
ไม่ใช่ฟีเจอร์ทดลองอีกต่อไป (I5072d)การเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้อง: ระบบได้ย้าย Lambda ในโรงงาน Enter/ExitTransition ไปยังตำแหน่งสุดท้ายในรายการพารามิเตอร์แล้ว (I5072d)
เวอร์ชัน 1.1.0-alpha04
15 กันยายน 2021
androidx.compose.animation:animation:1.1.0-alpha04
androidx.compose.animation:animation-core:1.1.0-alpha04
และ androidx.compose.animation:animation-graphics:1.1.0-alpha04
ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha04 มีคอมมิตเหล่านี้
เวอร์ชัน 1.1.0-alpha03
1 กันยายน 2021
androidx.compose.animation:animation:1.1.0-alpha03
androidx.compose.animation:animation-core:1.1.0-alpha03
และ androidx.compose.animation:animation-graphics:1.1.0-alpha03
ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha03 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- อัปเดต Compose
1.1.0-alpha03
ให้ขึ้นอยู่กับ Kotlin1.5.30
(I74545)
เวอร์ชัน 1.1.0-alpha02
18 สิงหาคม 2021
androidx.compose.animation:animation:1.1.0-alpha02
androidx.compose.animation:animation-core:1.1.0-alpha02
และ androidx.compose.animation:animation-graphics:1.1.0-alpha02
ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้ StartOffset รองรับใน repeatable และ infiniteRepeatable แล้ว ซึ่งเป็นวิธีหน่วงเวลาเริ่มต้นหรือ กรอภาพเคลื่อนไหวไปข้างหน้าก่อนที่ภาพเคลื่อนไหวจะเริ่ม ออฟเซ็ตการเริ่มต้นนี้จะไม่ซ้ำกัน (Ic679f, b/195079908)
- การเปลี่ยนฉากเข้า/ออกใหม่สำหรับมาตราส่วน โดยใช้ร่วมกับ การเปลี่ยนฉากเข้า/ออกประเภทอื่นๆ ได้ (I372da, b/191325593)
เวอร์ชัน 1.1.0-alpha01
4 สิงหาคม 2021
androidx.compose.animation:animation:1.1.0-alpha01
androidx.compose.animation:animation-core:1.1.0-alpha01
และ androidx.compose.animation:animation-graphics:1.1.0-alpha01
ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
AnimatedImageVector
และ API ที่เกี่ยวข้องอยู่ในโมดูลใหม่androidx.compose.animation:animation-graphics
แล้ว (I60873)
การแก้ไขข้อบกพร่อง
- ย้าย
InfiniteAnimationPolicy
ไปยัง :compose:ui (I5eb09, b/160602714)
รุ่น 1.0
เวอร์ชัน 1.0.5
3 พฤศจิกายน 2021
androidx.compose.animation:animation:1.0.5
และ androidx.compose.animation:animation-core:1.0.5
เปิดตัวแล้ว เวอร์ชัน 1.0.5 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องในการติดตามอินสแตนซ์ derivedStateOf (aosp/1792247)
เวอร์ชัน 1.0.4
13 ตุลาคม 2021
androidx.compose.animation:animation:1.0.4
และ androidx.compose.animation:animation-core:1.0.4
เปิดตัวแล้ว เวอร์ชัน 1.0.4 มีคอมมิตเหล่านี้
การอัปเดตการขึ้นต่อกัน
- อัปเดตให้ขึ้นอยู่กับ Kotlin
1.5.31
เวอร์ชัน 1.0.3
29 กันยายน 2021
androidx.compose.animation:animation:1.0.3
และ androidx.compose.animation:animation-core:1.0.3
เปิดตัวแล้ว เวอร์ชัน 1.0.3 มีคอมมิตเหล่านี้
การอัปเดตการขึ้นต่อกัน
- อัปเดตให้ขึ้นอยู่กับ Kotlin
1.5.30
เวอร์ชัน 1.0.2
1 กันยายน 2021
androidx.compose.animation:animation:1.0.2
และ androidx.compose.animation:animation-core:1.0.2
เปิดตัวแล้ว เวอร์ชัน 1.0.2 มีคอมมิตเหล่านี้
อัปเดตเพื่อรองรับการเปิดตัว Compose 1.0.2
Compose 1.0.2
ยังคงใช้ได้กับ Kotlin 1.5.21
เวอร์ชัน 1.0.1
4 สิงหาคม 2021
androidx.compose.animation:animation:1.0.1
และ androidx.compose.animation:animation-core:1.0.1
เปิดตัวแล้ว เวอร์ชัน 1.0.1 มีคอมมิตเหล่านี้
การอัปเดตการขึ้นต่อกัน
- อัปเดตให้ขึ้นอยู่กับ Kotlin
1.5.21
เวอร์ชัน 1.0.0
28 กรกฎาคม 2021
androidx.compose.animation:animation:1.0.0
และ androidx.compose.animation:animation-core:1.0.0
เปิดตัวแล้ว เวอร์ชัน 1.0.0 มีคอมมิตเหล่านี้
ฟีเจอร์หลักของเวอร์ชัน 1.0.0
นี่คือ Compose เวอร์ชันเสถียรเวอร์ชันแรก โปรดดูรายละเอียดเพิ่มเติมในบล็อกการเปิดตัว Compose อย่างเป็นทางการ
ปัญหาที่ทราบ
หากคุณใช้ Android Studio Bumblebee Canary 4 หรือ AGP
7.1.0-alpha04
/7.1.0-alpha05
คุณอาจพบข้อขัดข้องต่อไปนี้java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
หากต้องการแก้ไข ให้เพิ่ม minSdkVersion เป็น 24 ขึ้นไปชั่วคราวในไฟล์
build.gradle
ปัญหานี้จะได้รับการแก้ไขใน Android Studio Bumblebee และ AGP7.1
เวอร์ชันถัดไป (b/194289155)
เวอร์ชัน 1.0.0-rc02
14 กรกฎาคม 2021
androidx.compose.animation:animation:1.0.0-rc02
และ androidx.compose.animation:animation-core:1.0.0-rc02
เปิดตัวแล้ว เวอร์ชัน 1.0.0-rc02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.0.0-rc01
1 กรกฎาคม 2021
androidx.compose.animation:animation:1.0.0-rc01
และ androidx.compose.animation:animation-core:1.0.0-rc01
เปิดตัวแล้ว เวอร์ชัน 1.0.0-rc01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ย้าย
InfiniteAnimationPolicy
ไปยังandroidx.compose.ui:ui
(I5eb09, b/160602714) แล้ว
เวอร์ชัน 1.0.0-beta09
16 มิถุนายน 2021
androidx.compose.animation:animation:1.0.0-beta09
และ androidx.compose.animation:animation-core:1.0.0-beta09
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta09 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- Composable
AnimatedContent
ใหม่ โดยจะจัดการการเปลี่ยนแปลงเนื้อหา โดยใช้ContentTransform
ที่ปรับแต่งได้เมื่อเนื้อหาเป้าหมายใหม่ เข้ามาและเนื้อหาเริ่มต้นออกไป คุณสามารถใช้การเปลี่ยนเข้าและออกร่วมกันในรูปแบบต่างๆ เพื่อสร้างรูปลักษณ์และความรู้สึกที่กำหนดเองได้ ในส่วนของการเปลี่ยนเนื้อหาAnimatedContent
จะเคลื่อนไหวขนาดโดยอัตโนมัติให้ตรงกับเนื้อหาที่เข้ามา (I2c3df) - นำ
ManualFrameClock
ออกแล้ว หากต้องการควบคุมภาพเคลื่อนไหว ให้ใช้composeTestRule.mainClock
แทน (I3c3e8, b/189951065)
เพิ่มกฎโปรไฟล์
รุ่นนี้เพิ่มกฎของโปรไฟล์ลงในโมดูลการเขียนต่อไปนี้ (I14ed6)
- androidx.compose.animation
- androidx.compose.animation-core
- androidx.compose.foundation
- androidx.compose.foundation-layout
- androidx.compose.material
- androidx.compose.material-ripple
- androidx.compose.runtime
- androidx.compose.ui
- androidx.compose.ui.geometry
- androidx.compose.ui.graphics
- androidx.compose.ui.text
- androidx.compose.ui.text
- androidx.compose.ui.unit
- androidx.compose.ui.util
กฎโปรไฟล์คืออะไร
กฎของโปรไฟล์สำหรับไลบรารีจะระบุไว้ในไฟล์ข้อความ
baseline-prof.txt
ซึ่งอยู่ในsrc/main
หรือไดเรกทอรีที่เทียบเท่า ไฟล์จะระบุกฎต่อบรรทัด โดยในกรณีนี้กฎคือรูปแบบสำหรับการจับคู่กับเมธอดหรือคลาสในไลบรารี ไวยากรณ์ของกฎเหล่านี้เป็นซูเปอร์เซ็ตของรูปแบบโปรไฟล์ ART ที่มนุษย์อ่านได้ ซึ่งใช้เมื่อใช้adb shell profman --dump-classes-and-methods ...
กฎเหล่านี้มี 2 รูปแบบเพื่อกำหนดเป้าหมายไปยังเมธอดหรือคลาสกฎของเมธอดจะมีรูปแบบดังนี้
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
และกฎของชั้นเรียนจะมีรูปแบบดังนี้
<CLASS_DESCRIPTOR>
โดย
<FLAGS>
คืออักขระH
,S
และP
อย่างน้อย 1 ตัวเพื่อระบุว่าควรติดแฟล็กวิธีนี้เป็น "มาแรง" "สตาร์ทอัป" หรือ "หลังสตาร์ทอัป" หรือไม่<CLASS_DESCRIPTOR>
คือตัวอธิบายสำหรับคลาสที่เมธอดเป้าหมายเป็นของ เช่น คลาสandroidx.compose.runtime.SlotTable
จะมีตัวอธิบายเป็นLandroidx/compose/runtime/SlotTable;
<METHOD_SIGNATURE>
คือลายเซ็นของเมธอด ซึ่งรวมถึงชื่อ ประเภทพารามิเตอร์ และประเภทการคืนค่าของเมธอด เช่น เมธอดfun isPlaced(): Boolean
ในLayoutNode
มีลายเซ็นisPlaced()Z
รูปแบบเหล่านี้มีไวลด์การ์ด (
**
,*
และ?
) ได้เพื่อให้กฎเดียวครอบคลุมหลายเมธอดหรือคลาส
กฎมีหน้าที่อะไร
เมธอดที่มีแฟล็ก
H
แสดงว่าเมธอดนี้เป็นเมธอด "ยอดนิยม" และควรคอมไพล์ล่วงหน้าเมธอดที่มีแฟล็ก
S
แสดงว่าเป็นเมธอดที่เรียกใช้เมื่อเริ่มต้น และควรคอมไพล์ล่วงหน้าเพื่อหลีกเลี่ยงค่าใช้จ่ายในการคอมไพล์และตีความเมธอดเมื่อเริ่มต้นเมธอดที่มีแฟล็ก
P
แสดงว่าเป็นเมธอดที่เรียกใช้หลังจากเริ่มต้นคลาสที่มีอยู่ในไฟล์นี้บ่งบอกว่ามีการใช้คลาสดังกล่าวในระหว่างการเริ่มต้นระบบ และควรจัดสรรล่วงหน้าในฮีปเพื่อหลีกเลี่ยงค่าใช้จ่ายในการโหลดคลาส
ระบบนี้ทำงานอย่างไร
- ไลบรารีสามารถกำหนดกฎเหล่านี้ซึ่งจะรวมอยู่ในอาร์ติแฟกต์ AAR เมื่อสร้างแอปที่มีอาร์ติแฟกต์เหล่านี้ ระบบจะผสานรวมกฎเหล่านี้เข้าด้วยกันและใช้กฎที่ผสานรวมเพื่อสร้างโปรไฟล์ ART แบบไบนารีขนาดกะทัดรัดที่เฉพาะเจาะจงสำหรับแอปนั้นๆ จากนั้น ART จะใช้ประโยชน์จากโปรไฟล์นี้เมื่อติดตั้งแอปในอุปกรณ์เพื่อคอมไพล์ล่วงหน้าซึ่งเป็นชุดย่อยที่เฉพาะเจาะจงของแอปพลิเคชันเพื่อปรับปรุงประสิทธิภาพของแอปพลิเคชัน โดยเฉพาะการเรียกใช้ครั้งแรก โปรดทราบว่าการดำเนินการนี้จะไม่มีผลกับแอปพลิเคชันที่แก้ไขข้อบกพร่องได้
เวอร์ชัน 1.0.0-beta08
2 มิถุนายน 2021
androidx.compose.animation:animation:1.0.0-beta08
และ androidx.compose.animation:animation-core:1.0.0-beta08
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta08 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
detectDragGesures
,detectVerticalGestures
และdetectHorizontalGestures
จะใช้การเปลี่ยนแปลงตำแหน่งโดยอัตโนมัติ คุณจึงไม่จำเป็นต้องเรียกใช้ change.consumePositionChange ในการเรียกกลับ onDrag (I42fc4, b/185096350, b/187320697) Modifier.onGloballyPositioned()
มีการเปลี่ยนแปลงเพื่อรายงานพิกัดของตัวแก้ไขนี้ในเชนตัวแก้ไข ไม่ใช่พิกัดเลย์เอาต์หลังจากใช้ตัวแก้ไขทั้งหมด ซึ่งหมายความว่าตอนนี้ลำดับของตัวแก้ไขจะส่งผลต่อพิกัดที่จะรายงาน (Ieb67d, b/177926591)
เวอร์ชัน 1.0.0-beta07
18 พฤษภาคม 2021
androidx.compose.animation:animation:1.0.0-beta07
และ androidx.compose.animation:animation-core:1.0.0-beta07
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta07 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
AnimatedVisibility
API ใหม่ที่รองรับการระบุระดับการมองเห็นในMutableTransitionState
นอกจากนี้ยังช่วยให้สังเกตสถานะภาพเคลื่อนไหวภายนอกAnimatedVisibility
ผ่านcurrentState
และisIdle
ได้ด้วย- การสนับสนุนการเปลี่ยนเพศสำหรับบุตรหลานในระหว่างการเปลี่ยนเพศ
- รองรับภาพเคลื่อนไหวการเปลี่ยนเข้า/ออกที่กำหนดเองใน AnimatedVisibility โดยใช้ AnimationScope.transition
- ตัวแก้ไข animateEnterExit ใหม่ที่เข้าถึงได้สำหรับองค์ประกอบย่อยทั้งหมดของ AnimatedVisibility
- เลิกใช้งาน API AnimatedVisibility ที่ใช้
initiallyVisible
พารามิเตอร์ (I702f3)
เวอร์ชัน 1.0.0-beta06
5 พฤษภาคม 2021
androidx.compose.animation:animation:1.0.0-beta06
และ androidx.compose.animation:animation-core:1.0.0-beta06
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta06 มีคอมมิตเหล่านี้
เวอร์ชัน 1.0.0-beta05
21 เมษายน 2021
androidx.compose.animation:animation:1.0.0-beta05
และ androidx.compose.animation:animation-core:1.0.0-beta05
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta05 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้ไฟล์ AndroidManifest จาก ui-test-manifest และ ui-tooling-data เข้ากันได้กับ Android 12 แล้ว (I6f9de, b/184718994)
เวอร์ชัน 1.0.0-beta04
7 เมษายน 2021
androidx.compose.animation:animation:1.0.0-beta04
และ androidx.compose.animation:animation-core:1.0.0-beta04
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta04 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เราได้นำอินสแตนซ์สาธารณะของ
RowScope
,ColumnScope
,BoxScope
,BoxWithConstraintsScope
ออกแล้ว (I4e83e, b/181869067)
เวอร์ชัน 1.0.0-beta03
24 มีนาคม 2021
androidx.compose.animation:animation:1.0.0-beta03
และ androidx.compose.animation:animation-core:1.0.0-beta03
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta03 มีคอมมิตเหล่านี้
เวอร์ชัน 1.0.0-beta02
10 มีนาคม 2021
androidx.compose.animation:animation:1.0.0-beta02
และ androidx.compose.animation:animation-core:1.0.0-beta02
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta02 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- บังคับใช้ข้อจำกัดในการใช้งาน API เวอร์ชันทดลองแบบสาธารณะ (I6aa29, b/174531520)
เวอร์ชัน 1.0.0-beta01
24 กุมภาพันธ์ 2021
androidx.compose.animation:animation:1.0.0-beta01
และ androidx.compose.animation:animation-core:1.0.0-beta01
เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta01 มีคอมมิตเหล่านี้
นี่คือรุ่นแรกของ Compose 1.0.0 เบต้า
การเปลี่ยนแปลง API
InteractionState
ถูกแทนที่ด้วย[Mutable]InteractionSource
แล้ว- อินเทอร์เฟซมีหน้าที่ในการปล่อย / รวบรวมเหตุการณ์การโต้ตอบ
- ใช้
interactionSource = remember { MutableInteractionSource() }
แทนการส่งinteractionState = remember { InteractionState() }
ไปยังคอมโพเนนต์ เช่นButton
และModifier.clickable()
- แทนที่จะเป็น:
Interaction.Pressed in interactionState
คุณควรใช้ฟังก์ชันส่วนขยายใน InteractionSource แทน เช่น InteractionSource.collectIsPressedAsState() - สำหรับกรณีการใช้งานที่ซับซ้อน คุณสามารถใช้ InteractionSource.interactions เพื่อสังเกตสตรีมของการโต้ตอบได้ ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบและตัวอย่าง InteractionSource
- (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
- เปลี่ยนแพ็กเกจของเมธอด smoothScrollBy และ scrollBy เป็น
androidx.compose.foundation.gestures.*
(I3f7c1, b/175294473) - มีการเปลี่ยนชื่อตัวแก้ไขขนาด เปลี่ยนชื่อ Modifier.width/height/size เป็น requiredWidth/requiredHeight/requiredSize เราเปลี่ยนชื่อ Modifier.preferredWidth/preferredHeight/preferredSize เป็น width/height/size (I5b414)
- ย้ายการปฐมนิเทศไปไว้ในแพ็กเกจพื้นฐานแล้ว VelocityTracker ย้ายจาก ui.gesture ไปยัง ui.input.pointer (Iff4a8, b/175294473)
- เราได้นำ AnimationClockObservable และคลาสย่อยออกแล้ว นำ AnimatedFloat ออกแล้ว (Icde52, b/177457083)
- ตอนนี้ Modifier.draggable ยอมรับ DraggableState แทนที่จะเป็น Lambda แบบง่าย คุณสามารถสร้างสถานะผ่าน
rememberDraggableState { delta -> }
เพื่อให้ได้ลักษณะการทำงานแบบเดิม (Ica70f, b/175294473) - ระบบได้นำ API animate, animatedValue, AnimatedValue ออกแล้ว (If27bc, b/177457083)
- นำ AnimationEndReason.Interrupted ออกแล้ว CancellationException จะเกิดขึ้นหากภาพเคลื่อนไหวถูกขัดจังหวะ (I2cbbc, b/179695417)
- เราได้นำ TargetAnimation API ออกแล้ว (If47d1, b/177457083)
เวอร์ชัน 1.0.0-alpha12
10 กุมภาพันธ์ 2021
androidx.compose.animation:animation:1.0.0-alpha12
และ androidx.compose.animation:animation-core:1.0.0-alpha12
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
Modifier.pointerInput
ตอนนี้ต้องใช้คีย์จดจำเพื่อระบุ เมื่อควรเริ่มคอร์รูทีนการตรวจหาอินพุตของเคอร์เซอร์ใหม่สำหรับ การอ้างอิงใหม่ (I849cd)- เปลี่ยนชื่อ Bounds เป็น DpRect (I4b32a) แล้ว
- รวมชื่อพารามิเตอร์สำหรับ AnimationSpec เป็น animationSpec ในระบบภาพเคลื่อนไหว นอกจากนี้ ให้จำกัด Enter/ExitTransition ให้ยอมรับ FiniteAnimationSpec ด้วย (Ie47c5, b/177457083)
- ตอนนี้ Animatable.snapTo และ Animatable.stop เป็นฟังก์ชันที่ระงับแล้ว (If4288)
- เช่นเดียวกับที่เราเคยนำ
state { 0 }
composable ออกไปก่อนหน้านี้และตอนนี้เราแนะนำให้ใช้remember { mutableStateOf(0) }
เราจะนำsavedInstanceState { 0 }
composable ออก คุณควรใช้rememberSaveable { mutableStateOf(0) }
แทน และระบบจะบันทึกและกู้คืนโดยอัตโนมัติหากจัดเก็บประเภทที่ใช้ภายใน MutableState ไว้ใน Bundle ได้ หากก่อนหน้านี้คุณส่งออบเจ็กต์โปรแกรมประหยัดที่กำหนดเอง ตอนนี้คุณต้องใช้การโอเวอร์โหลดใหม่ของ rememberSaveable ซึ่งมีพารามิเตอร์stateSaver
การใช้งานจะมีลักษณะดังนี้val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) }
(Ib4c26, b/177338004) - อัปเดตลายเซ็นของเมธอด Crossfade ให้สอดคล้องกันมากขึ้น กับระบบภาพเคลื่อนไหวอื่นๆ (Ib05ed, b/177457083)
- เราได้เปลี่ยนชื่อ rememberSavedInstanceState() เป็น rememberSaveable() และย้ายไปยังแพ็กเกจ androidx.compose.runtime.saveable (I1366e, b/177338004)
- เราได้เปลี่ยนชื่อ RestorableStateHolder เป็น SaveableStateHolder และย้ายไปยังแพ็กเกจ androidx.compose.runtime.saveable เราได้เปลี่ยนชื่อเมธอดภายใน RestorableStateProvider เป็น SaveableStateProvider ระบบนำประเภททั่วไปออกเพื่อให้คุณส่ง Any เป็นคีย์ได้ ไม่จำเป็นต้องใช้คำอธิบายประกอบเวอร์ชันทดลองอีกต่อไป (I0902e, b/174598702)
- อัปเดต Modifier.animateContentSize API ให้สอดคล้องกัน กับระบบภาพเคลื่อนไหวอื่นๆ (I0bf75, b/177457083)
- ตอนนี้เราเลิกใช้งาน AnimatedValue/Float แล้ว โปรดใช้ Animatable แทน (I71345, b/177457083)
- เลิกใช้งาน tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter และ pressIndicaitonGestureFilter แล้ว โปรดใช้ Modifier.clickable หรือ Modifier.pointerInput กับฟังก์ชัน detectTapGestures แทน (I6baf9, b/175294473)
- เปิดตัวองค์ประกอบบริบทโครูทีน
InfiniteAnimationPolicy
ที่จะใช้ในภาพเคลื่อนไหวแบบไม่มีที่สิ้นสุด โดยค่าเริ่มต้น ระบบจะไม่ติดตั้งนโยบายใดๆ ยกเว้นเมื่อเรียกใช้การทดสอบด้วยComposeTestRule
(I50ec4, b/151940543) - เราได้นำเมธอด Destructuring และ copy() ออกจาก คลาสหลายคลาสซึ่งไม่ค่อยมีการใช้งาน (I26702, b/178659281)
- ตอนนี้เวลาเล่นในภาพเคลื่อนไหวจะรวมเป็นหน่วยนาโนวินาที (If776a)
- ตอนนี้เราเลิกใช้งานอาร์ติแฟกต์ compose:runtime-dispatch แล้ว ตอนนี้ MonotonicFrameClock อยู่ใน compose:runtime และ AndroidUiDispatcher อยู่ใน compose:ui (Ib5c36)
- เพิ่ม
Animation.isInfinite
และVectorizedAnimationSpec.isInfinite
ที่ส่งสัญญาณว่าภาพเคลื่อนไหวเป็น แบบวนซ้ำหรือไม่ ซึ่งสามารถใช้ในการติดตั้งใช้งานภาพเคลื่อนไหวเพื่อ จัดการภาพเคลื่อนไหวดังกล่าวเป็นพิเศษ เช่น คุณอาจแสดงข้อความพิเศษ "เวลา ที่เหลือ" หรือในระหว่างการทดสอบ คุณอาจ ยกเลิกภาพเคลื่อนไหวเพื่อป้องกันไม่ให้รอการไม่มีการใช้งานอย่างไม่มีกำหนด (Iebb05, b/151940543) - ใช้ Long แทน Uptime เป็นประเภทเวลาของภาพเคลื่อนไหว (Ie3aa7, b/177420019)
เวอร์ชัน 1.0.0-alpha11
28 มกราคม 2021
androidx.compose.animation:animation:1.0.0-alpha11
และ androidx.compose.animation:animation-core:1.0.0-alpha11
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha11 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เลิกใช้งานการเปลี่ยนตาม TransitionDefinition แล้ว (I0ac57)
- เพิ่มฟิลด์ป้ายกำกับสำหรับทรานซิชัน และภาพเคลื่อนไหวขององค์ประกอบย่อยเพื่อแสดงในเครื่องมือ (I619fb)
- ตอนนี้ animateAsState คือ animateFooAsState โดยที่ Foo คือ ประเภทของตัวแปรที่กำลังเคลื่อนไหว เช่น Float, Dp, Offset ฯลฯ (Ie7e25)
- InfiniteTransition ใหม่ที่เรียกใช้ภาพเคลื่อนไหวของ องค์ประกอบย่อยได้ไม่จำกัดจำนวน (I1da81)
- เปลี่ยนอินเทอร์เฟซพารามิเตอร์ที่มีสถานะของ Material ให้มีฟังก์ชัน @Composable ที่แสดงผล
State<T>
เพิ่ม Animatable.asState() เพื่อให้แปลง Animatable เป็น State ได้ง่ายขึ้น นอกจากนี้ ยังเปลี่ยน animateElevation ให้เป็นส่วนขยายที่ระงับใน Animatable ด้วย (If613c)
การแก้ไขข้อบกพร่อง
- onCommit, onDispose และ onActive ถูกเลิกใช้งานแล้วเพื่อรองรับ SideEffect และ DisposableEffect API (If760e)
- ตอนนี้ฟีเจอร์สถานะเริ่มต้นใน updateTransition พร้อมใช้งานแล้ว (Ifd51d)
- เพิ่มพารามิเตอร์คำอธิบายเนื้อหาลงในรูปภาพและไอคอนแล้ว ใช้เพื่ออธิบายบริการการช่วยเหลือพิเศษ (I2ac4c)
- ตอนนี้เราเลิกใช้งาน invalidate และ compositionReference() แล้ว และแนะนำให้ใช้ currentRecomposeScope และ rememberCompositionReference แทนตามลำดับ (I583a8)
- ระบบจะแทนที่ระยะเวลาและเวลาทำงานด้วยมิลลิวินาทีแบบยาว และขั้นตอนนี้จะนำการอ้างอิงอินพุตของเคอร์เซอร์ในคลาสเหล่านั้นออก (Ia33b2, b/175142755, b/177420019)
- ตอนนี้คุณสร้างองค์ประกอบที่คลิกได้ สลับได้ และเลือกได้ภายนอกองค์ประกอบได้แล้ว (I0a130, b/172938345, b/175294473)
- เปลี่ยนการเปลี่ยนเป็นอินเทอร์เฟซฟังก์ชัน (Ib14e5)
items(count: Int)
เมธอด Factory ใหม่สำหรับขอบเขตของ LazyColumn/LazyRow/LazyVerticalGrid ตอนนี้items(items: List)
และitemsIndexed(items: List)
เป็นฟังก์ชันส่วนขยายแล้ว คุณจึงต้องนําเข้าด้วยตนเองเมื่อใช้งาน การโอเวอร์โหลดส่วนขยายใหม่สำหรับอาร์เรย์: items(items: Array) และ itemsIndexed(Array) (I803fc, b/175562574)- ใช้ประโยชน์จาก TestCoroutineDispatcher ในการทดสอบ (I532b6)
- นำ PointerInputData ออกและแก้ไข PointerInputChange เพื่อให้มีฟิลด์ทั้งหมดของ PointerInputData ทำให้ PointerInputEvent และ PointerInputEventData เป็นแบบภายในเนื่องจากไม่ได้ใช้ใน API สาธารณะใดๆ (Ifff97, b/175142755)
เวอร์ชัน 1.0.0-alpha10
13 มกราคม 2021
androidx.compose.animation:animation:1.0.0-alpha10
และ androidx.compose.animation:animation-core:1.0.0-alpha10
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ความเร็วที่แก้ไขแล้วให้มีส่วนประกอบและ การดำเนินการทางคณิตศาสตร์ (Ib0447)
- เปลี่ยนชื่อ
@ExperimentalTesting
เป็น@ExperimentalTestApi
เพื่อให้ สอดคล้องกับคำอธิบายประกอบ API ทดลองที่คล้ายกัน (Ia4502, b/171464963) - เปลี่ยนชื่อตำแหน่งเป็น DpOffset และนำ getDistance() ออก (Ib2dfd)
- นำ Any.identityHashCode() API สาธารณะออกแล้ว (I025d7)
การแก้ไขข้อบกพร่อง
- API ใหม่ที่ใช้โครูทีน
Animatable
ซึ่งรับประกันการแยกกันโดยเด็ดขาด ระหว่างภาพเคลื่อนไหว DecayAnimationSpec ใหม่เพื่อรองรับภาพเคลื่อนไหวแบบลดทอนหลายมิติ (I820f2, b/168014930) - ตอนนี้
animate()
ถูกแทนที่ด้วยanimateAsState()
ซึ่งจะแสดงผลState<T>
แทนT
ซึ่งจะช่วยให้ประสิทธิภาพดีขึ้น เนื่องจากสามารถจำกัดขอบเขตการลบล้างให้แคบลง ในตำแหน่งที่อ่านค่าสถานะ (Ib179e)
เวอร์ชัน 1.0.0-alpha09
16 ธันวาคม 2020
androidx.compose.animation:animation:1.0.0-alpha09
และ androidx.compose.animation:animation-core:1.0.0-alpha09
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- ย้าย Dp.VectorConverter, Position.VectorConverter ฯลฯ ไปยัง animation-core และเลิกใช้งาน VectorConveters เก่า (If0c4b)
- เปิดตัวชุด API การเปลี่ยนฉากใหม่ทั้งหมดพร้อมด้วย ความสะดวกในการใช้งานที่ดียิ่งขึ้น รวมถึงรองรับภาพเคลื่อนไหวที่เพิ่มแบบไดนามิกและเป้าหมายภาพเคลื่อนไหวที่คำนวณแบบไดนามิก เราทำเครื่องหมาย API นี้ว่าอยู่ในขั้นทดลองเพื่อ ให้แยกความแตกต่างจาก API ที่อิงตาม TransitionDefinition ได้ง่าย (Ia7fe3)
การแก้ไขข้อบกพร่อง
- ตอนนี้ Lambda ในตัวแก้ไขออฟเซ็ตจะแสดงผล IntOffset แทน Float (Ic9ee5, b/174137212, b/174146755)
- เลิกใช้งาน LazyColumnFor, LazyRowFor, LazyColumnForIndexed และ LazyRowForIndexed ใช้ LazyColumn และ LazyRow แทน (I5b48c)
- สำหรับ API การป้อนข้อมูลด้วยเคอร์เซอร์ที่ระงับแล้ว เราได้เปลี่ยนชื่อ HandlePointerInputScope เป็น AwaitPointerEventScope และ handlePointerInput() เป็น awaitPointerEventScope() (Idf0a1, b/175142755)
- ฟังก์ชัน infiniteRepeatable ใหม่สำหรับสร้าง InfiniteRepeatableSpec (I668e5)
- นำคำอธิบายประกอบ ExperimentalPointerInput ออกแล้ว (Ia7a24)
เวอร์ชัน 1.0.0-alpha08
2 ธันวาคม 2020
androidx.compose.animation:animation:1.0.0-alpha08
และ androidx.compose.animation:animation-core:1.0.0-alpha08
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- เพิ่มการตรวจสอบ Lint สำหรับการตั้งชื่อและการวางตำแหน่งพารามิเตอร์ Lambda ที่ใช้ร่วมกันได้ เพื่อตรวจสอบความสอดคล้องกับหลักเกณฑ์ของ Compose
นอกจากนี้ ยังย้ายข้อมูล API บางรายการโดยใช้
children
เป็นชื่อสำหรับ Lambda ต่อท้ายเป็นcontent
ตามการตรวจสอบ Lint และคำแนะนำ (Iec48e) - ระบบได้นำ API ที่เลิกใช้งานไปก่อนหน้านี้ออกแล้ว ดังนี้
Modifier.onPositioned
ถูกนำออกแล้ว โปรดใช้Modifier.onGloballyPositioned
Modifier.onDraw
ถูกนำออกแล้ว โปรดใช้Modifier.onDrawBehind
Modifier.plus
ถูกนำออกแล้ว โปรดใช้Modifier.then
Color.Unset
ถูกนำออกแล้ว โปรดใช้Color.Unspecified
- ระบบนำคลาส
PxBounds
ออกแล้ว โปรดใช้Rect
แทน - (Ie9d02, b/172562222)
- เพิ่มตัวเลือกชั่วคราวเพื่อให้ MonotonicFrameClock ขับเคลื่อน TestAnimationClock ได้ (I1403b, b/173402197)
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อ Modifier.drawLayer เป็น Modifier.graphicsLayer นอกจากนี้ยังอัปเดตคลาสที่เกี่ยวข้องเป็น GraphicsLayer ตาม ความคิดเห็นจากสภา API (I0bd29, b/173834241)
- เพิ่ม Modifier.scale/rotate
APIs เพื่ออำนวยความสะดวกสำหรับ drawLayer
- เปลี่ยนชื่อ Modifier.drawOpacity เป็น Modifier.alpha
- เปลี่ยนชื่อ Modifier.drawShadow เป็น Modifier.shadow (I264ca, b/173208140)
- ทำให้ฟิลด์เวลาทำงานและตำแหน่งของ PointerInputData ไม่เป็นค่าว่าง (Id468a)
- เปลี่ยนชื่อตัวแก้ไข offsetPx เป็น offset ตอนนี้ฟังก์ชันเหล่านี้รับพารามิเตอร์ Lambda แทน State แล้ว (Ic3021, b/173594846)
- API ใหม่สำหรับการเรียกใช้ภาพเคลื่อนไหวในโครูทีน (Ied662)
- เลิกใช้งาน Ambients ที่เลิกใช้งานแล้วซึ่งมี
Ambient
เป็นคำต่อท้าย และแทนที่ด้วยพร็อพเพอร์ตี้ใหม่ที่ขึ้นต้นด้วย Ambient ตามหลักเกณฑ์อื่นๆ ของ Ambients และ Compose API (I33440) - การควบคุมเวลาในการทดสอบ (TestAnimationClock และการใช้งาน) อยู่ในระยะทดลองแล้ว (I6ef86, b/171378521)
- นำโมดูล ui-test เก่าและ Stub ออก (I3a7cb)
- ฟังก์ชัน
RestorableStateHolder.withRestorableState
เปลี่ยนชื่อเป็นRestorableStateProvider
(I66640) - เราได้อัปเดตอินเทอร์เฟซการจัดแนวและทำให้ใช้งานได้ (I46a07, b/172311734)
เวอร์ชัน 1.0.0-alpha07
11 พฤศจิกายน 2020
androidx.compose.animation:animation:1.0.0-alpha07
และ androidx.compose.animation:animation-core:1.0.0-alpha07
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เลิกใช้งาน AmbientTextStyle, ProvideTextStyle และ AmbientContentColor แล้ว แต่ให้ใช้เวอร์ชันใหม่ที่มีอยู่ในไลบรารี Material แทน สำหรับแอปพลิเคชันที่ไม่ใช่ Material คุณควรสร้างระบบการออกแบบของคุณเองแทน โดยเฉพาะอย่างยิ่งการกำหนดธีมที่สามารถใช้ในคอมโพเนนต์ของคุณเองได้ (I74acc, b/172067770)
- เลิกใช้งาน foundation.Text แล้วและแทนที่ด้วย material.Text หากต้องการใช้ Text API พื้นฐานที่ไม่แสดงความคิดเห็นซึ่งไม่ได้ใช้ค่าจากธีม โปรดดู androidx.compose.foundation.BasicText (If64cb)
- ย้าย MeasureResult ออกจาก MeasureScope (Ibf96d, b/171184002)
- เราได้ย้ายสัญลักษณ์ที่เกี่ยวข้องกับเลย์เอาต์หลายรายการจาก androidx.compose.ui ไปยัง androidx.compose.layout.ui (I0fa98, b/170475424)
เวอร์ชัน 1.0.0-alpha06
28 ตุลาคม 2020
androidx.compose.animation:animation:1.0.0-alpha06
และ androidx.compose.animation:animation-core:1.0.0-alpha06
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปิดใช้การเปลี่ยนฉากใน ComposeTestRule และนำตัวเลือกในการ เปิดใช้เคอร์เซอร์กะพริบออกจาก ComposeTestRule (If0de3)
เวอร์ชัน 1.0.0-alpha05
14 ตุลาคม 2020
androidx.compose.animation:animation:1.0.0-alpha05
และ androidx.compose.animation:animation-core:1.0.0-alpha05
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- อินเทอร์เฟซและคลาสย่อยของภาพเคลื่อนไหวใหม่: คลาสเหล่านี้ จัดเก็บเงื่อนไขเริ่มต้นและสิ้นสุดสำหรับภาพเคลื่อนไหว และ อนุญาตให้ค้นหามูลค่าและความเร็วผ่านเวลาเล่นเท่านั้น (Ie95bd, b/163329867)
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อ OnPositionedModifier เป็น OnGloballyPositionedModifier และเปลี่ยนชื่อ onPositioned() เป็น onGloballyPositioned() (I587e8, b/169083903)
เลิกใช้งาน API contentColor() และ currentTextStyle() แล้วแทนที่ด้วย AmbientContentColor และ AmbientTextStyle ตามลำดับ คุณเข้าถึงค่าปัจจุบันได้โดยใช้
.current
ในพร็อพเพอร์ตี้โดยรอบ เช่นเดียวกับพร็อพเพอร์ตี้โดยรอบอื่นๆ การเปลี่ยนแปลงนี้มีขึ้นเพื่อให้สอดคล้องกันและหลีกเลี่ยงการมีหลายวิธีในการทําสิ่งเดียวกัน นอกจากนี้ ยังเปลี่ยนชื่อพร็อพเพอร์ตี้โดยรอบบางรายการเพื่อให้สื่อถึงวัตถุประสงค์ได้ดียิ่งขึ้น ดังนี้- ContentColorAmbient -> AmbientContentColor
- TextStyleAmbient -> AmbientTextStyle
- IndicationAmbient -> AmbientIndication
- EmphasisAmbient -> AmbientEmphasisLevels
- RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
เวอร์ชัน 1.0.0-alpha04
1 ตุลาคม 2020
androidx.compose.animation:animation:1.0.0-alpha04
และ androidx.compose.animation:animation-core:1.0.0-alpha04
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ใส่คำอธิบายประกอบ rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled และ textInputServiceFactory ด้วย @VisibleForTesting เพื่อให้เป็น API ภายในและซ่อน KDoc (I554eb, b/168308412)
การแก้ไขข้อบกพร่อง
- อัปเดต Graphics API หลายรายการ
- อัปเดต API การแปลงขนาดและการหมุน เพื่อใช้พารามิเตอร์ออฟเซ็ตเดียว เพื่อแสดงพิกัดจุดหมุน แทนพารามิเตอร์ลอยตัวแยกกัน สำหรับพิกัด x/y ใน DrawScope และ DrawTransform
- นำเมธอด Rect.expandToInclude และ Rect.join ออกแล้ว
- อัปเดตเอกสารประกอบเกี่ยวกับรัศมีให้ระบุว่าวงรี นอกเหนือจากวงกลม
- เพิ่มเอกสารเพื่อระบุว่าไม่ควรเรียกใช้ตัวสร้างสาธารณะสำหรับคลาส Radius แบบอินไลน์โดยตรง แต่ควรสร้างออบเจ็กต์ Radius ผ่านตัวสร้างฟังก์ชันของออบเจ็กต์แทน
- นำ API RoundRect ออกเพื่อค้นหา topRight, bottomRight, bottomCenter ฯลฯ
- เลิกใช้ Rect.shift เพื่อใช้ Rect.translate แทน
- นำ API RoundRect.grow และ Rect.shrink ออกแล้ว
- เปลี่ยนชื่อ RoundRect.outerRect เป็น Rect.boundingRect
- นำเมธอด RoundRect.middleRect/tallMiddleRect/wideMiddleRect และ Rect.isStadium ออก
- เปลี่ยนชื่อ RoundRect.longestSide เป็น RoundRect.maxDimension
- เปลี่ยนชื่อ RoundRect.shortestSide เป็น RoundRect.minDimension
- เปลี่ยน RoundRect.center ให้เป็นพร็อพเพอร์ตี้แทนที่จะเป็นฟังก์ชัน
- อัปเดตตัวสร้าง RoundRect เพื่อใช้พร็อพเพอร์ตี้ Radius แทนพารามิเตอร์แต่ละรายการสำหรับค่ารัศมี x/y
- นำ API ขนาดที่ถือว่าเป็นสี่เหลี่ยมผืนผ้าที่มี ต้นทางที่ 0,0 ออกแล้ว
- เพิ่ม API การทำลายลงใน Radius
- ย้ายฟังก์ชันส่วนขยาย RoundRect ต่างๆ ไปเป็น พร็อพเพอร์ตี้แทน
- (I8f5c7, b/168762961)
- เลิกใช้งาน foundation.Box แล้ว โปรดใช้ foundation.layout.Box แทน (Ie5950, b/167680279)
- เปลี่ยนชื่อ Stack เป็น Box แล้ว ระบบจะเลิกใช้งาน Box ที่มีอยู่ก่อนหน้านี้เพื่อรองรับ Box ใหม่ใน compose.foundation.layout ลักษณะการทำงานของ Box ใหม่คือการวางองค์ประกอบย่อยซ้อนกันเมื่อมีองค์ประกอบย่อยหลายรายการ ซึ่งแตกต่างจาก Box ก่อนหน้าที่มีลักษณะการทำงานคล้ายกับคอลัมน์ (I94893, b/167680279)
- เลิกใช้งานพารามิเตอร์การตกแต่งกล่องแล้ว หากต้องการมีการตกแต่ง/ระยะห่างภายในในช่อง ให้ใช้ตัวแก้ไขแทน (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
- เราป้องกันการนำเข้าแบบคงที่ของเนื้อหาขอบเขตเลย์เอาต์ (เช่น alignWithSiblings ใน RowScope) คุณควรใช้ขอบเขตที่ชัดเจนแทน ดังนี้
with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }
(I216be, b/166760797)
เวอร์ชัน 1.0.0-alpha03
16 กันยายน 2020
androidx.compose.animation:animation:1.0.0-alpha03
และ androidx.compose.animation:animation-core:1.0.0-alpha03
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- การใช้งานแรงโน้มถ่วงได้รับการเปลี่ยนชื่ออย่างสม่ำเสมอเป็น "จัดแนว" หรือ "การจัดแนว" ใน Layout API (I2421a, b/164077038)
เวอร์ชัน 1.0.0-alpha02
2 กันยายน 2020
androidx.compose.animation:animation:1.0.0-alpha02
และ androidx.compose.animation:animation-core:1.0.0-alpha02
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
เพิ่ม
ManualFrameClock.hasAwaiters
เพื่อดูว่ามีอะไรที่รอเฟรมจากนาฬิกานั้นหรือไม่runWithManualClock
เพื่อใช้แทนrunBlocking
เมื่อเรียกใช้การทดสอบที่ต้องใช้ ManualFrameClockTestUiDispatcher.Main
ซึ่งช่วยให้เข้าถึงตัวจัดส่ง UI หลักในการทดสอบได้ง่ายเช่น
@Test fun myTest() = runWithManualClock { clock -> // set some compose content withContext(TestUiDispatcher.Main) { clock.advanceClock(1000L) } if (clock.hasAwaiters) { println("The clock has awaiters") } else { println("The clock has no more awaiters") } }
การแก้ไขข้อบกพร่อง
เลิกใช้งาน onPreCommit แล้ว ตอนนี้ onCommit มีลักษณะการทำงานของ onPreCommit
ตอนนี้ onCommit และ onActive จะทํางานในเฟรม Choreographer เดียวกัน การเปลี่ยนแปลงองค์ประกอบที่คอมมิตไว้แทนที่จะเป็นที่จุดเริ่มต้น ของเฟรม Choreographer ถัดไป (I70403)
เวอร์ชัน 1.0.0-alpha01
26 สิงหาคม 2020
androidx.compose.animation:animation:1.0.0-alpha01
และ androidx.compose.animation:animation-core:1.0.0-alpha01
เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตต่อไปนี้
เวอร์ชัน 0.1.0-dev
เวอร์ชัน 0.1.0-dev17
19 สิงหาคม 2020
androidx.compose.animation:animation:0.1.0-dev17
และ androidx.compose.animation:animation-core:0.1.0-dev17
เปิดตัวแล้ว เวอร์ชัน 0.1.0-dev17 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
การเปลี่ยนแปลง API
- ออฟเซ็ตกลายเป็นคลาสอินไลน์ (Iaec70)
- ตอนนี้ IntOffset เป็นคลาสอินไลน์ (Iac0bf) แล้ว
- ตอนนี้ IntSize เป็นคลาสแบบอินไลน์ (I2bf42) แล้ว
AnimatedVisibilty Composable จะเคลื่อนไหวการปรากฏ และการหายไปของเนื้อหาขององค์ประกอบย่อย
เราได้เปิดตัว EnterTransition และ ExitTransition เพื่อทำงานร่วมกับ Composable AnimatedVisibilty เพื่อให้ภาพเคลื่อนไหวการปรากฏและการหายไป 3 ประเภท ได้แก่ จาง สไลด์ และ ขยาย/ย่อเนื้อหา คุณสามารถรวมภาพเคลื่อนไหวประเภทต่างๆ เพื่อสร้างรูปลักษณ์ที่ปรับแต่งได้มากขึ้น (Idda11)
เลิกใช้ PxBounds ใน Rect อัปเดตการใช้งานทั้งหมด ของ PxBounds ด้วย rect และเพิ่ม คำอธิบายประกอบที่เลิกใช้งาน/แทนที่อย่างเหมาะสม เพื่อช่วยในการ ย้ายข้อมูล (I37038, b/162627058)
การแก้ไขข้อบกพร่อง
- เราเปลี่ยนชื่อ
PlacementScope.placeAbsolute()
เป็นPlacementScope.place()
และเปลี่ยนชื่อPlacementScope.place()
ก่อนหน้าเป็นPlacementScope.placeRelative()
ด้วยเหตุนี้ วิธีPlacementScope.place()
จะไม่สะท้อนตำแหน่งในบริบทจากขวาไปซ้ายโดยอัตโนมัติอีกต่อไป หากต้องการใช้ฟีเจอร์นี้ ให้ใช้PlacementScope.placeRelative()
แทน (I873ac, b/162916675) - ตอนนี้เราเลิกใช้งาน
state { ... }
ที่ใช้ร่วมกันได้แล้วเพื่อเปลี่ยนไปใช้ การเรียกremember { mutableStateOf(...) }
อย่างชัดเจนเพื่อความชัดเจน ซึ่งจะช่วยลดพื้นผิว API โดยรวมและจำนวนแนวคิดสำหรับการจัดการสถานะ รวมถึงตรงกับรูปแบบby mutableStateOf()
สำหรับการมอบสิทธิ์พร็อพเพอร์ตี้ของคลาส (Ia5727)
เวอร์ชัน 0.1.0-dev16
5 สิงหาคม 2020
androidx.compose.animation:animation:0.1.0-dev16
และ androidx.compose.animation:animation-core:0.1.0-dev16
เปิดตัวแล้ว เวอร์ชัน 0.1.0-dev16 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้คุณเข้าถึงตัวแปลงเวกเตอร์ในตัวเพื่อแปลงหน่วยในตัวได้แล้วผ่าน
Foo.VectorConverter
เช่นDp.VectorConverter
,Color.VectorConverter
,Float.VectorConverter
เป็นต้น (I3e273) - รองรับเครื่องมือฟังการสิ้นสุดใน
Modifier.animateContentSize()
เพื่อให้เมื่อภาพเคลื่อนไหวการเปลี่ยนขนาดเสร็จสิ้น ระบบจะแจ้งเตือนเครื่องมือฟัง พร้อมกับขนาดเริ่มต้น/สิ้นสุดของภาพเคลื่อนไหว (I277b2) - ตัวแก้ไข animateContentSize ใหม่ที่เคลื่อนไหว การเปลี่ยนแปลงขนาดเลย์เอาต์ของตัวแก้ไขย่อย (Ieffdc)
เพิ่ม
MonotonicFrameAnimationClock
ที่ช่วยให้คุณใช้ MonotonicFrameClock เป็นAnimationClockObservable
เพื่อเชื่อมช่องว่าง ระหว่างนาฬิกาที่อิงตามโครูทีนใหม่กับ API ที่ยังใช้นาฬิกาที่อิงตาม การเรียกกลับแบบเก่าตอนนี้
MonotonicFrameClock
เทียบเท่ากับManualAnimationClock
คือManualFrameClock
(I111c7, b/161247083)
การแก้ไขข้อบกพร่อง
- มีการอัปเดต API สำหรับการรองรับจากขวาไปซ้ายแล้ว เพิ่ม LayoutDirectionAmbient ซึ่งใช้เพื่ออ่านและเปลี่ยนทิศทางการจัดวางได้ นำ Modifier.rtl และ Modifier.ltr ออกแล้ว (I080b3)
- ต้องระบุประเภท T อย่างชัดแจ้ง สำหรับ transitionDefinition (I1aded)
- foundation.shape.corner package were flatten to foundation.share (I46491, b/161887429)
- เลิกใช้งาน Modifier.plus แล้ว ให้ใช้ Modifier.then แทน คำว่า "จากนั้น" มีสัญญาณที่ชัดเจนกว่าในการเรียงลำดับ และยังห้ามพิมพ์
Modifier.padding().background() + anotherModifier
ซึ่งจะทำให้การอ่านยากขึ้น (Iedd58, b/161529964) - เปลี่ยนชื่อ Modifier.drawBackground เป็น Modifier.background (I13677)
เวอร์ชัน 0.1.0-dev15
22 กรกฎาคม 2020
androidx.compose.animation:animation:0.1.0-dev15
และ androidx.compose.animation:animation-core:0.1.0-dev15
เปิดตัวแล้ว เวอร์ชัน 0.1.0-dev15 มีคอมมิตเหล่านี้
การอัปเดตการขึ้นต่อกัน
- หากต้องการใช้ Compose เวอร์ชัน
0.1.0-dev15
คุณจะต้องอัปเดตการอ้างอิง ตามข้อมูลโค้ดใหม่ที่แสดงด้านบนในส่วนการประกาศการอ้างอิง
การเปลี่ยนแปลง API
- เราได้เปลี่ยน Transition API ให้แสดงผล TransitionState แทนการส่ง TransitionState ไปยังองค์ประกอบย่อย ซึ่งจะทำให้ API สอดคล้องกับ API ของ animate() มากขึ้น (I24e38)
- เพิ่มพารามิเตอร์ตัวแก้ไขสำหรับครอสเฟด (I87cfe, b/159706180)
- ใช้ AnimationSpec แทน AnimationBuilder ใน API ระดับบนสุด
เพื่ออธิบายแนวคิดของการระบุภาพเคลื่อนไหวแบบคงที่
- ปรับปรุง DSL การเปลี่ยนโดยการนำข้อกำหนดของ Lambda สำหรับ การสร้าง AnimationSpec เช่น Tween, Spring ออก แต่จะใช้พารามิเตอร์ของตัวสร้างโดยตรงแทน
- ปรับปรุงความสะดวกในการใช้งานโดยรวมของ AnimationSpec ด้วยการเปิดตัว คอนสตรัคเตอร์แทนการพึ่งพาบิลเดอร์
- เปลี่ยนระยะเวลาและการหน่วงเวลาสำหรับ KeyFrames และ Tween เป็น Int ซึ่งจะช่วย ลดการแคสต์ประเภทและการโอเวอร์โหลดเมธอดที่ไม่จำเป็น (เพื่อ รองรับทั้ง Long และ Int) (Ica0b4)
- แทนที่การใช้งาน IntPx ด้วย Int แทนที่ IntPxPosition ด้วย IntOffset แทนที่ IntPxSize ด้วย IntSize (Ib7b44)
- เพื่อรวมจำนวนคลาสที่ใช้เพื่อแสดงข้อมูลการปรับขนาด ให้ใช้คลาส Size แทน PxSize ซึ่งจะให้ประโยชน์ ของคลาสอินไลน์เพื่อใช้ประโยชน์จาก Long ในการแพ็กค่า Float 2 ค่าเพื่อแสดง ความกว้างและความสูงที่แสดงเป็น Float (Ic0191)
- เพื่อรวมจำนวนคลาสที่ใช้เพื่อแสดงข้อมูลการวางตำแหน่ง ให้ใช้คลาส Offset แทน PxPosition ซึ่งจะให้ประโยชน์ ของคลาสอินไลน์เพื่อใช้ประโยชน์จาก Long ในการแพ็กค่า Float 2 ค่าเพื่อแสดงออฟเซ็ต x และ y ที่แสดงเป็น Float (I3ad98)
- แทนที่การใช้คลาส Px ในคลาส Compose ต่างๆ ซึ่งเป็นส่วนหนึ่งของความพยายามในการปรับโครงสร้างขนาดใหญ่เพื่อใช้เฉพาะ Dp และประเภทดั้งเดิมสำหรับพารามิเตอร์พิกเซล (I086f4)
- เพิ่มการรองรับ animate() สำหรับ Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds และ AnimationVector (Ib7518)
- ตอนนี้ Crossfade ยอมรับพารามิเตอร์ AnimationBuilder ที่ไม่บังคับเพื่ออนุญาตให้กำหนดค่าภาพเคลื่อนไหวได้แล้ว (I6d6e0)
- แทนที่การใช้ Color ที่อนุญาตให้เป็น Null ทั้งหมดใน API ด้วย ที่ไม่ใช่ Null และใช้ Color.Unset แทน Null (Iabaa7)
- นำคลาส ValueHolder ออกแล้ว ปรับโครงสร้างคลาส AnimatedValue, AnimatedFloat เพื่อ
ทำให้ฟิลด์ค่าภาพเคลื่อนไหวเป็นนามธรรมเพื่อให้คลาสย่อยสามารถดูการอัปเดตค่าได้
- เพิ่มคลาสโมเดลสำหรับ AnimatedValue, AnimatedFloat ฯลฯ
- เพิ่มชุด API @Composable แบบ Lightweight ใหม่สำหรับการเปลี่ยนค่าแบบเคลื่อนไหว (I79530)
- การเปลี่ยนแปลงที่ไม่รองรับการทำงานย้อนหลังใน Ambient API ดูรายละเอียดได้ในบันทึกและเอกสารประกอบของ
Ambient<T>
(I4c7ee, b/143769776) - โหมดเล่นซ้ำใหม่: ย้อนกลับ โหมดนี้จะย้อนกลับการวนซ้ำก่อนหน้าเมื่อภาพเคลื่อนไหวซ้ำใน RepeatableSpec หรือ VectorizedRepeatableSpec (Ibe0f5)
- การเพิ่ม API ลงใน ManualAnimationClock:
hasObservers: Boolean
และพารามิเตอร์ของตัวสร้างdispatchOnSubscribe: Boolean
(Iaa134) - เพิ่ม API สำหรับรับขอบเขตต่ำสุด/สูงสุดใน AnimatedFloat (Icd9cc)
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อเป็น
runOnIdle
(I83607)runOnIdleCompose
- เราได้เปลี่ยนชื่อ API สำหรับการทดสอบหลายรายการเพื่อให้ใช้งานง่ายขึ้น เราได้เปลี่ยนชื่อ API ทั้งหมดที่ขึ้นต้นด้วย findXYZ เป็น onNodeXYZ API ทั้งหมดที่ขึ้นต้นด้วย doXYZ จะเปลี่ยนชื่อเป็น performXYZ (I7f164)
- เปิดตัว API ภาพเคลื่อนไหวแบบไม่มีสถานะระดับต่ำ API เหล่านี้ (I63bf7)
- Composable ของ Recompose ไม่ใช่การแยกส่วนที่มีประโยชน์อีกต่อไป การประกอบใหม่ส่วนใหญ่ควรเกิดขึ้นจากการกำหนด MutableState หากต้องการดำเนินการอื่นๆ นอกเหนือจากนี้ เราขอแนะนำให้คุณใช้ฟังก์ชัน
invalidate
เพื่อทริกเกอร์การจัดองค์ประกอบขอบเขตปัจจุบันใหม่ (Ifc992) - แทนที่การใช้งานคลาส Px ในคลาส Compose ต่างๆ ซึ่งเป็นส่วนหนึ่งของความพยายามในการปรับโครงสร้างครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทดั้งเดิมสำหรับพารามิเตอร์พิกเซล ลบคลาส Px ทั้งหมด (I3ff33)
- แทนที่การใช้งานคลาส Px ในคลาส Compose ต่างๆ ซึ่งเป็นส่วนหนึ่งของความพยายามในการปรับโครงสร้างขนาดใหญ่เพื่อใช้เฉพาะ Dp และประเภทดั้งเดิมสำหรับพารามิเตอร์พิกเซล (Id3434)
- ตอนนี้ Crossfade สามารถใช้ค่าเริ่มต้นเป็น Null ได้แล้ว (Iad6a4, b/155947711)
- แทนที่การใช้คลาส Px ในคลาส Compose ต่างๆ ซึ่งเป็นส่วนหนึ่งของความพยายามในการปรับโครงสร้างขนาดใหญ่เพื่อใช้เฉพาะ Dp และประเภทดั้งเดิมสำหรับพารามิเตอร์พิกเซล (I19d02)
- การใช้งาน CanvasScope ที่รวมกัน ตอนนี้จึงมีเพียง DrawScope และ ContentDrawScope เปลี่ยนชื่อ CanvasScope เป็น DrawScope อัปเดต DrawScope เพื่อใช้ Density interface และจัดเตรียม LayoutDirection อัปเดตคลาสย่อย DrawScope ที่ลบแล้วใน ContentDrawScope Painter และ PainterModifier เพื่อไม่ให้รักษาพร็อพเพอร์ตี้ RTL ไว้ด้วยตนเองอีกต่อไป เนื่องจาก DrawScope มีพร็อพเพอร์ตี้นี้อยู่แล้ว โดยไม่ต้องระบุด้วยตนเอง (I1798e)
- อัปเดต API Compose ระดับสูงขึ้น ที่แสดง Canvas เพื่อ แสดง CanvasScope แทน ซึ่งจะช่วยลดความจำเป็นที่ผู้บริโภคต้องดูแลออบเจ็กต์ Paint ของตนเอง สำหรับผู้บริโภคที่ยังต้องการเข้าถึง Canvas สามารถใช้วิธีส่วนขยาย drawCanvas ซึ่งมีฟังก์ชันเรียกกลับเพื่อออกคำสั่งวาดด้วย Canvas พื้นฐาน (I80afd)
- เพิ่มพารามิเตอร์ verticalGravity และ horizontalGravity ลงใน Row และ Column ตามลำดับ (I7dc5a)
- เปลี่ยนชื่อโมดูล ui-text เป็น ui-text-core (I57dec)
- ปรับปรุง DrawModifier API ดังนี้
- สร้างขอบเขตตัวรับสำหรับ draw() ContentDrawScope
- นำพารามิเตอร์ทั้งหมดใน draw() ออก
- DrawScope มีอินเทอร์เฟซเหมือนกับ CanvasScope รุ่นก่อน
- ContentDrawScope มีเมธอด drawContent() (Ibaced, b/152919067)
- ตอนนี้
runOnIdleCompose
และrunOnUiThread
เป็นฟังก์ชันส่วนกลาง แทนที่จะเป็นเมธอดใน ComposeTestRule (Icbe8f) - ย้ายตัวดำเนินการมอบสิทธิ์พร็อพเพอร์ตี้ [Mutable]State ไปยังส่วนขยาย
เพื่อรองรับการเพิ่มประสิทธิภาพการมอบสิทธิ์พร็อพเพอร์ตี้ Kotlin 1.4 ผู้โทรต้องเพิ่ม
imports เพื่อใช้
by state { ... }
หรือby mutableStateOf(...)
ต่อไป (I5312c) - เลิกใช้งาน ColoredRect แล้ว โปรดใช้
Box(Modifier.preferredSize(width, height).drawBackground(color))
แทน (I499fa, b/152753731) - แทนที่ตัวแก้ไขและตัวดำเนินการด้วยฟังก์ชันส่วนขยายของโรงงาน (I225e4)
- เลิกใช้งาน Composable ของ Center แล้ว ควรแทนที่ด้วยตัวแก้ไข LayoutSize.Fill + LayoutAlign.Center หรือด้วย Composable Box หรือ Stack อย่างใดอย่างหนึ่งที่มีการใช้ตัวแก้ไขที่เหมาะสม (Idf5e0)
- เปลี่ยนชื่อ LayoutFlexible เป็น LayoutWeight เปลี่ยนชื่อพารามิเตอร์ "แน่น" เป็น "เติม" (If4738)
- ฟังก์ชันที่ประกอบได้ของความทึบแสงถูกแทนที่ ด้วยตัวแก้ไข drawOpacity (I5fb62)
- การทดสอบที่ใช้ AndroidComposeTestRule จะมีนาฬิกาภาพเคลื่อนไหว ที่รูทของคอมโพสิชัน ซึ่งช่วยให้หยุดชั่วคราว กลับมาทำงานต่อ และเลื่อนไปข้างหน้าด้วยตนเองได้ (Id54c5)
- รองรับทิศทางจากขวาไปซ้ายในตัวแก้ไข LayoutPadding (I9e8da)
- เราได้รวม Density และ DensityScope ไว้ในอินเทอร์เฟซเดียว ตอนนี้คุณใช้ DensityAmbient.current แทน ambientDensity() ได้แล้ว แทนที่จะใช้ withDensity(density) ให้ใช้ with(density) (I11cb1)
- เพิ่มวิธีการคัดลอกไปยัง
คลาสประเภทต่างๆ ในบรรทัด ซึ่งรวมถึง
- ออฟเซ็ต
- ขนาด
- รัศมี
- การเคลื่อนไหว
- TransformOrigin
- เลิกใช้งานเมธอด Size.copy companion object เพื่อใช้เมธอดสำเนาอินสแตนซ์แทน (Ife290, b/159905651)
- ย้าย androidx.compose.ViewComposer ไปยัง androidx.ui.node.UiComposer
นำ androidx.compose.Emittable ออกแล้ว เนื่องจากซ้ำกับ ComponentNode.
androidx.compose.ViewAdapters จึงถูกนำออก ซึ่งไม่ใช่กรณีการใช้งานที่รองรับอีกต่อไป
เลิกใช้งาน Compose.composeInto แล้ว โปรดใช้
setContent
หรือsetViewContent
แทน เลิกใช้งาน Compose.disposeComposition แล้ว โปรดใช้เมธอดdispose
ในComposition
ที่setContent
ส่งคืนแทน androidx.compose.Compose.subcomposeInto ย้ายไปที่ androidx.ui.core.subcomposeInto แล้ว เปลี่ยนชื่อ ComponentNode#emitInsertAt เป็น ComponentNode#insertAt แล้ว เปลี่ยนชื่อ ComponentNode#emitRemoveAt เป็น ComponentNode#removeAt แล้ว เปลี่ยนชื่อ ComponentNode#emitMode เป็น ComponentNode#move แล้ว (Idef00)