ภาพเคลื่อนไหวของ Compose
androidx.compose.animation
androidx.compose.animation.core
androidx.compose.animation.graphics
(ดูเอกสารอ้างอิง API สำหรับแพ็กเกจคอมโพสิททั้งหมด)
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
11 ธันวาคม 2024 | 1.7.6 | - | - | 1.8.0-alpha07 |
โครงสร้าง
คอมโพสิทคือชุดรหัสกลุ่ม Maven 7 รายการภายใน androidx
แต่ละกลุ่มประกอบด้วยฟังก์ชันการทํางานย่อยที่กําหนดเป้าหมายไว้ โดยแต่ละกลุ่มจะมีชุดหมายเหตุการเผยแพร่ของตัวเอง
ตารางนี้จะอธิบายกลุ่มและลิงก์ไปยังชุดบันทึกประจำรุ่นแต่ละชุด
กลุ่ม | คำอธิบาย |
---|---|
compose.animation | สร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack Compose เพื่อมอบประสบการณ์การใช้งานที่ดีขึ้นให้แก่ผู้ใช้ |
compose.compiler | เปลี่ยนรูปแบบฟังก์ชัน @Composable และเปิดใช้การเพิ่มประสิทธิภาพด้วยปลั๊กอินคอมไพเลอร์ Kotlin |
compose.foundation | เขียนแอปพลิเคชัน Jetpack Compose ด้วยองค์ประกอบพื้นฐานที่พร้อมใช้งานและขยายฐานรากเพื่อสร้างชิ้นส่วนระบบออกแบบของคุณเอง |
compose.material | สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design ที่พร้อมใช้งาน นี่เป็นจุดแรกเข้าระดับที่สูงขึ้นของ Compose ซึ่งออกแบบมาเพื่อจัดหาคอมโพเนนต์ที่ตรงกับที่อธิบายไว้ใน www.material.io |
compose.material3 | สร้าง UI ของ Jetpack Compose ด้วยคอมโพเนนต์ Material Design 3 ซึ่งเป็นวิวัฒนาการขั้นถัดไปของ Material Design Material 3 ประกอบด้วยธีมและคอมโพเนนต์ที่อัปเดต รวมถึงฟีเจอร์การปรับแต่งในแบบของคุณของ Material You เช่น สีแบบไดนามิก และออกแบบมาให้สอดคล้องไปกับสไตล์ภาพและ UI ของระบบ Android 12 เวอร์ชันใหม่ |
compose.runtime | องค์ประกอบพื้นฐานของรูปแบบการเขียนโปรแกรมและการจัดการสถานะของ Compose รวมถึงรันไทม์หลักสำหรับปลั๊กอินคอมไพเลอร์ Compose |
compose.ui | องค์ประกอบพื้นฐานของ UI การเขียนที่จำเป็นต่อการโต้ตอบกับอุปกรณ์ ซึ่งรวมถึงเลย์เอาต์ ภาพวาด และอินพุต |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Compose คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
Groovy
dependencies { implementation "androidx.compose.animation:animation:1.7.6" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.animation:animation:1.7.6") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.5.15" } kotlinOptions { jvmTarget = "1.8" } }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมในเอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.8
เวอร์ชัน 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.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 มีอยู่ในบล็อกโพสต์นี้
Shared Element Transition 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 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้ระบบอ่านพร็อพเพอร์ตี้ Transition
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)
การมีส่วนร่วมจากภายนอก
- ตอนนี้
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)
การมีส่วนร่วมจากภายนอก
- Clear start animation time after
SeekableTransitionState
animates/snaps by 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 มิติได้โดยใช้เส้นโค้ง Spline แบบ Monotonic ซึ่งมีประโยชน์อย่างยิ่งในการหาค่าที่อยู่ระหว่างค่าต่างๆ เช่นOffset
,IntOffset
,DpOffset
เพิ่มเป็น API เวอร์ชันทดลอง
การแก้ไขข้อบกพร่อง
- เพิ่มการรองรับโปรแกรมแสดงผลสําหรับการไล่สีแบบไล่เฉดใน
ArcLine
(I4d5bb) - ใช้ equals และ hashcode สําหรับ
PageSize.Fixed
(Ie3ede, b/300134276) - แก้ไขปัญหาความเข้ากันได้ของไบนารีกับการเปลี่ยนแปลงระยะขอบหน้าต่าง (Iee695)
- นําเลเยอร์หลักของ Material ออกสําหรับชิป/ปุ่ม Material3 เนื่องจากการทดสอบประสิทธิภาพแบบไมโครเบนช์มาร์กแสดงประสิทธิภาพที่ดีขึ้นหากไม่มีเลเยอร์นี้ (I55555)
เวอร์ชัน 1.6.0-alpha08
18 ตุลาคม 2023
androidx.compose.animation:animation-*:1.6.0-alpha08
ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha08 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เลิกใช้งาน
KeyframesSpecConfig#with
แล้วใช้KeyframesSpecConfig#using
แทน ซึ่งจะคงรูปแบบตัวสร้างไว้ (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)- คําอธิบายประกอบเพิ่มเติมเพื่อระบุอินพุตที่อนุญาตสําหรับคอมโพสิเบิล (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)
- more thrown exceptions from 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
จาก true เป็น false ขณะที่มีโฟกัส (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()
ไปยังประเภทเฉพาะสําหรับองค์ประกอบพื้นฐานที่เกี่ยวข้องพร้อมใช้งาน รหัส 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
เริ่มต้นใหม่ที่ใช้นโยบายการวัดซ้ำจากการส่งผ่านการมองไปข้างหน้าช่วยให้SubcomposeLayout
ย่อยที่ไม่มีช่องแบบมีเงื่อนไข เช่นScaffold
,TabRow
และBoxWithConstraints
ทํางานร่วมกับการมองไปข้างหน้าได้โดยค่าเริ่มต้น (Id84c8)- เปลี่ยนชื่อ infix fun with เป็น
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
InfiniteTransition#TransitionAnimationState
และInfiniteTransition#animations
API พร้อมให้บริการแก่ผู้ใช้ทั่วไปแล้ว (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 โดยใช้กฎการคอมโพสิท ระบบจะไม่ส่งต่อการดำเนินการต่อที่กลับมาทำงานระหว่างการเรียกคืน
withFrameNanos
จนกว่าการเรียกคืนเฟรมทั้งหมดจะทำงานเสร็จ ซึ่งจะตรงกับลักษณะการทํางานของคอมโพซเมื่อทํางานตามปกติ อย่างไรก็ตาม การทดสอบที่อาศัยลักษณะการทำงานแบบเก่าอาจไม่สําเร็จ ซึ่งควรส่งผลต่อโค้ดที่เรียกwithFrameNanos
หรือwithFrameMillis
โดยตรงเท่านั้น และมีตรรกะนอก Callback ที่ส่งไปยังฟังก์ชันเหล่านั้น ซึ่งอาจต้องย้ายไปไว้ภายใน Callback ดูตัวอย่างการเปลี่ยนแปลงการทดสอบภาพเคลื่อนไหวใน CL นี้ - เพิ่มพารามิเตอร์
onPerformTraversals: (Long) -> Unit
ที่ไม่บังคับลงในคอนสตรัคเตอร์TestMonotonicFrameClock
และฟังก์ชันแฟกทอรีเพื่อเรียกใช้โค้ดหลังจากการเรียกกลับwithFrameNanos
แต่ก่อนที่จะดำเนินการโคโรทีนของผู้เรียกต่อ (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
- ตอนนี้เครื่องมือแต่งภาพเคลื่อนไหวรองรับการตั้งค่า "อัตราความเร็วตามตัวสร้างภาพเคลื่อนไหว" จากตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์แล้ว
- เส้นโค้งการไล่ระดับแบบใหม่จำนวนมากที่อยู่ระหว่างการทดสอบ
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
- ตอนนี้อินเทอร์เฟซในไลบรารีคอมโพสิทสร้างขึ้นโดยใช้เมธอดอินเทอร์เฟซเริ่มต้นของ 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
- อัปเดตการแยกวิเคราะห์รูปภาพที่วาดได้แบบเวกเตอร์เพื่อรองรับการมิเรอร์อัตโนมัติเพื่อพลิกเนื้อหาของ
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
- ไชโย! ตอนนี้เครื่องมือสร้างภาพเคลื่อนไหวรองรับการตั้งค่า "อัตราความเร็วตามตัวสร้างภาพเคลื่อนไหว" จากตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์แล้ว (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)
การอัปเดตทรัพยากร Dependency
- ตอนนี้ขึ้นอยู่กับ 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 เพื่อให้ทำงานได้อย่างสอดคล้องกันหากคุณใช้ทั้ง Views และ Compose การเปลี่ยนแปลงนี้ยังช่วยให้มั่นใจด้วยว่าเมื่อคุณสร้าง UI โดยใช้คอมโพเนนต์ Compose Material คุณจะเป็นไปตามข้อกำหนดขั้นต่ำสำหรับการช่วยเหลือพิเศษสำหรับเป้าหมายการสัมผัส
- รองรับแถบข้างสำหรับไปยังส่วนต่างๆ อย่างเสถียร
- เปลี่ยน 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 ใหม่ใน Crossfade ระบบภาพเคลื่อนไหวจะใช้ 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 ภาพเคลื่อนไหวใหม่สำหรับรองรับเครื่องมือ กล่าวโดยละเอียดคือ แท็กเหล่านี้อนุญาตให้เครื่องมือตรวจสอบภาพเคลื่อนไหวและการกำหนดค่าในทรานซิชัน (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 ภาพเคลื่อนไหวใหม่สำหรับรองรับเครื่องมือ กล่าวโดยละเอียดคือ ช่วยให้เครื่องมือตรวจสอบภาพเคลื่อนไหวและการกำหนดค่าในทรานซิชันได้ (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
และ APIAnimatedVisibility
บางรายการได้รับการทำให้เสถียรแล้ว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 มีการคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- อัปเดตให้ใช้ 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 มีคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- อัปเดตให้ใช้ 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 มีคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependency
- อัปเดตให้ใช้ 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
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
รูปแบบเหล่านี้อาจมีไวลด์การ์ด (
**
,*
และ?
) เพื่อให้กฎเดียวครอบคลุมเมธอดหรือคลาสหลายรายการ
กฎมีไว้เพื่ออะไร
เมธอดที่มี Flag
H
บ่งบอกว่าเมธอดนี้เป็นเมธอด "ร้อน" และควรคอมไพล์ล่วงหน้าเมธอดที่มี Flag
S
บ่งบอกว่าเป็นเมธอดที่เรียกใช้เมื่อเริ่มต้นระบบ และควรคอมไพล์ล่วงหน้าเพื่อหลีกเลี่ยงค่าใช้จ่ายในการคอมไพล์และการตีความเมธอดเมื่อเริ่มต้นระบบเมธอดที่มี Flag
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 ใน callback ของ 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
- เลิกใช้งาน AnimatedVisibility API ที่ใช้พารามิเตอร์
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() - สําหรับ Use Case ที่ซับซ้อน คุณสามารถใช้ 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)
- การวางแนวย้ายไปอยู่ในแพ็กเกจ Foundation แล้ว ย้าย 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)
- เราจะนําคอมโพสิเบิล
savedInstanceState { 0 }
ออกในลักษณะเดียวกับที่เรานําคอมโพสิเบิลstate { 0 }
ออกก่อนหน้านี้และตอนนี้ส่งเสริมให้ใช้คอมโพสิเบิลremember { mutableStateOf(0) }
คุณควรใช้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
บริบท coroutine ที่จะใช้กับภาพเคลื่อนไหวแบบไม่มีสิ้นสุด โดยค่าเริ่มต้น ระบบจะไม่ติดตั้งนโยบาย ยกเว้นเมื่อทำการทดสอบด้วยComposeTestRule
(I50ec4, b/151940543) - เราได้นําเมธอดการจัดโครงสร้างใหม่และ 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
- เลิกใช้งาน Transition ตาม 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)
- ระบบจะนำ Duration และ Uptime ไปแทนที่ด้วย Long milliseconds และขั้นตอนนี้จะนําการพึ่งพาอินพุตเคอร์เซอร์ในคลาสเหล่านั้นออก (Ia33b2, b/175142755, b/177420019)
- ตอนนี้คุณสร้างองค์ประกอบที่คลิกได้ สลับได้ และเลือกได้นอกองค์ประกอบได้แล้ว (I0a130, b/172938345, b/175294473)
- เปลี่ยน Easing เป็นอินเทอร์เฟซที่ใช้งานได้ (Ib14e5)
items(count: Int)
เมธอดแฟกทอรีใหม่สำหรับขอบเขตของ 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
- แก้ไข Velocity ให้มีองค์ประกอบและการดำเนินการทางคณิตศาสตร์ (Ib0447)
- เปลี่ยนชื่อ
@ExperimentalTesting
เป็น@ExperimentalTestApi
เพื่อให้สอดคล้องกับคำอธิบายประกอบ API เวอร์ชันทดลองที่คล้ายกัน (Ia4502, b/171464963) - เปลี่ยนชื่อ Position เป็น DpOffset และนํา getDistance() ออก (Ib2dfd)
- นํา API สาธารณะ Any.identityHashCode() ออกแล้ว (I025d7)
การแก้ไขข้อบกพร่อง
- API ใหม่ที่ใช้ coroutine
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)
- เปิดตัว Transition 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)
- เพิ่มตัวเลือกชั่วคราวเพื่อให้ TestAnimationClock ทำงานตาม MonotonicFrameClock (I1403b, b/173402197)
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อ Modifier.drawLayer เป็น Modifier.graphicsLayer และอัปเดตคลาสที่เกี่ยวข้องเป็น GraphicsLayer ตามความคิดเห็นจากสภา API ด้วย (I0bd29, b/173834241)
- เพิ่ม Modifier.scale/rotate
API เพื่อความสะดวกใน drawLayer
- เปลี่ยนชื่อ Modifier.drawOpacity เป็น Modifier.alpha
- เปลี่ยนชื่อ Modifier.drawShadow เป็น Modifier.shadow (I264ca, b/173208140)
- ทำให้ฟิลด์การอัปเดตและตำแหน่งของ PointerInputData เป็นฟิลด์ที่ต้องมีค่า (Id468a)
- เปลี่ยนชื่อตัวแก้ไข offsetPx เป็น offset ตอนนี้ใช้พารามิเตอร์ Lambda แทนสถานะ (Ic3021, b/173594846)
- API ใหม่สําหรับการแสดงภาพเคลื่อนไหวในโคโรทีน (Ied662)
- เลิกใช้งานแอมเบียนท์ที่มีชื่อต่อท้ายด้วย
Ambient
และแทนที่ด้วยพร็อพเพอร์ตี้ใหม่ที่ขึ้นต้นด้วยแอมเบียนท์ตามหลักเกณฑ์อื่นๆ ของแอมเบียนท์และ Compose API (I33440) - ตอนนี้การควบคุมเวลาในการทดสอบ (TestAnimationClock และการใช้งาน) อยู่ในช่วงทดลอง (I6ef86, b/171378521)
- นําโมดูล ui-test เก่าและสตับออก (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 คุณควรสร้างบรรยากาศการธีมเฉพาะสำหรับระบบการออกแบบของคุณเองแทน ซึ่งจะใช้ได้ในคอมโพเนนต์ของคุณเอง (I74acc, b/172067770)
- เราเลิกใช้งาน foundation.Text แล้วและแทนที่ด้วย material.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 การเปลี่ยนรูปแบบการแปลงขนาดและการหมุนเพื่อใช้พารามิเตอร์การเลื่อนตำแหน่งเดียวเพื่อแสดงพิกัดจุดหมุนแทนการใช้พารามิเตอร์ float แยกต่างหากสำหรับพิกัด x/y ใน DrawScope และ DrawTransform
- นำเมธอด Rect.expandToInclude และ Rect.join ออกแล้ว
- อัปเดตเอกสารประกอบของรัศมีเป็น "รูปไข่" นอกเหนือจาก "รูปไข่รี"
- เพิ่มเอกสารประกอบเพื่อระบุว่าไม่ควรเรียกใช้คอนสตรัคเตอร์แบบสาธารณะของคลาส Radius แบบอินไลน์โดยตรง แต่ควรสร้างอินสแตนซ์ออบเจ็กต์ Radius ผ่านคอนสตรัคเตอร์ของฟังก์ชันแทน
- นำ RoundRect API ออกเพื่อค้นหา 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)
- เปลี่ยนชื่อกองเป็นกล่องแล้ว เราจะเลิกใช้งาน Box ที่มีอยู่ก่อนหน้านี้และหันมาใช้ Box ใหม่ใน compose.foundation.layout ลักษณะการทํางานของกล่องใหม่คือการซ้อนองค์ประกอบย่อยไว้บนกันเมื่อมีองค์ประกอบย่อยหลายรายการ ซึ่งแตกต่างจากกล่องเวอร์ชันเก่าที่ทํางานคล้ายกับคอลัมน์ (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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อการใช้ gravity เป็น align หรือ alignment ใน 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
เมื่อทำการทดสอบที่ต้องใช้ ManualFrameClock และTestUiDispatcher.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 เดียวกับที่คอมโพสิชันมีการเปลี่ยนแปลงที่ commit ไว้ ไม่ใช่ที่จุดเริ่มต้นของเฟรม 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 จะแสดงภาพเนื้อหาย่อยแบบเคลื่อนไหว
เราได้เปิดตัว EnterTransition และ ExitTransition เพื่อใช้ร่วมกับคอมโพสิชัน 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) - รองรับ Listener ปลายทางใน
Modifier.animateContentSize()
เพื่อให้ Listener ได้รับแจ้งเมื่อภาพเคลื่อนไหวการเปลี่ยนแปลงขนาดสิ้นสุดลง พร้อมกับขนาดเริ่มต้น/สิ้นสุดของภาพเคลื่อนไหว (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 ผสานรวมกับ foundation.share แล้ว (I46491, b/161887429)
- เลิกใช้งาน Modifier.plus แล้ว ให้ใช้ Modifier.then แทน "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 มีการคอมมิตเหล่านี้
การอัปเดตทรัพยากร Dependencies
- หากต้องการใช้ Compose เวอร์ชัน
0.1.0-dev15
คุณจะต้องอัปเดต Dependency ตามข้อมูลโค้ดใหม่ที่แสดงด้านบนในส่วนการประกาศ Dependency
การเปลี่ยนแปลง API
- Transition API มีการเปลี่ยนแปลงให้แสดงผล TransitionState แทนการส่ง TransitionState ไปยังรายการย่อย ซึ่งทำให้ API นี้สอดคล้องกับ API animate() มากขึ้น (I24e38)
- เพิ่มพารามิเตอร์ตัวแก้ไขสําหรับ Crossfade (I87cfe, b/159706180)
- ใช้ AnimationSpec แทน AnimationBuilder ใน API ระดับบนสุดเพื่อชี้แจงแนวคิดของข้อกําหนดภาพเคลื่อนไหวแบบคงที่
- ปรับปรุง DSL การเปลี่ยนโดยนำข้อกำหนดของ Lambda ในการสร้าง AnimationSpecs เช่น tween, spring ออก แต่จะรับพารามิเตอร์คอนสตรัคเตอร์โดยตรงแทน
- ปรับปรุงความง่ายในการใช้งานโดยรวมของ AnimationSpec ซึ่งเปิดใช้คอนสตรัคเตอร์แทนที่จะใช้ตัวสร้าง
- เปลี่ยนระยะเวลาและความล่าช้าของ KeyFrame และ 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 ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ 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 ฯลฯ
- เพิ่ม @Composable API ชุดใหม่ที่มีน้ำหนักเบาสำหรับแสดงภาพเคลื่อนไหวระหว่างค่า (I79530)
- การเปลี่ยนแปลงที่สำคัญใน Ambients API ดูรายละเอียดได้ในบันทึกและเอกสารประกอบของ
Ambient<T>
(I4c7ee, b/143769776) - โหมดเล่นซ้ำใหม่: ย้อนกลับ โหมดนี้จะกลับการทำซ้ำก่อนหน้าเมื่อภาพเคลื่อนไหวซ้ำใน RepeatableSpec หรือ VectorizedRepeatableSpec (Ibe0f5)
- การเพิ่ม API ลงใน ManualAnimationClock:
hasObservers: Boolean
และพารามิเตอร์คอนสตรัคเตอร์dispatchOnSubscribe: Boolean
(Iaa134) - เพิ่ม API สำหรับการรับขอบเขตต่ำสุด/สูงสุดใน AnimatedFloat (Icd9cc)
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อ
runOnIdleCompose
เป็นrunOnIdle
(I83607) - มีการเปลี่ยนชื่อ API การทดสอบหลายรายการเพื่อให้เข้าใจง่ายขึ้น API ทั้งหมดของ findXYZ เปลี่ยนชื่อเป็น onNodeXYZ แล้ว API ทั้งหมดของ doXYZ ได้เปลี่ยนชื่อเป็น performXYZ แล้ว (I7f164)
- เปิดตัว API ภาพเคลื่อนไหวแบบไม่มีสถานะระดับล่าง API เหล่านี้ (I63bf7)
- คอมโพสิชัน "จัดองค์ประกอบใหม่" ไม่ได้เป็นนามธรรมที่มีประโยชน์อีกต่อไป การคอมโพสิชันใหม่ส่วนใหญ่ควรเกิดขึ้นจากการกำหนด MutableState สําหรับรายการอื่นๆ นอกเหนือจากนี้ เราขอแนะนําให้ใช้ฟังก์ชัน
invalidate
เพื่อทริกเกอร์การจัดองค์ประกอบใหม่ของขอบเขตปัจจุบัน (Ifc992) - แทนที่การใช้คลาส Px ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทพื้นฐานสำหรับพารามิเตอร์พิกเซล ลบชั้น Px ทั้งหมด (I3ff33)
- แทนที่การใช้คลาส Px ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทพื้นฐานสำหรับพารามิเตอร์พิกเซล (Id3434)
- ตอนนี้ Crossfade ทํางานกับค่าเริ่มต้นเป็น Null ได้แล้ว (Iad6a4, b/155947711)
- แทนที่การใช้คลาส Px ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทพื้นฐานสำหรับพารามิเตอร์พิกเซล (I19d02)
- รวมการใช้งาน CanvasScope เข้าด้วยกันเพื่อให้เหลือเพียง DrawScope และ ContentDrawScope เท่านั้น และเปลี่ยนชื่อ CanvasScope เป็น DrawScope อัปเดต DrawScope เพื่อใช้อินเทอร์เฟซ Density และระบุ LayoutDirection ลบคลาสย่อย DrawScope ใน ContentDrawScope อัปเดต Painter และ PainterModifier เพื่อไม่ให้จัดการพร็อพเพอร์ตี้ RTL ด้วยตนเองอีกต่อไปเนื่องจาก DrawScope มีพร็อพเพอร์ตี้นี้อยู่แล้วโดยไม่ต้องระบุด้วยตนเอง (I1798e)
- อัปเดตระดับที่สูงขึ้นเพื่อคอมโพส API ที่แสดง Canvas ให้แสดง CanvasScope แทน ซึ่งทำให้ผู้บริโภคไม่ต้องดูแลรักษาออบเจ็กต์ Paint ของตนเอง สําหรับผู้บริโภคที่ยังคงต้องการเข้าถึง Canvas อยู่ สามารถใช้เมธอดของส่วนขยาย drawCanvas ซึ่งจะให้การเรียกกลับเพื่อออกคําสั่งวาดด้วย Canvas ที่อยู่เบื้องหลัง (I80afd)
- เพิ่มพารามิเตอร์ verticalGravity และ horizontalGravity ลงในแถวและคอลัมน์ตามลำดับ (I7dc5a)
- เปลี่ยนชื่อโมดูล ui-text เป็น ui-text-core (I57dec)
- ปรับปรุง DrawModifier API
- สร้างขอบเขตผู้รับสำหรับ ContentDrawScope ของ draw()
- นําพารามิเตอร์ทั้งหมดใน draw() ออก
- DrawScope มีอินเทอร์เฟซเดียวกับ CanvasScope เดิม
- ContentDrawScope มีเมธอด drawContent() (Ibaced, b/152919067)
- ตอนนี้
runOnIdleCompose
และrunOnUiThread
เป็นฟังก์ชันส่วนกลางแทนเมธอดใน ComposeTestRule (Icbe8f) - [Mutable]ย้ายโอเปอเรเตอร์ตัวรับมอบสิทธิ์พร็อพเพอร์ตี้สถานะไปยังส่วนขยายเพื่อรองรับการเพิ่มประสิทธิภาพตัวรับมอบสิทธิ์พร็อพเพอร์ตี้ของ Kotlin 1.4 ผู้โทรต้องเพิ่มการนําเข้าเพื่อใช้
by state { ... }
หรือby mutableStateOf(...)
ต่อ (I5312c) - เลิกใช้งาน ColoredRect แล้ว ให้ใช้
Box(Modifier.preferredSize(width, height).drawBackground(color))
แทน (I499fa, b/152753731) - แทนที่โอเปอเรเตอร์ตัวเพิ่มตัวแก้ไขด้วยฟังก์ชันส่วนขยายเริ่มต้น (I225e4)
- คอมโพสิชันศูนย์ที่เลิกใช้งานแล้ว ควรแทนที่ด้วยตัวแก้ไข LayoutSize.Fill + LayoutAlign.Center หรือคอมโพสิชัน Box หรือ Stack รายการใดรายการหนึ่งที่มีการใช้ตัวแก้ไขที่เหมาะสม (Idf5e0)
- เปลี่ยนชื่อ LayoutFlexible เป็น LayoutWeight เปลี่ยนชื่อพารามิเตอร์แบบแน่นเป็น "fill" (If4738)
- ฟังก์ชันคอมโพสิเบิลความทึบแสงถูกแทนที่ด้วยตัวแก้ไข drawOpacity (I5fb62)
- ตอนนี้การทดสอบที่ใช้ AndroidComposeTestRule มีภาพเคลื่อนไหวของนาฬิกาที่รูทของคอมโพสิชัน ซึ่งช่วยให้หยุดชั่วคราว กลับมาทำงานต่อ และเลื่อนไปข้างหน้าด้วยตนเองได้ (Id54c5)
- รองรับทิศทางจากขวาไปซ้ายในตัวแก้ไข LayoutPadding (I9e8da)
- เราได้รวม Density และ DensityScope ไว้ในอินเทอร์เฟซเดียว ตอนนี้คุณใช้ DensityAmbient.current แทน ambientDensity() ได้แล้ว แทนที่จะใช้ withDensity(density) ให้ใช้แค่ with(density) (I11cb1)
- เพิ่มเมธอดการคัดลอกไปยังคลาสประเภทต่างๆ แบบอินไลน์ ซึ่งรวมถึงคลาสต่อไปนี้
- ออฟเซ็ต
- ขนาด
- รัศมี
- การเคลื่อนไหว
- TransformOrigin
- เลิกใช้งานเมธอดออบเจ็กต์คอมพาเนียนของ Size.copy ไปใช้เมธอดการคัดลอกอินสแตนซ์แทน (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)