ภาพเคลื่อนไหวของ Compose

สร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack 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 in SeekableTransitionState 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

  • รองรับป้ายกำกับเครื่องมือใน rememberInfiniteTransition และฟังก์ชันส่วนขยายทั้งหมดใน 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 ให้ขึ้นอยู่กับ Kotlin 1.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 และ AGP 7.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 เมื่อเรียกใช้การทดสอบที่ต้องใช้ 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")
        }
    }
    

    (I0a85b, b/161247083)

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

  • เลิกใช้งาน 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)