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

สร้างภาพเคลื่อนไหวในแอปพลิเคชัน Jetpack Compose เพื่อมอบประสบการณ์การใช้งานที่ดีขึ้นให้แก่ผู้ใช้
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
13 พฤศจิกายน 2024 1.7.5 - - 1.8.0-alpha06

อัปเดตไลบรารี compose.animation เป็นเวอร์ชันล่าสุด

ข้อความแจ้งจะขอให้อัปเดตไลบรารี compose.animation เป็นเวอร์ชันล่าสุด พร้อมให้คำแนะนำเกี่ยวกับการปรับเปลี่ยนโค้ดที่จำเป็น (ไม่บังคับ)

เรียกใช้พรอมต์นี้ใน Android Studio โดยเปิดไฟล์แคตตาล็อกเวอร์ชันไว้

Please update library compose.animation to the latest available version and inform me of any followup changes I need to make in my code.

การใช้พรอมต์ AI

พรอมต์ AI มีไว้เพื่อใช้ใน Gemini ใน Android Studio (ต้องใช้ Canary เวอร์ชันล่าสุด)

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Gemini ใน Studio ได้ที่ https://developer.android.com/studio/preview/gemini

โครงสร้าง

คอมโพสิทคือชุดรหัสกลุ่ม Maven 7 รายการภายใน androidx แต่ละกลุ่มประกอบด้วยฟังก์ชันการทํางานย่อยที่กําหนดเป้าหมายไว้ โดยแต่ละกลุ่มจะมีชุดหมายเหตุการเผยแพร่ของตัวเอง

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

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

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

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

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

Groovy

dependencies {
    implementation "androidx.compose.animation:animation:1.7.5"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.animation:animation:1.7.5")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

ความคิดเห็น

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

สร้างปัญหาใหม่

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

เวอร์ชัน 1.8

เวอร์ชัน 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.5

30 ตุลาคม 2024

androidx.compose.animation:animation-*:1.7.5 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.5 มีการคอมมิตเหล่านี้

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

  • แก้ไขข้อบกพร่องที่ทำให้การจัดตำแหน่ง Modifier.animateContentSize อย่างไม่ถูกต้องใน RTL (Idae6b, b/372055503)

เวอร์ชัน 1.7.4

16 ตุลาคม 2024

androidx.compose.animation:animation-*:1.7.4 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.4 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.7.3

2 ตุลาคม 2024

androidx.compose.animation:animation-*:1.7.3 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.3 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.7.2

18 กันยายน 2024

androidx.compose.animation:animation-*:1.7.2 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.2 มีการคอมมิตเหล่านี้

การมีส่วนร่วมจากภายนอก

  • ป้องกันไม่ให้ตั้งค่าทรานซิชันที่กรอได้ playTime เมื่อไม่มีทรานซิชันที่ทำงานอยู่ ขอขอบคุณ Steven Schoen (c2e6e7e6)

เวอร์ชัน 1.7.1

10 กันยายน 2024

  • ไม่มีการเปลี่ยนแปลงอาร์ติแฟกต์ Android นําอาร์ติแฟกต์ -desktop รายการออกและเพิ่มอาร์ติแฟกต์ -jvmStubs และ -linuxx64Stubs รายการ เป้าหมายเหล่านี้ไม่ได้มีไว้เพื่อใช้งาน แต่เป็นตัวยึดตําแหน่งเพื่อช่วยในการใช้งาน Jetbrains Compose

เวอร์ชัน 1.7.0

4 กันยายน 2024

androidx.compose.animation:animation-*:1.7.0 ได้รับการปล่อยแล้ว

การเปลี่ยนแปลงที่สําคัญตั้งแต่เวอร์ชัน 1.6.0

การเปลี่ยนแปลงที่สําคัญในเวอร์ชัน 1.7.0 มีอยู่ในบล็อกโพสต์นี้

Shared Element Transition API ใหม่

  • API การเปลี่ยนองค์ประกอบแบบใช้ร่วมกันใหม่พร้อมให้คุณใช้งานและแสดงความคิดเห็น API ใหม่เวอร์ชันทดลองเหล่านี้ช่วยให้คุณติดแท็กเลย์เอาต์ที่แชร์ในลําดับชั้นเลย์เอาต์ได้โดยใช้ตัวแก้ไขที่ระบุ ซึ่งจะสร้างขอบเขตที่เปลี่ยนแปลงอย่างราบรื่นเมื่อเนื้อหาชุดหนึ่งที่มีการแชร์ออกจากหน้าเว็บและอีกชุดหนึ่งเข้ามา (Icb0b9)
  • scaleInSharedContentToBounds และ scaleOutSharedContentToBounds ใหม่สำหรับการปรับขนาดเนื้อหาใน sharedBounds (I731c1)
  • ตอนนี้ SharedTransitionScope เวอร์ชันทดลองเป็นอินเทอร์เฟซแทนที่จะเป็นคลาส (Iaf856)
  • resizeModes ใหม่ (ScaleToBounds และ RemeasureToBounds) สำหรับ sharedBounds เพื่อเลือกระหว่างการปรับขนาดและการวัดใหม่ เราได้เลิกใช้งาน scaleIn/OutSharedContentToBounds API เวอร์ชันเก่าแล้ว (I0d41a)

การปรับปรุง API ที่มีอยู่

  • Modifier.animateContentSize ใหม่ที่ใช้พารามิเตอร์เพิ่มเติมสำหรับการจัดแนวเนื้อหาที่กำหนดเอง (I5623a, b/269803907)
  • DeferredTargetAnimation แบบใหม่สำหรับการทำให้ขนาด ตำแหน่ง หรือเป้าหมายอื่นๆ เคลื่อนไหวซึ่งไม่ทราบในระหว่างการสร้างอินสแตนซ์ (I60745)
  • SeekableTransitionState แทนที่ snapTo() ด้วย seekTo() และเพิ่ม snapTo() ที่เปลี่ยนสถานะเป็นสถานะปลายทางทันทีโดยไม่มีภาพเคลื่อนไหวใดๆ
  • ตอนนี้คุณสามารถส่งค่า periodicBias (Float) ไปยัง keyframesWithSpline ได้แล้ว ซึ่งจะทำให้ความเร็วเริ่มต้นและความเร็วสุดท้ายของสไปรลเท่ากัน มีประโยชน์สำหรับภาพเคลื่อนไหวที่ซ้ำกันโดยใช้เส้นโค้ง ความลำเอียงบ่งบอกถึงจำนวนที่ความเร็วแต่ละรายการ (เริ่มต้นและสุดท้าย) ได้รับการแก้ไขเพื่อให้เกิดความเป็นรอบ (Ic1e6c, b/292114811)

API ต่อไปนี้มีความเสถียรหรือถูกนําออกแล้ว

  • ตอนนี้ AnimatedVisibilityScope.transition เป็น API ที่เสถียรแล้ว Modifier.animateEnterExit(..) ได้รับการอัปเดตให้เสถียรแล้วด้วย (I6c1d1)
  • ตอนนี้ ApproachLayoutModifierNode และ Modifier.approachLayout ทำงานได้อย่างเสถียรแล้ว โดยมี isMeasurementApproachInProgress() และ isPlacementApproachInProgress() ใหม่มาแทนที่ isMeasurementApproachComplete() และ isPlacementApproachComplete() เดิมตามลำดับ
  • นำตัวแก้ไข intermediateLayout ที่เลิกใช้งานแล้วออก (I3e91c)
  • LookaheadScope API ทำงานได้อย่างเสถียรแล้ว (I21507)

เวอร์ชัน 1.7.0-rc01

21 สิงหาคม 2024

androidx.compose.animation:animation-*:1.7.0-rc01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-rc01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.7.0-beta07

7 สิงหาคม 2024

androidx.compose.animation:animation-*:1.7.0-beta07 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-beta07 มีการคอมมิตเหล่านี้

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

  • แก้ไข SharedTransitionScope ไม่วาดรายการวางซ้อนระหว่างการเปลี่ยนในบางเงื่อนไข ซึ่งโดยทั่วไปจะรวมถึงการใช้งานกับการนําทาง (Id65ab, b/347520198)

เวอร์ชัน 1.7.0-beta06

24 กรกฎาคม 2024

androidx.compose.animation:animation-*:1.7.0-beta06 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-beta06 มีการคอมมิตเหล่านี้

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

  • แก้ไขSeekableTransition การรั่วไหลสถานะการเปลี่ยนผ่านโดยการล้างการสังเกตการณ์จาก SnapshotStateObserver อย่างถูกต้องเมื่อมีการทิ้งการเปลี่ยนผ่าน (b9c7182)
  • แก้ไขกรณีขอบเขตที่ไม่มีการทําเครื่องหมายการเปลี่ยนรุ่นย่อยว่าเสร็จสมบูรณ์อย่างถูกต้องเมื่อการเปลี่ยนรุ่นหลักเสร็จสมบูรณ์ (dc42216)

เวอร์ชัน 1.7.0-beta05

10 กรกฎาคม 2024

androidx.compose.animation:animation-*:1.7.0-beta05 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-beta05 มีการคอมมิตเหล่านี้

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

  • ตอนนี้ระบบอ่านพร็อพเพอร์ตี้ Transition totalDurationNanos ภายใน snapshotFlow ได้อย่างถูกต้องแล้ว

เวอร์ชัน 1.7.0-beta04

26 มิถุนายน 2024

androidx.compose.animation:animation-*:1.7.0-beta04 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-beta04 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.7.0-beta03

12 มิถุนายน 2024

androidx.compose.animation:animation-*:1.7.0-beta03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-beta03 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.7.0-beta02

29 พฤษภาคม 2024

androidx.compose.animation:animation-*:1.7.0-beta02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-beta02 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.7.0-beta01

14 พฤษภาคม 2024

androidx.compose.animation:animation-*:1.7.0-beta01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-beta01 มีการคอมมิตเหล่านี้

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

  • resizeModes ใหม่ (ScaleToBounds และ RemeasureToBounds) สำหรับ sharedBounds เพื่อเลือกระหว่างการปรับขนาดและการวัดใหม่ เราได้เลิกใช้งาน scaleIn/OutSharedContentToBounds API เวอร์ชันเก่าแล้ว (I0d41a)

การมีส่วนร่วมจากภายนอก

  • ตอนนี้ SharedTransitionScope แบบทดลองเป็นอินเทอร์เฟซแทนที่จะเป็นคลาสโดย Steven Schoen (Iaf856, b/338415048, b/338414702)

เวอร์ชัน 1.7.0-alpha08

1 พฤษภาคม 2024

androidx.compose.animation:animation-*:1.7.0-alpha08 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha08 มีการคอมมิตเหล่านี้

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

  • LookaheadScope API ทำงานได้อย่างเสถียรแล้ว (I21507)

การมีส่วนร่วมจากภายนอก

  • Clear start animation time after SeekableTransitionState animates/snaps by Steven Schoen (1ca89529)

เวอร์ชัน 1.7.0-alpha07

17 เมษายน 2024

androidx.compose.animation:animation-*:1.7.0-alpha07 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha07 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • API การเปลี่ยนองค์ประกอบแบบใช้ร่วมกันใหม่พร้อมให้คุณใช้งานและแสดงความคิดเห็น API ใหม่เวอร์ชันทดลองเหล่านี้ช่วยให้คุณติดแท็กเลย์เอาต์ที่แชร์ในลําดับชั้นเลย์เอาต์ได้โดยใช้ตัวแก้ไขที่ระบุ ซึ่งจะสร้างขอบเขตที่เปลี่ยนแปลงอย่างราบรื่นเมื่อเนื้อหาชุดหนึ่งที่มีการแชร์ออกจากหน้าเว็บและอีกชุดหนึ่งเข้ามา (Icb0b9)
  • scaleInSharedContentToBounds และ scaleOutSharedContentToBounds ใหม่สำหรับการปรับขนาดเนื้อหาใน sharedBounds (I731c1)

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

  • ตอนนี้ AnimatedVisibilityScope.transition เป็น API ที่เสถียรแล้ว Modifier.animateEnterExit(..) ได้รับการอัปเดตให้เสถียรแล้วด้วย (I6c1d1)
  • ตอนนี้ ApproachLayoutModifierNode และ Modifier.approachLayout ทำงานได้อย่างเสถียรแล้ว โดยมี isMeasurementApproachInProgress() และ isPlacementApproachInProgress() ใหม่มาแทนที่ isMeasurementApproachComplete() และ isPlacementApproachComplete() เดิมตามลำดับ
  • นำตัวแก้ไข intermediateLayout ที่เลิกใช้งานแล้วออก (I3e91c)
  • ตอนนี้คุณสามารถส่งค่า periodicBias (Float) ไปยัง keyframesWithSpline ได้แล้ว ซึ่งจะทำให้ความเร็วเริ่มต้นและความเร็วสุดท้ายของสไปรลเท่ากัน มีประโยชน์สำหรับภาพเคลื่อนไหวที่ซ้ำกันโดยใช้เส้นโค้ง ความลำเอียงบ่งบอกถึงจำนวนที่ความเร็วแต่ละรายการ (เริ่มต้นและสุดท้าย) ได้รับการแก้ไขเพื่อให้เกิดความเป็นรอบ (Ic1e6c, b/292114811)

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

  • แก้ไขเส้นโค้งการผ่อนคลายที่เกินและต่ำกว่าที่ควรจะเป็น ซึ่งก่อนหน้านี้จะจำกัดอยู่ที่ 0..1 (I38747)

เวอร์ชัน 1.7.0-alpha06

3 เมษายน 2024

androidx.compose.animation:animation-*:1.7.0-alpha06 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha06 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับภาพเคลื่อนไหวของรายการที่ปรากฏและหายไปใน LazyColumn และ LazyRow ก่อนหน้านี้ คุณสามารถเพิ่มตัวแก้ไข Modifier.animateItemPlacement() เพื่อรองรับภาพเคลื่อนไหวของตําแหน่ง (การจัดเรียงใหม่) เราได้เลิกใช้งานตัวแก้ไขนี้และเปิดตัวตัวแก้ไขใหม่ที่ไม่ใช่เวอร์ชันทดลองชื่อ Modifier.animateItem() ซึ่งจะช่วยให้คุณรองรับภาพเคลื่อนไหวทั้ง 3 ประเภท ได้แก่ การแสดง (Fade In) การหายไป (Fade Out) และการจัดเรียงใหม่ (I2d7f7, b/330152398, b/150812265)

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

  • ปรับปรุงประสิทธิภาพของ updateTransition API

เวอร์ชัน 1.7.0-alpha05

20 มีนาคม 2024

androidx.compose.animation:animation-*:1.7.0-alpha05 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha05 มีการคอมมิตเหล่านี้

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

  • SeekableTransitionState แทนที่ snapTo() ด้วย seekTo() และเพิ่ม snapTo() ที่เปลี่ยนสถานะเป็นสถานะปลายทางทันทีโดยไม่มีภาพเคลื่อนไหวใดๆ

เวอร์ชัน 1.7.0-alpha04

6 มีนาคม 2024

androidx.compose.animation:animation-*:1.7.0-alpha04 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha04 มีการคอมมิตเหล่านี้

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

  • API ใหม่ Path.reverse() สำหรับเปลี่ยนทิศทางของเส้นทาง (I36348)

เวอร์ชัน 1.7.0-alpha03

21 กุมภาพันธ์ 2024

androidx.compose.animation:animation-*:1.7.0-alpha03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha03 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • Modifier.animateContentSize ใหม่ที่ใช้พารามิเตอร์เพิ่มเติมสำหรับการจัดแนวเนื้อหาที่กำหนดเอง (I5623a, b/269803907)
  • DeferredTargetAnimation แบบใหม่สำหรับการทำให้ขนาด ตำแหน่ง หรือเป้าหมายอื่นๆ เคลื่อนไหวซึ่งไม่ทราบในระหว่างการสร้างอินสแตนซ์ (I60745)

เวอร์ชัน 1.7.0-alpha02

7 กุมภาพันธ์ 2024

androidx.compose.animation:animation-*:1.7.0-alpha02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha02 มีการคอมมิตเหล่านี้

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

  • การแก้ไขความเข้ากันได้สำหรับ KeyframesSpec (I2bdf3, b/322214617)
  • แก้ไข Modifier.animateContentSize ที่ไม่รีเซ็ตอย่างถูกต้องเมื่อใช้ใน LazyList (I070512, b/322525716)
  • แก้ไข IllegalStateException ใน KeyframesSpec เมื่อใช้การประทับเวลาที่อยู่นอกช่วง (I341b8, b/322839811)

เวอร์ชัน 1.7.0-alpha01

24 มกราคม 2024

androidx.compose.animation:animation-*:1.7.0-alpha01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.7.0-alpha01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6

เวอร์ชัน 1.6.8

12 มิถุนายน 2024

androidx.compose.animation:animation-*:1.6.8 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.8 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.7

1 พฤษภาคม 2024

androidx.compose.animation:animation-*:1.6.7 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.7 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.6

17 เมษายน 2024

androidx.compose.animation:animation-*:1.6.6 ได้รับการปล่อยแล้ว ไม่มีการเปลี่ยนแปลงนับตั้งแต่รุ่นก่อนหน้า

เวอร์ชัน 1.6.5

3 เมษายน 2024

androidx.compose.animation:animation-*:1.6.5 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.5 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.4

20 มีนาคม 2024

androidx.compose.animation:animation-*:1.6.4 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.4 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.3

6 มีนาคม 2024

androidx.compose.animation:animation-*:1.6.3 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.3 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.2

21 กุมภาพันธ์ 2024

androidx.compose.animation:animation-*:1.6.2 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.2 มีคอมมิตเหล่านี้

เวอร์ชัน 1.6.1

7 กุมภาพันธ์ 2024

androidx.compose.animation:animation-*:1.6.1 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.1 มีคอมมิตเหล่านี้

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

  • การแก้ไขความเข้ากันได้สำหรับ KeyframesSpec (I2bdf3, b/322214617)

เวอร์ชัน 1.6.0

24 มกราคม 2024

androidx.compose.animation:animation-*:1.6.0 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0 มีคอมมิตเหล่านี้

เวอร์ชัน 1.6.0-rc01

10 มกราคม 2024

androidx.compose.animation:animation-*:1.6.0-rc01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-rc01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.0-beta03

13 ธันวาคม 2023

androidx.compose.animation:animation-*:1.6.0-beta03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-beta03 มีการคอมมิตเหล่านี้

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

  • นํา scaleInToFitContainer และ scaleOutToFitContainer ออกจาก AnimatedContentTransitionScope ชั่วคราวเนื่องจากต้องใช้การมองไปข้างหน้า ฟีเจอร์นี้จะพร้อมใช้งานเมื่อเปิดการมองไปข้างหน้าไว้โดยค่าเริ่มต้นหรือเลือกใช้ในรุ่นต่อๆ ไป

เวอร์ชัน 1.6.0-beta02

29 พฤศจิกายน 2023

androidx.compose.animation:animation-*:1.6.0-beta02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-beta02 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.0-beta01

15 พฤศจิกายน 2023

androidx.compose.animation:animation-*:1.6.0-beta01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-beta01 มีการคอมมิตเหล่านี้

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

  • เราได้เปลี่ยนชื่อ ExitTransition.Hold เป็น ExitTransition.KeepUntilTransitionsFinished เพื่อให้ชัดเจนยิ่งขึ้น (I1c490)
  • ตอนนี้คุณใช้ keyframesWithSpline เพื่อหาค่าที่ขาดหายไปในมิติข้อมูล N มิติได้โดยใช้เส้นโค้ง Spline แบบ Monotonic ซึ่งมีประโยชน์อย่างยิ่งในการหาค่าที่อยู่ระหว่างค่าต่างๆ เช่น Offset, IntOffset, DpOffset เพิ่มเป็น API เวอร์ชันทดลอง

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

  • เพิ่มการรองรับโปรแกรมแสดงผลสําหรับการไล่สีแบบไล่เฉดใน ArcLine (I4d5bb)
  • ใช้ equals และ hashcode สำหรับ PageSize.Fixed (Ie3ede, b/300134276)
  • แก้ไขปัญหาความเข้ากันได้ของไบนารีกับการเปลี่ยนแปลงระยะขอบหน้าต่าง (Iee695)
  • นําเลเยอร์หลักของ Material ออกสําหรับชิป/ปุ่ม Material3 เนื่องจากการทดสอบประสิทธิภาพแบบไมโครเบนช์มาร์กแสดงประสิทธิภาพที่ดีขึ้นเมื่อไม่มีเลเยอร์นี้ (I55555)

เวอร์ชัน 1.6.0-alpha08

18 ตุลาคม 2023

androidx.compose.animation:animation-*:1.6.0-alpha08 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha08 มีการคอมมิตเหล่านี้

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

  • เลิกใช้งาน KeyframesSpecConfig#with และใช้ KeyframesSpecConfig#using แทน ซึ่งจะคงรูปแบบตัวสร้างไว้ (I1d769)

เวอร์ชัน 1.6.0-alpha07

4 ตุลาคม 2023

androidx.compose.animation:animation-*:1.6.0-alpha07 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha07 มีการคอมมิตเหล่านี้

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

  • ตอนนี้แถวแท็บแบบคงที่และแบบเลื่อนได้จะมีตัวแปรหลักและรอง ซึ่งจับคู่กับสีและลักษณะการทำงานของตัวบ่งชี้อย่างถูกต้องตามที่ระบุไว้ใน Material3
  • ตอนนี้ PrimaryScrollableTabRow และ SecondaryScrollableTabRow จะแสดงสถานะการเลื่อน (Iec8f5, b/260572337)

เวอร์ชัน 1.6.0-alpha06

20 กันยายน 2023

androidx.compose.animation:animation-*:1.6.0-alpha06 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha06 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.6.0-alpha05

6 กันยายน 2023

androidx.compose.animation:animation-*:1.6.0-alpha05 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha05 มีการคอมมิตเหล่านี้

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

  • เพิ่ม PathEasing เพื่อส่งเส้นทางที่กำหนดเองไปยังเส้นโค้งการผ่อนผัน (Idb4b9)

เวอร์ชัน 1.6.0-alpha04

23 สิงหาคม 2023

androidx.compose.animation:animation-*:1.6.0-alpha04 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha04 มีการคอมมิตเหล่านี้

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

  • เพิ่ม SeekableTransitionState เพื่อให้นักพัฒนาแอปควบคุมความคืบหน้าของการเปลี่ยนผ่านได้ (I8e69d)

เวอร์ชัน 1.6.0-alpha03

9 สิงหาคม 2023

androidx.compose.animation:animation-*:1.6.0-alpha03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha03 มีคอมมิตเหล่านี้

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

  • ทรานซิชันเข้า/ออกประเภทใหม่ที่ปรับขนาดเนื้อหาตามขนาดของคอนเทนเนอร์ที่เคลื่อนไหวระหว่างภาพเคลื่อนไหวเข้าและออก LookaheadScope คอมโพสิเบิลสนุกและอินเทอร์เฟซมีเสถียรแล้ว (Ifb2ce)

เวอร์ชัน 1.6.0-alpha02

26 กรกฎาคม 2023

androidx.compose.animation:animation-*:1.6.0-alpha02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha02 มีการคอมมิตเหล่านี้

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

  • ExitTransition.Hold ใหม่เพื่อแสดงเนื้อหาที่กำลังจะออกใน AnimatedContent จนกว่าการเปลี่ยนทั้ง "เข้า" และ "ออก" จะเสร็จสมบูรณ์ (I5984f)
  • คําอธิบายประกอบเพิ่มเติมเพื่อระบุอินพุตที่อนุญาตสําหรับคอมโพสิเบิล (I51109)

เวอร์ชัน 1.6.0-alpha01

21 มิถุนายน 2023

androidx.compose.animation:animation-*:1.6.0-alpha01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.6.0-alpha01 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เปิดใช้ Modifier.animateContentSize และ AnimatedVisibility เพื่อผสานรวมกับระบบการคาดการณ์อย่างเต็มรูปแบบโดยการรายงานขนาดเป้าหมายในพาสการคาดการณ์

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

  • พร็อพเพอร์ตี้ใหม่ใน IntrinsincMeasureScope และการใช้งาน (เช่น MeasureScope) เพื่อระบุว่าการวัดผลปัจจุบันเป็นการวัดผลล่วงหน้าหรือไม่ (I7a812)

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

  • นำการจัดสรรออกจากภาพเคลื่อนไหวแบบสปริง (Ie9431)
  • เปลี่ยนชื่อพารามิเตอร์ค่าสำหรับ Enum.valueOf (Ia9b89)
  • ข้อยกเว้นที่โยนเพิ่มเติมจาก enum valueOf (I818fe)

รุ่น 1.5

เวอร์ชัน 1.5.4

18 ตุลาคม 2023

androidx.compose.animation:animation-*:1.5.4 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.4 มีคอมมิตเหล่านี้

เวอร์ชัน 1.5.3

4 ตุลาคม 2023

androidx.compose.animation:animation-*:1.5.3 ได้รับการปล่อยแล้ว เวอร์ชันนี้ไม่มีการเปลี่ยนแปลง

รุ่น 1.5.2

27 กันยายน 2023

androidx.compose.animation:animation-*:1.5.2 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.2 มีคอมมิตเหล่านี้

รุ่น 1.5.1

6 กันยายน 2023

androidx.compose.foundation:foundation-*:1.5.1 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.1 มีการคอมมิตเหล่านี้

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

  • แก้ไขช่องข้อความที่แสดงแป้นพิมพ์และแก้ไขได้เมื่อ readOnly เป็นจริง และแก้ไขแป้นพิมพ์ที่ไม่แสดงเมื่อเปลี่ยน readOnly จาก true เป็น false ขณะที่มีโฟกัส (I34a19, b/246909589)

รุ่น 1.5.1

6 กันยายน 2023

androidx.compose.animation:animation-*:1.5.1 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.1 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.5.0

9 สิงหาคม 2023

androidx.compose.animation:animation-*:1.5.0 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0 มีคอมมิตเหล่านี้

เวอร์ชัน 1.5.0-rc01

26 กรกฎาคม 2023

androidx.compose.animation:animation-*:1.5.0-rc01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-rc01 มีการคอมมิตเหล่านี้

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

  • แก้ไขปัญหาที่การเรียก .value ในประเภทสถานะพื้นฐาน (เช่น MutableIntState) จะรายงานคำเตือน Lint พร้อมการแก้ไขที่ไม่ถูกต้อง ตอนนี้การตรวจสอบจะแนะนำให้ย้ายข้อมูลไปยังพร็อพเพอร์ตี้ที่ถูกต้อง (Iba953, b/287279257)

  • การตรวจสอบที่ไม่บังคับเพื่อแนะนำให้ย้ายข้อมูลการเรียก mutableStateOf() ไปยังประเภทเฉพาะที่เกี่ยวข้องสำหรับองค์ประกอบพื้นฐานมีให้บริการ รหัส Lint ของโปรเจ็กต์คือ AutoboxingStateCreation ก่อนหน้านี้ การตรวจสอบนี้จะเปิดใช้โดยค่าเริ่มต้นสำหรับทุกโปรเจ็กต์ หากต้องการดูคำเตือนนี้ในเครื่องมือแก้ไขของ Android Studio และเอาต์พุตของ Lint ของโปรเจ็กต์ ให้เปลี่ยนระดับความรุนแรงจากข้อมูลเป็นคำเตือน (หรือสูงกว่า) ด้วยการประกาศ warning "AutoboxingStateCreation" ภายในการกำหนดค่า build.gradle หรือ build.gradle.kts ของโมดูลดังที่แสดง (I34f7e)

        android {
            lint {
                warning "AutoboxingStateCreation"
            }
            ...
        }
    

เวอร์ชัน 1.5.0-beta03

28 มิถุนายน 2023

androidx.compose.animation:animation-*:1.5.0-beta03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-beta03 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.5.0-beta02

7 มิถุนายน 2023

androidx.compose.animation:animation-*:1.5.0-beta02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-beta02 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.5.0-beta01

24 พฤษภาคม 2023

androidx.compose.animation:animation-*:1.5.0-beta01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-beta01 มีการคอมมิตเหล่านี้

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

  • นำการจัดสรรในการเปลี่ยนการจัดองค์ประกอบใหม่ ภาพเคลื่อนไหวสี และ AndroidComposeView (Ib2bfa) ออก

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

  • นำการจัดสรรออกจากภาพเคลื่อนไหวแบบสปริง (Ie9431)

เวอร์ชัน 1.5.0-alpha04

10 พฤษภาคม 2023

androidx.compose.animation:animation-*:1.5.0-alpha04 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-alpha04 มีการคอมมิตเหล่านี้

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

  • ตอนนี้ ContentKey รองรับใน AnimatedContent แล้วเพื่อให้ควบคุมได้มากขึ้นว่าควรเปลี่ยนเมื่อใด (Ic069b)

เวอร์ชัน 1.5.0-alpha03

19 เมษายน 2023

androidx.compose.animation:animation-*:1.5.0-alpha03 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-alpha03 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ลักษณะการทำงานเริ่มต้นใหม่ของ SubcomposeLayout ใน LookaheadScope ซึ่งช่วยให้ SubcomposeLayouts ที่ไม่มีช่องแบบมีเงื่อนไข (เช่น TabRow, Scaffold, BoxWithConstraints ฯลฯ) ทำงานร่วมกับภาพเคลื่อนไหวมองไปข้างหน้าได้อย่างราบรื่น

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

  • intermediateMeasurePolicy เริ่มต้นใหม่ที่ใช้นโยบายการวัดซ้ำจากการส่งผ่านการมองไปข้างหน้าช่วยให้SubcomposeLayoutย่อยที่ไม่มีช่องแบบมีเงื่อนไข เช่น Scaffold, TabRow และ BoxWithConstraints ทํางานร่วมกับการมองไปข้างหน้าได้โดยค่าเริ่มต้น (Id84c8)
  • เปลี่ยนชื่อ infix fun with เป็น togetherWith เพื่อรวมทรานซิชันของการเข้าและออก AnimatedContentScope ใหม่เป็นผู้รับสำหรับ Lambda ของเนื้อหา (Ic39ae)

เวอร์ชัน 1.5.0-alpha02

5 เมษายน 2023

androidx.compose.animation:animation-*:1.5.0-alpha02 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-alpha02 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • API ใหม่เวอร์ชันทดลองเพื่อรองรับการมองไปข้างหน้าใน SubcomposeLayout ซึ่งจะช่วยให้ SubcomposeLayout ทำงานได้อย่างถูกต้องใน LookaheadScope เราจะเพิ่มการรองรับSubcomposeLayoutประเภทย่อยที่เฉพาะเจาะจงมากขึ้นในเร็วๆ นี้

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

  • SubcomposeLayout API ใหม่ที่จะใช้นโยบายการวัดผลระดับกลางเพิ่มเติมเพื่อจัดการตรรกะการวัดผล/เลย์เอาต์ระหว่างภาพเคลื่อนไหวที่อิงตามการมองไปข้างหน้า (I017d3)

เวอร์ชัน 1.5.0-alpha01

22 มีนาคม 2023

androidx.compose.animation:animation-*:1.5.0-alpha01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.5.0-alpha01 มีการคอมมิตเหล่านี้

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

  • AnimatedContent API พร้อมใช้งานอย่างเสถียรแล้ว AnimatedContentScope ได้เปลี่ยนชื่อเป็น AnimatedContentTransitionScope ตอนนี้ scaleIn และ scaleOut เป็น API ที่เสถียรแล้ว (Iaf54e)

เวอร์ชัน 1.4

เวอร์ชัน 1.4.3

3 พฤษภาคม 2023

androidx.compose.animation:animation:1.4.3, androidx.compose.animation:animation-core:1.4.3 และ androidx.compose.animation:animation-graphics:1.4.3 เผยแพร่โดยไม่มีการเปลี่ยนแปลง (ยกเว้นการอัปเกรดเวอร์ชัน)

เวอร์ชัน 1.4.2

19 เมษายน 2023

androidx.compose.animation:animation:1.4.2, androidx.compose.animation:animation-core:1.4.2 และ androidx.compose.animation:animation-graphics:1.4.2 เผยแพร่โดยไม่มีการเปลี่ยนแปลง เวอร์ชัน 1.4.2 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.4.1

5 เมษายน 2023

androidx.compose.animation:animation:1.4.1, androidx.compose.animation:animation-core:1.4.1 และ androidx.compose.animation:animation-graphics:1.4.1 เผยแพร่โดยไม่มีการเปลี่ยนแปลง เวอร์ชัน 1.4.1 มีคอมมิตเหล่านี้

เวอร์ชัน 1.4.0

22 มีนาคม 2023

androidx.compose.animation:animation:1.4.0, androidx.compose.animation:animation-core:1.4.0 และ androidx.compose.animation:animation-graphics:1.4.0 เผยแพร่แล้ว เวอร์ชัน 1.4.0 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สําคัญตั้งแต่เวอร์ชัน 1.3.0

  • ระบบรองรับป้ายกำกับเครื่องมือใน 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

  • InfiniteTransition#TransitionAnimationState และ InfiniteTransition#animations API พร้อมให้บริการแก่ผู้ใช้ทั่วไปแล้ว (I36682)

เวอร์ชัน 1.4.0-alpha03

7 ธันวาคม 2022

androidx.compose.animation:animation:1.4.0-alpha03, androidx.compose.animation:animation-core:1.4.0-alpha03 และ androidx.compose.animation:animation-graphics:1.4.0-alpha03 เผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha03 มีคอมมิตเหล่านี้

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

  • ในการทดสอบ UI โดยใช้กฎการคอมโพสิท ระบบจะไม่ส่งต่อการดำเนินการต่อที่กลับมาทำงานระหว่างการเรียกคืน withFrameNanos จนกว่าการเรียกคืนเฟรมทั้งหมดจะทำงานเสร็จ ซึ่งจะตรงกับลักษณะการทํางานของคอมโพซเมื่อทํางานตามปกติ อย่างไรก็ตาม การทดสอบที่อาศัยลักษณะการทำงานแบบเก่าอาจไม่สําเร็จ ซึ่งควรส่งผลต่อโค้ดที่เรียก withFrameNanos หรือ withFrameMillis โดยตรงเท่านั้น และมีตรรกะนอก Callback ที่ส่งไปยังฟังก์ชันเหล่านั้น ซึ่งอาจต้องย้ายไปไว้ภายใน Callback ดูตัวอย่างการเปลี่ยนแปลงการทดสอบภาพเคลื่อนไหวใน CL นี้
  • เพิ่มพารามิเตอร์ onPerformTraversals: (Long) -> Unit ที่ไม่บังคับลงในคอนสตรัคเตอร์ TestMonotonicFrameClock และฟังก์ชันแฟกทอรีเพื่อเรียกใช้โค้ดหลังจากการเรียกกลับ withFrameNanos แต่ก่อนที่จะกลับมาทำงานต่อในโคโริวทีนของผู้ที่เรียกใช้ (Idb413, b/254115946, b/222093277, b/255802670)
  • พารามิเตอร์ใหม่ใน AnimatedContent สำหรับป้ายกำกับเครื่องมือ (Iebe2d)

เวอร์ชัน 1.4.0-alpha02

9 พฤศจิกายน 2022

androidx.compose.animation:animation:1.4.0-alpha02, androidx.compose.animation:animation-core:1.4.0-alpha02 และ androidx.compose.animation:animation-graphics:1.4.0-alpha02 เผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha02 มีการคอมมิตเหล่านี้

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

  • เพิ่ม ToolingState เพื่ออนุญาตให้เครื่องมือเปลี่ยนสถานะภายในของ Composable (Ie6614)

เวอร์ชัน 1.4.0-alpha01

24 ตุลาคม 2022

androidx.compose.animation:animation:1.4.0-alpha01, androidx.compose.animation:animation-core:1.4.0-alpha01 และ androidx.compose.animation:animation-graphics:1.4.0-alpha01 เผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha01 มีการคอมมิตเหล่านี้

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

  • แก้ไขภาพเคลื่อนไหวการหยุดชะงักที่ไม่ถูกต้องใน AnimatedContent (b/238662479)

เวอร์ชัน 1.3

เวอร์ชัน 1.3.3

11 มกราคม 2023

androidx.compose.animation:animation:1.3.3, androidx.compose.animation:animation-core:1.3.3 และ androidx.compose.animation:animation-graphics:1.3.3 เผยแพร่แล้ว เวอร์ชัน 1.3.3 มีคอมมิตเหล่านี้

  • ไม่มีการเปลี่ยนแปลงนับตั้งแต่เวอร์ชัน 1.3.2

เวอร์ชัน 1.3.2

7 ธันวาคม 2022

androidx.compose.animation:animation:1.3.2, androidx.compose.animation:animation-core:1.3.2 และ androidx.compose.animation:animation-graphics:1.3.2 เผยแพร่แล้ว เวอร์ชัน 1.3.2 มีคอมมิตเหล่านี้

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

  • อัปเดตให้รองรับ androidx.compose.ui 1.3.2

เวอร์ชัน 1.3.1

9 พฤศจิกายน 2022

androidx.compose.animation:animation:1.3.1, androidx.compose.animation:animation-core:1.3.1 และ androidx.compose.animation:animation-graphics:1.3.1 เผยแพร่แล้ว เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้

เวอร์ชัน 1.3.0

24 ตุลาคม 2022

androidx.compose.animation:animation:1.3.0, androidx.compose.animation:animation-core:1.3.0 และ androidx.compose.animation:animation-graphics:1.3.0 เผยแพร่แล้ว เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0

  • ฟังก์ชันการโจมตีแบบใหม่มีความเสถียร

เวอร์ชัน 1.3.0-rc01

5 ตุลาคม 2022

androidx.compose.animation:animation:1.3.0-rc01, androidx.compose.animation:animation-core:1.3.0-rc01 และ androidx.compose.animation:animation-graphics:1.3.0-rc01 เผยแพร่แล้ว เวอร์ชัน 1.3.0-rc01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.3.0-beta03

21 กันยายน 2022

androidx.compose.animation:animation:1.3.0-beta03, androidx.compose.animation:animation-core:1.3.0-beta03 และ androidx.compose.animation:animation-graphics:1.3.0-beta03 เผยแพร่แล้ว เวอร์ชัน 1.3.0-beta03 มีการคอมมิตเหล่านี้

  • ไม่มีการเปลี่ยนแปลงนับตั้งแต่ 1.3.0-beta02

เวอร์ชัน 1.3.0-beta02

7 กันยายน 2022

androidx.compose.animation:animation:1.3.0-beta02, androidx.compose.animation:animation-core:1.3.0-beta02 และ androidx.compose.animation:animation-graphics:1.3.0-beta02 เผยแพร่แล้ว เวอร์ชัน 1.3.0-beta02 มีการคอมมิตเหล่านี้

  • นำ Kotlin.experimental ออกจากตัวเลือกคอมไพเลอร์เนื่องจากเลิกใช้งานแล้ว

เวอร์ชัน 1.3.0-beta01

24 สิงหาคม 2022

androidx.compose.animation:animation:1.3.0-beta01, androidx.compose.animation:animation-core:1.3.0-beta01 และ androidx.compose.animation:animation-graphics:1.3.0-beta01 เผยแพร่แล้ว เวอร์ชัน 1.3.0-beta01 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.3.0-alpha03

10 สิงหาคม 2022

androidx.compose.animation:animation:1.3.0-alpha03, androidx.compose.animation:animation-core:1.3.0-alpha03 และ androidx.compose.animation:animation-graphics:1.3.0-alpha03 เผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha03 มีการคอมมิตเหล่านี้

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

  • พารามิเตอร์ใหม่ใน Crossfade, animateAsState และ Animatable สำหรับป้ายกำกับเครื่องมือ (Iac08a)
  • เพิ่มฟังก์ชัน atFraction สำหรับกำหนดคีย์เฟรมเป็นเศษส่วนแทนการกำหนดเป็นระยะเวลาที่เจาะจง (I20c76, b/232059455)

เวอร์ชัน 1.3.0-alpha02

27 กรกฎาคม 2022

androidx.compose.animation:animation:1.3.0-alpha02, androidx.compose.animation:animation-core:1.3.0-alpha02 และ androidx.compose.animation:animation-graphics:1.3.0-alpha02 เผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha02 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.3.0-alpha01

29 มิถุนายน 2022

androidx.compose.animation:animation:1.3.0-alpha01, androidx.compose.animation:animation-core:1.3.0-alpha01 และ androidx.compose.animation:animation-graphics:1.3.0-alpha01 เผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha01 มีการคอมมิตเหล่านี้

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

  • LookaheadLayout ใหม่ซึ่งรองรับการผ่านข้อมูลล่วงหน้าก่อนการวัด/เลย์เอาต์จริง วิธีนี้ช่วยให้สามารถคํานวณเลย์เอาต์ล่วงหน้าเมื่อมีการเปลี่ยนแปลง ในขณะเดียวกันก็อนุญาตให้การวัด/เลย์เอาต์หลังการมองไปข้างหน้าใช้ขนาด/ตําแหน่งที่คํานวณไว้ล่วงหน้าเพื่อแสดงขนาดและตําแหน่งในลักษณะภาพเคลื่อนไหวไปยังเป้าหมาย SubcomposeLayouts ยังไม่รองรับในตอนนี้ แต่จะรองรับในรุ่นที่จะออกในอนาคต (I477f5)

เวอร์ชัน 1.2

เวอร์ชัน 1.2.1

10 สิงหาคม 2022

androidx.compose.animation:animation:1.2.1, androidx.compose.animation:animation-core:1.2.1 และ androidx.compose.animation:animation-graphics:1.2.1 เผยแพร่แล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0

27 กรกฎาคม 2022

androidx.compose.animation:animation:1.2.0, androidx.compose.animation:animation-core:1.2.0 และ androidx.compose.animation:animation-graphics:1.2.0 เผยแพร่แล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สําคัญตั้งแต่ 1.1.0

  • ตอนนี้เครื่องมือแต่งภาพเคลื่อนไหวรองรับการตั้งค่า "อัตราความเร็วตามตัวสร้างภาพเคลื่อนไหว" จากตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์แล้ว
  • เส้นโค้งการไล่ระดับแบบใหม่จำนวนมากที่อยู่ระหว่างการทดสอบ
  • AnimatedImageVector รองรับ repeatCount และ repeatMode แล้ว

เวอร์ชัน 1.2.0-rc03

29 มิถุนายน 2022

androidx.compose.animation:animation:1.2.0-rc03, androidx.compose.animation:animation-core:1.2.0-rc03 และ androidx.compose.animation:animation-graphics:1.2.0-rc03 เผยแพร่แล้ว เวอร์ชัน 1.2.0-rc03 มีการคอมมิตเหล่านี้

  • ไม่มีการเปลี่ยนแปลงนับตั้งแต่ 1.2.0-rc02

เวอร์ชัน 1.2.0-rc02

22 มิถุนายน 2022

androidx.compose.animation:animation:1.2.0-rc02, androidx.compose.animation:animation-core:1.2.0-rc02 และ androidx.compose.animation:animation-graphics:1.2.0-rc02 เผยแพร่แล้ว เวอร์ชัน 1.2.0-rc02 มีการคอมมิตเหล่านี้

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

  • นำคำอธิบายประกอบ ExperimentalEasingApi ของฟังก์ชันการเลี้ยวออก (Ied441)

เวอร์ชัน 1.2.0-rc01

15 มิถุนายน 2022

androidx.compose.animation:animation:1.2.0-rc01, androidx.compose.animation:animation-core:1.2.0-rc01 และ androidx.compose.animation:animation-graphics:1.2.0-rc01 เผยแพร่แล้ว เวอร์ชัน 1.2.0-rc01 มีการคอมมิตเหล่านี้

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

  • ตอนนี้อินเทอร์เฟซในไลบรารีคอมโพสิทสร้างขึ้นโดยใช้เมธอดอินเทอร์เฟซเริ่มต้นของ jdk8 (I5bcf1)

เวอร์ชัน 1.2.0-beta03

1 มิถุนายน 2022

androidx.compose.animation:animation:1.2.0-beta03, androidx.compose.animation:animation-core:1.2.0-beta03 และ androidx.compose.animation:animation-graphics:1.2.0-beta03 เผยแพร่แล้ว เวอร์ชัน 1.2.0-beta03 มีการคอมมิตเหล่านี้

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

  • เพิ่มเส้นโค้งการผ่อนปรนเวอร์ชันทดลองสำหรับภาพเคลื่อนไหว (I64a38)

เวอร์ชัน 1.2.0-beta02

18 พฤษภาคม 2022

androidx.compose.animation:animation:1.2.0-beta02, androidx.compose.animation:animation-core:1.2.0-beta02 และ androidx.compose.animation:animation-graphics:1.2.0-beta02 เผยแพร่แล้ว เวอร์ชัน 1.2.0-beta02 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-beta01

11 พฤษภาคม 2022

androidx.compose.animation:animation:1.2.0-beta01, androidx.compose.animation:animation-core:1.2.0-beta01 และ androidx.compose.animation:animation-graphics:1.2.0-beta01 เผยแพร่แล้ว เวอร์ชัน 1.2.0-beta01 มีการคอมมิตเหล่านี้

  • นี่เป็นรุ่นเบต้าแรกของ 1.2 ไม่มีการเปลี่ยนแปลงนับตั้งแต่รุ่นอัลฟ่าล่าสุด

เวอร์ชัน 1.2.0-alpha08

20 เมษายน 2022

androidx.compose.animation:animation:1.2.0-alpha08, androidx.compose.animation:animation-core:1.2.0-alpha08 และ androidx.compose.animation:animation-graphics:1.2.0-alpha08 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha08 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha07

6 เมษายน 2022

androidx.compose.animation:animation:1.2.0-alpha07, androidx.compose.animation:animation-core:1.2.0-alpha07 และ androidx.compose.animation:animation-graphics:1.2.0-alpha07 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha07 มีการคอมมิตเหล่านี้

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

  • ตอนนี้ AnimatedImageVector รองรับ repeatCount และ repeatMode แล้ว (Ia3e75, b/199304067)

เวอร์ชัน 1.2.0-alpha06

23 มีนาคม 2022

androidx.compose.animation:animation:1.2.0-alpha06, androidx.compose.animation:animation-core:1.2.0-alpha06 และ androidx.compose.animation:animation-graphics:1.2.0-alpha06 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha06 มีคอมมิตเหล่านี้

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

  • อัปเดตการแยกวิเคราะห์รูปภาพที่วาดได้แบบเวกเตอร์เพื่อรองรับการมิเรอร์อัตโนมัติเพื่อพลิกเนื้อหาของ VectorPainter หากการวางแนวปัจจุบันเป็น RTL (I79cd9, b/185760237)

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

  • อัปเดต Vector Graphics API ให้ใช้คำอธิบายประกอบแบบคอมโพสิเบิลที่เหมาะสม @VectorComposable แทน @UiComposable (I942bc)

เวอร์ชัน 1.2.0-alpha05

9 มีนาคม 2022

androidx.compose.animation:animation:1.2.0-alpha05, androidx.compose.animation:animation-core:1.2.0-alpha05 และ androidx.compose.animation:animation-graphics:1.2.0-alpha05 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha05 มีการคอมมิตเหล่านี้

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

  • ไชโย! ตอนนี้เครื่องมือสร้างภาพเคลื่อนไหวรองรับการตั้งค่า "อัตราความเร็วตามตัวสร้างภาพเคลื่อนไหว" จากตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์แล้ว (I5a4fc, b/161675988)

เวอร์ชัน 1.2.0-alpha04

23 กุมภาพันธ์ 2022

androidx.compose.animation:animation:1.2.0-alpha04, androidx.compose.animation:animation-core:1.2.0-alpha04 และ androidx.compose.animation:animation-graphics:1.2.0-alpha04 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha04 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha03

9 กุมภาพันธ์ 2022

androidx.compose.animation:animation:1.2.0-alpha03, androidx.compose.animation:animation-core:1.2.0-alpha03 และ androidx.compose.animation:animation-graphics:1.2.0-alpha03 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha03 มีคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha02

26 มกราคม 2022

androidx.compose.animation:animation:1.2.0-alpha02, androidx.compose.animation:animation-core:1.2.0-alpha02 และ androidx.compose.animation:animation-graphics:1.2.0-alpha02 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha02 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.2.0-alpha01

12 มกราคม 2022

androidx.compose.animation:animation:1.2.0-alpha01, androidx.compose.animation:animation-core:1.2.0-alpha01 และ androidx.compose.animation:animation-graphics:1.2.0-alpha01 เผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha01 มีการคอมมิตเหล่านี้

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

  • ใช้ AnimatedImageVector.animatedVectorResource แทน animatedVectorResource เพื่อโหลดไฟล์ทรัพยากร <animated-vector>
    • ใช้ rememberAnimatedVectorResource แทน AnimatedImageVector#painterFor เพื่อแสดงผล AnimatedImageVector (I9c300)

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

  • เพิ่มเมธอด toString ไปยัง Animatable และ AnimationResult (Icd3a6)

การอัปเดตทรัพยากร Dependency

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

เวอร์ชัน 1.1

เวอร์ชัน 1.1.1

23 กุมภาพันธ์ 2022

androidx.compose.animation:animation:1.1.1, androidx.compose.animation:animation-core:1.1.1 และ androidx.compose.animation:animation-graphics:1.1.1 เผยแพร่แล้ว เวอร์ชัน 1.1.1 มีการคอมมิตเหล่านี้

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

  • แก้ไข NullPointerException ที่ androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • แก้ไขข้อขัดข้องที่เกิดขึ้นจากเนื้อหาในคลิปบอร์ดขณะอ่านจากคลิปบอร์ดใน Android (I06020, b/197769306)
  • แก้ไข RTL ใน LazyVerticalGrid (aosp/1931080, b/207510535)

เวอร์ชัน 1.1.0

9 กุมภาพันธ์ 2022

androidx.compose.animation:animation:1.1.0, androidx.compose.animation:animation-core:1.1.0 และ androidx.compose.animation:animation-graphics:1.1.0 เผยแพร่แล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สําคัญนับตั้งแต่เวอร์ชัน 1.0.0

  • การรองรับเอฟเฟกต์การเลื่อนผ่านของ Android 12 อย่างเสถียร
  • การปรับปรุงขนาดเป้าหมายการสัมผัส
  • โปรดทราบว่าสำหรับ Compose 1.0 คอมโพเนนต์ Material จะขยายพื้นที่เลย์เอาต์เพื่อให้เป็นไปตามหลักเกณฑ์การช่วยเหลือพิเศษของ Material สำหรับขนาดเป้าหมายการสัมผัส ตัวอย่างเช่น เป้าหมายการสัมผัสของปุ่มจะขยายให้มีขนาดขั้นต่ำ 48x48dp แม้ว่าคุณจะตั้งค่าขนาดของปุ่มให้เล็กกว่านี้ก็ตาม ซึ่งจะช่วยให้ Compose Material ทำงานในลักษณะเดียวกับคอมโพเนนต์ Material Design เพื่อให้ทำงานได้อย่างสอดคล้องกันหากคุณใช้ทั้ง Views และ Compose การเปลี่ยนแปลงนี้ยังช่วยให้มั่นใจด้วยว่าเมื่อคุณสร้าง UI โดยใช้คอมโพเนนต์ Compose Material คุณจะเป็นไปตามข้อกำหนดขั้นต่ำสำหรับการช่วยเหลือพิเศษสำหรับเป้าหมายการสัมผัส
  • รองรับแถบข้างสำหรับไปยังส่วนต่างๆ อย่างเสถียร
  • เปลี่ยน API เวอร์ชันทดลองจำนวนหนึ่งเป็นเวอร์ชันเสถียร
  • รองรับ Kotlin เวอร์ชันใหม่

เวอร์ชัน 1.1.0-rc03

26 มกราคม 2022

androidx.compose.animation:animation:1.1.0-rc03, androidx.compose.animation:animation-core:1.1.0-rc03 และ androidx.compose.animation:animation-graphics:1.1.0-rc03 เผยแพร่แล้ว เวอร์ชัน 1.1.0-rc03 มีการคอมมิตเหล่านี้

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

  • อัปเดตเพื่อรองรับ Compose Material 1.1.0-rc03

เวอร์ชัน 1.1.0-rc01

15 ธันวาคม 2021

androidx.compose.animation:animation:1.1.0-rc01 และ androidx.compose.animation:animation-core:1.1.0-rc01 เผยแพร่แล้ว เวอร์ชัน 1.1.0-rc01 มีการคอมมิตเหล่านี้

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

  • ใช้ AnimatedImageVector.animatedVectorResource แทน animatedVectorResource เพื่อโหลดไฟล์ทรัพยากร <animated-vector>
    • ใช้ rememberAnimatedVectorResource แทน AnimatedImageVector#painterFor เพื่อแสดงผล AnimatedImageVector (I9c300)

เวอร์ชัน 1.1.0-beta04

1 ธันวาคม 2021

androidx.compose.animation:animation:1.1.0-beta04, androidx.compose.animation:animation-core:1.1.0-beta04 และ androidx.compose.animation:animation-graphics:1.1.0-beta04 เผยแพร่แล้ว เวอร์ชัน 1.1.0-beta04 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • อัปเดตให้ใช้งานร่วมกับ Kotlin 1.6.0 ได้

เวอร์ชัน 1.1.0-beta03

17 พฤศจิกายน 2021

androidx.compose.animation:animation:1.1.0-beta03, androidx.compose.animation:animation-core:1.1.0-beta03 และ androidx.compose.animation:animation-graphics:1.1.0-beta03 เผยแพร่แล้ว เวอร์ชัน 1.1.0-beta03 มีการคอมมิตเหล่านี้

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

  • เพิ่มตัวแก้ไข Modifier.onPlaced ใหม่เพื่อให้สังเกตการเปลี่ยนแปลงตำแหน่งได้ ดังนั้นจึงทําการเปลี่ยนแปลงเพิ่มเติมในออฟเซตของตัวแปรย่อยได้โดยอิงตามการเปลี่ยนแปลงตําแหน่งที่สังเกตได้ (I558fd)
  • การรองรับ contentKey ใหม่ใน Crossfade ระบบภาพเคลื่อนไหวจะใช้ ContentKey เพื่อตรวจสอบความเท่าเทียม ดังนั้น คุณจึงทำการเปรียบเทียบที่กําหนดเองสำหรับสถานะต่างๆ ได้โดยการระบุ contentKey ที่เหมาะสมสำหรับสถานะต่างๆ

    ระบบจะใช้ ContentKey เป็นคีย์สําหรับบันทึกและกู้คืนเนื้อหาด้วย (I2e055, b/197907070)

เวอร์ชัน 1.1.0-beta02

3 พฤศจิกายน 2021

androidx.compose.animation:animation:1.1.0-beta02, androidx.compose.animation:animation-core:1.1.0-beta02 และ androidx.compose.animation:animation-graphics:1.1.0-beta02 เผยแพร่แล้ว เวอร์ชัน 1.1.0-beta02 มีการคอมมิตเหล่านี้

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

  • API ภาพเคลื่อนไหวใหม่สำหรับรองรับเครื่องมือ กล่าวโดยละเอียดคือ ช่วยให้เครื่องมือตรวจสอบภาพเคลื่อนไหวและการกำหนดค่าในทรานซิชันได้ (I4116e)

เวอร์ชัน 1.1.0-beta01

27 ตุลาคม 2021

androidx.compose.animation:animation:1.1.0-beta01, androidx.compose.animation:animation-core:1.1.0-beta01 และ androidx.compose.animation:animation-graphics:1.1.0-beta01 เผยแพร่แล้ว เวอร์ชัน 1.1.0-beta01 มีการคอมมิตเหล่านี้

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

  • API ภาพเคลื่อนไหวใหม่สำหรับรองรับเครื่องมือ กล่าวโดยละเอียดคือ ช่วยให้เครื่องมือตรวจสอบภาพเคลื่อนไหวและการกำหนดค่าในทรานซิชันได้ (I4116e)

เวอร์ชัน 1.1.0-alpha06

13 ตุลาคม 2021

androidx.compose.animation:animation:1.1.0-alpha06, androidx.compose.animation:animation-core:1.1.0-alpha06 และ androidx.compose.animation:animation-graphics:1.1.0-alpha06 เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha06 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.1.0-alpha05

29 กันยายน 2021

androidx.compose.animation:animation:1.1.0-alpha05, androidx.compose.animation:animation-core:1.1.0-alpha05 และ androidx.compose.animation:animation-graphics:1.1.0-alpha05 เผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha05 มีการคอมมิตเหล่านี้

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

  • EnterTransition, ExitTransition และ 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 มีการคอมมิตเหล่านี้

การอัปเดตทรัพยากร Dependency

  • อัปเดตให้ใช้ Kotlin 1.5.31

เวอร์ชัน 1.0.3

29 กันยายน 2021

androidx.compose.animation:animation:1.0.3 และ androidx.compose.animation:animation-core:1.0.3 เผยแพร่แล้ว เวอร์ชัน 1.0.3 มีคอมมิตเหล่านี้

การอัปเดตทรัพยากร Dependency

  • อัปเดตให้ใช้ Kotlin 1.5.30

เวอร์ชัน 1.0.2

1 กันยายน 2021

androidx.compose.animation:animation:1.0.2 และ androidx.compose.animation:animation-core:1.0.2 เผยแพร่แล้ว เวอร์ชัน 1.0.2 มีคอมมิตเหล่านี้

อัปเดตเพื่อรองรับรุ่น Compose 1.0.2 Compose 1.0.2 จะยังคงใช้งานร่วมกับ Kotlin 1.5.21 ได้

เวอร์ชัน 1.0.1

4 สิงหาคม 2021

androidx.compose.animation:animation:1.0.1 และ androidx.compose.animation:animation-core:1.0.1 เผยแพร่แล้ว เวอร์ชัน 1.0.1 มีการคอมมิตเหล่านี้

การอัปเดตทรัพยากร Dependency

  • อัปเดตให้ใช้ Kotlin 1.5.21

เวอร์ชัน 1.0.0

28 กรกฎาคม 2021

androidx.compose.animation:animation:1.0.0 และ androidx.compose.animation:animation-core:1.0.0 เผยแพร่แล้ว เวอร์ชัน 1.0.0 มีคอมมิตเหล่านี้

ฟีเจอร์หลักของ 1.0.0

นี่เป็นเวอร์ชันเสถียรครั้งแรกของ Compose โปรดดูรายละเอียดเพิ่มเติมในบล็อกการเผยแพร่อย่างเป็นทางการของ Compose

ปัญหาที่ทราบ

  • หากคุณใช้ Android Studio Bumblebee Canary 4 หรือ AGP 7.1.0-alpha04/7.1.0-alpha05 คุณอาจพบข้อขัดข้องต่อไปนี้

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    วิธีแก้ไขคือเพิ่ม minSdkVersion เป็น 24 ขึ้นไปชั่วคราวในไฟล์ build.gradle ปัญหานี้จะได้รับการแก้ไขใน Android Studio Bumblebee และ 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

  • AnimatedContent คอมโพสิเบิลใหม่ โดยจัดการการเปลี่ยนแปลงเนื้อหาโดยใช้ ContentTransform ที่ปรับแต่งได้เมื่อเนื้อหาเป้าหมายใหม่เข้ามาและเนื้อหาเริ่มต้นออกไป คุณสามารถใช้ทรานซิชันการเข้าและออกแบบต่างๆ ร่วมกันเพื่อสร้างรูปลักษณ์และความรู้สึกที่ปรับแต่งเอง AnimatedContent จะเปลี่ยนขนาดเป็นภาพเคลื่อนไหวโดยอัตโนมัติเพื่อให้ตรงกับเนื้อหาที่เข้ามา ซึ่งเป็นส่วนหนึ่งของการเปลี่ยนรูปแบบเนื้อหา (I2c3df)
  • นำ ManualFrameClock ออกแล้ว หากต้องการควบคุมภาพเคลื่อนไหว ให้ใช้ composeTestRule.mainClock แทน (I3c3e8, b/189951065)

เพิ่มกฎโปรไฟล์

รุ่นนี้เพิ่มกฎโปรไฟล์ลงในข้อบังคับการเขียนต่อไปนี้ (I14ed6)

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.foundation-layout
  • androidx.compose.material
  • androidx.compose.material-ripple
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • androidx.compose.ui.text
  • androidx.compose.ui.text
  • androidx.compose.ui.unit
  • androidx.compose.ui.util

กฎโปรไฟล์คืออะไร

  • กฎโปรไฟล์สำหรับไลบรารีจะระบุไว้ในไฟล์ข้อความ baseline-prof.txt ซึ่งอยู่ในไดเรกทอรี src/main หรือไดเรกทอรีที่เทียบเท่า ไฟล์จะระบุกฎต่อบรรทัด โดยที่กฎในกรณีนี้คือรูปแบบสำหรับการจับคู่กับเมธอดหรือคลาสในไลบรารี ไวยากรณ์ของกฎเหล่านี้เป็นชุดที่ใหญ่กว่ารูปแบบโปรไฟล์ ART ที่มนุษย์อ่านได้ซึ่งใช้เมื่อใช้ adb shell profman --dump-classes-and-methods ... กฎเหล่านี้มี 2 รูปแบบเพื่อกำหนดเป้าหมายไปยังเมธอดหรือคลาส

  • กฎเมธอดจะมีรูปแบบดังต่อไปนี้

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • และกฎระดับชั้นเรียนจะมีรูปแบบดังต่อไปนี้

    <CLASS_DESCRIPTOR>
    
  • โดยที่ <FLAGS> คืออักขระ H, S และ P อย่างน้อย 1 ตัวเพื่อระบุว่าควรแจ้งว่าเมธอดนี้ "มาแรง", "เริ่มต้นใช้งาน" หรือ "หลังเริ่มต้นใช้งาน" หรือไม่

  • <CLASS_DESCRIPTOR> คือตัวบ่งชี้ของคลาสที่เมธอดเป้าหมายอยู่ เช่น คลาส androidx.compose.runtime.SlotTable จะมีตัวบ่งชี้เป็น Landroidx/compose/runtime/SlotTable;

  • <METHOD_SIGNATURE> คือลายเซ็นของเมธอด ซึ่งประกอบด้วยชื่อ ประเภทพารามิเตอร์ และประเภทผลลัพธ์ของเมธอด เช่น เมธอด fun isPlaced(): Boolean ใน LayoutNode มีลายเซ็น isPlaced()Z

  • รูปแบบเหล่านี้อาจมีไวลด์การ์ด (**, * และ ?) เพื่อให้กฎเดียวครอบคลุมเมธอดหรือคลาสหลายรายการ

กฎมีไว้เพื่ออะไร

  • เมธอดที่มี Flag H บ่งบอกว่าเมธอดนี้เป็นเมธอด "ร้อน" และควรคอมไพล์ล่วงหน้า

  • เมธอดที่มี Flag S บ่งบอกว่าเป็นเมธอดที่เรียกใช้เมื่อเริ่มต้นระบบ และควรคอมไพล์ล่วงหน้าเพื่อหลีกเลี่ยงค่าใช้จ่ายในการคอมไพล์และการตีความเมธอดเมื่อเริ่มต้นระบบ

  • เมธอดที่มี Flag P บ่งบอกว่าเป็นเมธอดที่เรียกใช้หลังจากการเริ่มต้น

  • คลาสที่อยู่ในไฟล์นี้บ่งบอกว่ามีการใช้คลาสดังกล่าวระหว่างการเริ่มต้นระบบและควรจัดสรรล่วงหน้าในกองเพื่อหลีกเลี่ยงค่าใช้จ่ายในการโหลดคลาส

ระบบนี้ทำงานอย่างไร

  • ไลบรารีสามารถกำหนดกฎเหล่านี้ซึ่งจะรวมอยู่ในอาร์ติแฟกต์ AAR เมื่อสร้างแอปที่มีอาร์ติแฟกต์เหล่านี้ ระบบจะผสานกฎเหล่านี้เข้าด้วยกันและใช้กฎที่ผสานเพื่อสร้างโปรไฟล์ ART แบบไบนารีที่กะทัดรัดซึ่งเจาะจงสำหรับแอป จากนั้น ART จะใช้โปรไฟล์นี้เมื่อติดตั้งแอปในอุปกรณ์เพื่อคอมไพล์ชุดย่อยที่เฉพาะเจาะจงของแอปพลิเคชันล่วงหน้าเพื่อปรับปรุงประสิทธิภาพของแอปพลิเคชัน โดยเฉพาะการใช้งานครั้งแรก โปรดทราบว่าการดำเนินการนี้จะไม่ส่งผลต่อแอปพลิเคชันที่แก้ไขข้อบกพร่องได้

เวอร์ชัน 1.0.0-beta08

2 มิถุนายน 2021

androidx.compose.animation:animation:1.0.0-beta08 และ androidx.compose.animation:animation-core:1.0.0-beta08 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta08 มีการคอมมิตเหล่านี้

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

  • ตอนนี้ detectDragGesures, detectVerticalGestures และ detectHorizontalGestures จะใช้การเปลี่ยนแปลงตำแหน่งโดยอัตโนมัติโดยไม่จำเป็นต้องเรียกใช้ change.consumePositionChange ใน callback ของ onDrag (I42fc4, b/185096350, b/187320697)
  • Modifier.onGloballyPositioned() มีการเปลี่ยนแปลงเพื่อรายงานพิกัดของตัวแก้ไขนี้ในเชนตัวแก้ไข ไม่ใช่พิกัดเลย์เอาต์หลังจากใช้ตัวแก้ไขทั้งหมด ซึ่งหมายความว่าตอนนี้ลําดับของตัวแก้ไขจะส่งผลต่อพิกัดที่จะรายงาน (Ieb67d, b/177926591)

เวอร์ชัน 1.0.0-beta07

18 พฤษภาคม 2021

androidx.compose.animation:animation:1.0.0-beta07 และ androidx.compose.animation:animation-core:1.0.0-beta07 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta07 มีการคอมมิตเหล่านี้

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

  • AnimatedVisibility API ใหม่ที่รองรับการระบุระดับการแชร์ใน MutableTransitionState นอกจากนี้ ยังช่วยให้สามารถสังเกตสถานะภาพเคลื่อนไหวจากภายนอก AnimatedVisibility ผ่าน currentState และ isIdle
    • การรองรับการเปลี่ยนผ่านสำหรับบุตรหลานใหม่ใน "การเปลี่ยนผ่าน"
    • รองรับภาพเคลื่อนไหวการเปลี่ยนออก/เข้าที่กำหนดเองใน AnimatedVisibility ใช้ AnimationScope.transition
    • ตัวปรับเปลี่ยน animateEnterExit ใหม่ที่ใช้ได้กับบุตรหลานทั้งหมดของ AnimatedVisibility
    • เลิกใช้งาน AnimatedVisibility API ที่ใช้พารามิเตอร์ initiallyVisible (I702f3)

เวอร์ชัน 1.0.0-beta06

5 พฤษภาคม 2021

androidx.compose.animation:animation:1.0.0-beta06 และ androidx.compose.animation:animation-core:1.0.0-beta06 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta06 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta05

21 เมษายน 2021

androidx.compose.animation:animation:1.0.0-beta05 และ androidx.compose.animation:animation-core:1.0.0-beta05 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta05 มีการคอมมิตเหล่านี้

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

  • ตอนนี้ไฟล์ AndroidManifest จาก ui-test-manifest และ ui-tooling-data ใช้ได้กับ Android 12 แล้ว (I6f9de, b/184718994)

เวอร์ชัน 1.0.0-beta04

7 เมษายน 2021

androidx.compose.animation:animation:1.0.0-beta04 และ androidx.compose.animation:animation-core:1.0.0-beta04 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta04 มีการคอมมิตเหล่านี้

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

  • อินสแตนซ์สาธารณะของ RowScope, ColumnScope, BoxScope, BoxWithConstraintsScope ถูกนำออกแล้ว (I4e83e, b/181869067)

เวอร์ชัน 1.0.0-beta03

24 มีนาคม 2021

androidx.compose.animation:animation:1.0.0-beta03 และ androidx.compose.animation:animation-core:1.0.0-beta03 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-beta02

10 มีนาคม 2021

androidx.compose.animation:animation:1.0.0-beta02 และ androidx.compose.animation:animation-core:1.0.0-beta02 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta02 มีการคอมมิตเหล่านี้

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

  • บังคับใช้ข้อจํากัดในการใช้งาน API เวอร์ชันทดลองแบบสาธารณะ (I6aa29, b/174531520)

เวอร์ชัน 1.0.0-beta01

24 กุมภาพันธ์ 2021

androidx.compose.animation:animation:1.0.0-beta01 และ androidx.compose.animation:animation-core:1.0.0-beta01 เผยแพร่แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้

นี่เป็นรุ่นแรกของ Compose 1.0.0 เบต้า

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

  • แทนที่ InteractionState ด้วย [Mutable]InteractionSource แล้ว
    • อินเทอร์เฟซมีหน้าที่ส่ง / รวบรวมเหตุการณ์การโต้ตอบ
    • ใช้ interactionSource = remember { MutableInteractionSource() } แทนการส่ง interactionState = remember { InteractionState() } ไปยังคอมโพเนนต์ เช่น Button และ Modifier.clickable()
    • แทนที่จะใช้ Interaction.Pressed in interactionState คุณควรใช้ฟังก์ชันส่วนขยายใน InteractionSource เช่น InteractionSource.collectIsPressedAsState()
    • สําหรับ Use Case ที่ซับซ้อน คุณสามารถใช้ InteractionSource.interactions เพื่อสังเกตการณ์สตรีมของการโต้ตอบ ดูข้อมูลเพิ่มเติมในเอกสารประกอบและตัวอย่างของ InteractionSource
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • เปลี่ยนแพ็กเกจของเมธอด smoothScrollBy และ scrollBy เป็น androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)
  • เปลี่ยนชื่อตัวแก้ไขขนาด เปลี่ยนชื่อ Modifier.width/height/size เป็น requiredWidth/requiredHeight/requiredSize เปลี่ยนชื่อ Modifier.preferredWidth/preferredHeight/preferredSize เป็น width/height/size (I5b414)
  • การวางแนวย้ายไปอยู่ในแพ็กเกจ Foundation แล้ว ย้าย VelocityTracker จาก ui.gesture ไปยัง ui.input.pointer แล้ว (Iff4a8, b/175294473)
  • AnimationClockObservable และคลาสย่อยถูกนําออกแล้ว ระบบได้นำ AnimatedFloat ออกแล้ว (Icde52, b/177457083)
  • ตอนนี้ Modifier.draggable ยอมรับ DraggableState แทน Lambda ธรรมดาแล้ว คุณสามารถสร้างสถานะผ่าน rememberDraggableState { delta -> } เพื่อให้มีการทำงานเหมือนเดิมได้ (Ica70f, b/175294473)
  • นำ API animate, animatedValue, AnimatedValue ออกแล้ว (If27bc, b/177457083)
  • นำ AnimationEndReason.Interrupted ออก ระบบจะแสดง CancellationException หากภาพเคลื่อนไหวถูกขัดจังหวะ (I2cbbc, b/179695417)
  • นำ TargetAnimation API ออกแล้ว (If47d1, b/177457083)

เวอร์ชัน 1.0.0-alpha12

10 กุมภาพันธ์ 2021

androidx.compose.animation:animation:1.0.0-alpha12 และ androidx.compose.animation:animation-core:1.0.0-alpha12 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha12 มีการคอมมิตเหล่านี้

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

  • ตอนนี้ Modifier.pointerInput กำหนดให้ใช้คีย์ "จำไว้" เพื่อระบุว่าควรรีสตาร์ทโคโริวทีนการตรวจหาอินพุตด้วยเคอร์เซอร์เมื่อใดสำหรับข้อกําหนดใหม่ (I849cd)
  • เปลี่ยนชื่อ Bounds เป็น DpRect (I4b32a)
  • รวมชื่อพารามิเตอร์สำหรับ AnimationSpec เป็น animationSpec ในระบบภาพเคลื่อนไหว นอกจากนี้ ให้จํากัด Enter/ExitTransition ให้ยอมรับ FiniteAnimationSpec ด้วย (Ie47c5, b/177457083)
  • ตอนนี้ Animatable.snapTo และ Animatable.stop เป็นฟังก์ชันที่หยุดทำงานแล้ว (If4288)
  • เราจะนําคอมโพสิเบิล savedInstanceState { 0 } ออกในลักษณะเดียวกับที่เรานําคอมโพสิเบิล state { 0 } ออกก่อนหน้านี้และตอนนี้ส่งเสริมให้ใช้คอมโพสิเบิล remember { mutableStateOf(0) } คุณควรใช้ rememberSaveable { mutableStateOf(0) } แทน ซึ่งจะบันทึกและกู้คืนโดยอัตโนมัติหากประเภทที่ใช้ภายใน MutableState จัดเก็บไว้ใน Bundle ได้ หากก่อนหน้านี้คุณส่งออบเจ็กต์โปรแกรมบันทึกที่กำหนดเอง ตอนนี้คุณต้องใช้การโอเวอร์โหลดใหม่ของ rememberSaveable ซึ่งมีพารามิเตอร์ stateSaver การใช้งานจะมีลักษณะดังนี้ val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • อัปเดตลายเซ็นเมธอดของ Crossfade ให้สอดคล้องกับระบบภาพเคลื่อนไหวอื่นๆ มากขึ้น (Ib05ed, b/177457083)
  • เปลี่ยนชื่อ rememberSavedInstanceState() เป็น rememberSaveable() และย้ายไปไว้ในแพ็กเกจ androidx.compose.runtime.saveable (I1366e, b/177338004)
  • เราได้เปลี่ยนชื่อ RestorableStateHolder เป็น SaveableStateHolder และย้ายไปไว้ในแพ็กเกจ androidx.compose.runtime.saveable เปลี่ยนชื่อเมธอดภายใน RestorableStateProvider เป็น SaveableStateProvider ระบบนำประเภททั่วไปออกแล้ว คุณจึงส่ง Any เป็นคีย์ได้ ไม่จำเป็นต้องใช้คำอธิบายประกอบเวอร์ชันทดลองอีกต่อไป (I0902e, b/174598702)
  • อัปเดต Modifier.animateContentSize API ให้สอดคล้องกับระบบภาพเคลื่อนไหวอื่นๆ (I0bf75, b/177457083)
  • เลิกใช้งาน AnimatedValue/Float แล้ว โปรดใช้ Animatable แทน (I71345, b/177457083)
  • เลิกใช้งาน tapGestureFilter, doubleTapGestureFilter, longPressGestureFilter และ pressIndicaitonGestureFilter แล้ว ให้ใช้ Modifier.clickable หรือ Modifier.pointerInput กับฟังก์ชัน detectTapGestures แทน (I6baf9, b/175294473)
  • เปิดตัวองค์ประกอบ InfiniteAnimationPolicy บริบท coroutine ที่จะใช้กับภาพเคลื่อนไหวแบบไม่มีสิ้นสุด โดยค่าเริ่มต้น ระบบจะไม่ติดตั้งนโยบาย ยกเว้นเมื่อทำการทดสอบด้วย ComposeTestRule (I50ec4, b/151940543)
  • ระบบได้นำเมธอดการจัดโครงสร้างใหม่และ copy() ออกจากคลาสหลายคลาสที่ไม่ค่อยได้ใช้ (I26702, b/178659281)
  • ตอนนี้เวลาเล่นในภาพเคลื่อนไหวไม่ได้กำหนดเป็นนาโนวินาทีแล้ว (If776a)
  • อาร์ติแฟกต์ compose:runtime-dispatch เลิกใช้งานแล้วในตอนนี้ ตอนนี้ MonotonicFrameClock จะอยู่ใน compose:runtime และ AndroidUiDispatcher จะอยู่ใน compose:ui (Ib5c36)
  • เพิ่ม Animation.isInfinite และ VectorizedAnimationSpec.isInfinite ที่บ่งบอกว่าภาพเคลื่อนไหวเป็นแบบต่อเนื่องหรือไม่ ซึ่งสามารถใช้ในการติดตั้งใช้งานภาพเคลื่อนไหวเพื่อมีการจัดการภาพเคลื่อนไหวดังกล่าวเป็นพิเศษ เช่น แสดงข้อความ "เวลาที่เหลือ" พิเศษ หรือยกเลิกภาพเคลื่อนไหวระหว่างการทดสอบเพื่อป้องกันการรอให้ระบบไม่มีการใช้งานโดยไม่มีกำหนด (Iebb05, b/151940543)
  • ใช้ Long แทน Uptime เป็นประเภทเวลาของภาพเคลื่อนไหว (Ie3aa7, b/177420019)

เวอร์ชัน 1.0.0-alpha11

28 มกราคม 2021

androidx.compose.animation:animation:1.0.0-alpha11 และ androidx.compose.animation:animation-core:1.0.0-alpha11 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha11 มีการคอมมิตเหล่านี้

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

  • เลิกใช้งาน Transition ตาม TransitionDefinition แล้ว (I0ac57)
  • เพิ่มช่องป้ายกำกับสำหรับทรานซิชันและภาพเคลื่อนไหวย่อยที่จะแสดงในเครื่องมือ (I619fb)
  • animateAsState เปลี่ยนเป็น animateFooAsState แล้ว โดยที่ Foo คือประเภทของตัวแปรที่มีภาพเคลื่อนไหว เช่น Float, Dp, Offset ฯลฯ (Ie7e25)
  • InfiniteTransition ใหม่ที่เรียกใช้ภาพเคลื่อนไหวย่อยจำนวนเท่าใดก็ได้ (I1da81)
  • เปลี่ยนอินเทอร์เฟซพารามิเตอร์ที่มีสถานะของ Material ให้ใช้ฟังก์ชัน @Composable ที่แสดงผล State<T> เพิ่ม Animatable.asState() เพื่อให้แปลง Animatable เป็น State ได้ง่ายขึ้น และเปลี่ยน animateElevation เป็นส่วนขยายที่ระงับใน Animatable ด้วย (If613c)

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

  • เราเลิกใช้งาน onCommit, onDispose และ onActive แล้วเพื่อหันมาใช้ SideEffect และ DisposableEffect API (If760e)
  • ตอนนี้ระบบรองรับสถานะเริ่มต้นใน updateTransition แล้ว (Ifd51d)
  • เพิ่มพารามิเตอร์คำอธิบายเนื้อหาลงในรูปภาพและไอคอนแล้ว ใช้เพื่อระบุคำอธิบายบริการการช่วยเหลือพิเศษ (I2ac4c)
  • ตอนนี้เราเลิกใช้งาน invalidate และ compositionReference() แล้ว และใช้ currentRecomposeScope และ rememberCompositionReference แทน (I583a8)
  • ระบบจะนำ Duration และ Uptime ไปแทนที่ด้วย Long milliseconds และขั้นตอนนี้จะนําการพึ่งพาอินพุตเคอร์เซอร์ในคลาสเหล่านั้นออก (Ia33b2, b/175142755, b/177420019)
  • ตอนนี้คุณสร้างองค์ประกอบที่คลิกได้ สลับได้ และเลือกได้นอกองค์ประกอบได้แล้ว (I0a130, b/172938345, b/175294473)
  • เปลี่ยน Easing เป็นอินเทอร์เฟซที่ใช้งานได้ (Ib14e5)
  • items(count: Int)เมธอดแฟกทอรีใหม่สำหรับขอบเขตของ LazyColumn/LazyRow/LazyVerticalGrid ตอนนี้ items(items: List) และ itemsIndexed(items: List) เป็นฟังก์ชันส่วนขยายแล้ว คุณจึงต้องนําเข้าด้วยตนเองเมื่อใช้งาน การโอเวอร์โหลดส่วนขยายใหม่สําหรับอาร์เรย์: items(items: Array) และ itemsIndexed(Array) (I803fc, b/175562574)
  • ใช้ประโยชน์จาก TestCoroutineDispatcher ในการทดสอบ (I532b6)
  • นํา PointerInputData ออกและแก้ไข PointerInputChange เพื่อเพิ่มช่องทั้งหมดของ PointerInputData เปลี่ยน PointerInputEvent และ PointerInputEventData เป็นภายในเนื่องจากไม่มีการใช้ใน API สาธารณะ (Ifff97, b/175142755)

เวอร์ชัน 1.0.0-alpha10

13 มกราคม 2021

androidx.compose.animation:animation:1.0.0-alpha10 และ androidx.compose.animation:animation-core:1.0.0-alpha10 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha10 มีการคอมมิตเหล่านี้

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

  • แก้ไขความเร็วให้มีองค์ประกอบและการดำเนินการทางคณิตศาสตร์ (Ib0447)
  • เปลี่ยนชื่อ @ExperimentalTesting เป็น @ExperimentalTestApi เพื่อให้สอดคล้องกับคำอธิบายประกอบ API เวอร์ชันทดลองที่คล้ายกัน (Ia4502, b/171464963)
  • เปลี่ยนชื่อ Position เป็น DpOffset และนํา getDistance() ออก (Ib2dfd)
  • นํา API สาธารณะ Any.identityHashCode() ออกแล้ว (I025d7)

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

  • API ใหม่ที่ใช้ coroutine Animatable ที่รับประกันความเฉพาะเจาะจงของภาพเคลื่อนไหว DecayAnimationSpec ใหม่เพื่อรองรับภาพเคลื่อนไหวการลดลงหลายมิติ (I820f2, b/168014930)
  • animate() เปลี่ยนเป็น animateAsState() แล้ว ซึ่งแสดงผลเป็น State<T> แทน T วิธีนี้ช่วยให้ประสิทธิภาพดีขึ้น เนื่องจากสามารถจํากัดขอบเขตการลบล้างให้แคบลงได้ตรงที่อ่านค่าสถานะ (Ib179e)

เวอร์ชัน 1.0.0-alpha09

16 ธันวาคม 2020

androidx.compose.animation:animation:1.0.0-alpha09 และ androidx.compose.animation:animation-core:1.0.0-alpha09 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha09 มีการคอมมิตเหล่านี้

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

  • ย้าย Dp.VectorConverter, Position.VectorConverter ฯลฯ ไปไว้ที่ animation-core และเลิกใช้งาน VectorConveters เดิม (If0c4b)
  • เปิดตัว Transition API ชุดใหม่ทั้งหมดที่ใช้งานง่ายขึ้น รวมถึงรองรับภาพเคลื่อนไหวที่เพิ่มแบบไดนามิกและเป้าหมายภาพเคลื่อนไหวที่คำนวณแบบไดนามิก API นี้มีการทําเครื่องหมายว่า "ทดลอง" เพื่อให้แยกความแตกต่างจาก API ที่อิงตาม TransitionDefinition ได้ง่าย (Ia7fe3)

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

  • ตอนนี้ Lambda ในตัวแก้ไขออฟเซตจะแสดงผล IntOffset แทน Float (Ic9ee5, b/174137212, b/174146755)
  • เลิกใช้งาน LazyColumnFor, LazyRowFor, LazyColumnForIndexed และ LazyRowForIndexed ใช้ LazyColumn และ LazyRow แทน (I5b48c)
  • สําหรับการระงับ API การป้อนข้อมูลด้วยเคอร์เซอร์ เปลี่ยนชื่อจาก HandlePointerInputScope เป็น AwaitPointerEventScope และ handlePointerInput() เป็น awaitPointerEventScope() (Idf0a1, b/175142755)
  • ฟังก์ชัน infiniteRepeatable ใหม่สำหรับการสร้าง InfiniteRepeatableSpec (I668e5)
  • นำคำอธิบายประกอบ ExperimentalPointerInput ออกแล้ว (Ia7a24)

เวอร์ชัน 1.0.0-alpha08

2 ธันวาคม 2020

androidx.compose.animation:animation:1.0.0-alpha08 และ androidx.compose.animation:animation-core:1.0.0-alpha08 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha08 มีการคอมมิตเหล่านี้

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

  • เพิ่มการตรวจสอบ Lint สําหรับการตั้งชื่อและตําแหน่งพารามิเตอร์ Lambda ที่คอมโพสิเบิล เพื่อตรวจสอบความสอดคล้องตามหลักเกณฑ์ของ Compose รวมถึงย้ายข้อมูล API บางรายการที่ใช้ children เป็นชื่อของ lambda ต่อท้ายเป็น content ตามการตรวจสอบและคำแนะนำของ Lint (Iec48e)
  • API ที่เลิกใช้งานไปแล้วก่อนหน้านี้ถูกนําออกแล้ว
    • Modifier.onPositioned ถูกนำออกแล้ว ให้ใช้ Modifier.onGloballyPositioned
    • Modifier.onDraw ถูกนำออกแล้ว ให้ใช้ Modifier.onDrawBehind
    • Modifier.plus ถูกนำออกแล้ว ให้ใช้ Modifier.then
    • Color.Unset ถูกนำออกแล้ว ให้ใช้ Color.Unspecified
    • คลาส PxBounds ถูกนําออกแล้ว โปรดใช้ Rect แทน
    • (Ie9d02, b/172562222)
  • เพิ่มตัวเลือกชั่วคราวเพื่อให้ TestAnimationClock ทำงานตาม MonotonicFrameClock (I1403b, b/173402197)

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

  • เปลี่ยนชื่อ Modifier.drawLayer เป็น Modifier.graphicsLayer และอัปเดตคลาสที่เกี่ยวข้องเป็น GraphicsLayer ตามความคิดเห็นจากสภา API ด้วย (I0bd29, b/173834241)
  • เพิ่ม Modifier.scale/rotate API เพื่อความสะดวกใน drawLayer
    • เปลี่ยนชื่อ Modifier.drawOpacity เป็น Modifier.alpha
    • เปลี่ยนชื่อ Modifier.drawShadow เป็น Modifier.shadow (I264ca, b/173208140)
  • ทำให้ฟิลด์การอัปเดตและตำแหน่งของ PointerInputData เป็นฟิลด์ที่ต้องมีค่า (Id468a)
  • เปลี่ยนชื่อตัวแก้ไข offsetPx เป็น offset ตอนนี้ใช้พารามิเตอร์ Lambda แทนสถานะ (Ic3021, b/173594846)
  • API ใหม่สําหรับการแสดงภาพเคลื่อนไหวในโคโริวทีน (Ied662)
  • เลิกใช้งานแอมเบียนท์ที่มีชื่อต่อท้ายด้วย Ambient และแทนที่ด้วยพร็อพเพอร์ตี้ใหม่ที่ขึ้นต้นด้วยแอมเบียนท์ตามหลักเกณฑ์อื่นๆ ของแอมเบียนท์และ Compose API (I33440)
  • ตอนนี้การควบคุมเวลาในการทดสอบ (TestAnimationClock และการใช้งาน) อยู่ในช่วงทดลอง (I6ef86, b/171378521)
  • นําโมดูล ui-test เก่าและสตับออก (I3a7cb)
  • เปลี่ยนชื่อฟังก์ชัน RestorableStateHolder.withRestorableState เป็น RestorableStateProvider (I66640)
  • อัปเดตอินเทอร์เฟซการจัดตำแหน่งและทําให้ใช้งานได้ (I46a07, b/172311734)

เวอร์ชัน 1.0.0-alpha07

11 พฤศจิกายน 2020

androidx.compose.animation:animation:1.0.0-alpha07 และ androidx.compose.animation:animation-core:1.0.0-alpha07 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha07 มีการคอมมิตเหล่านี้

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

  • เลิกใช้งาน AmbientTextStyle, ProvideTextStyle และ AmbientContentColor พื้นฐานแล้ว โปรดใช้เวอร์ชันใหม่ที่มีอยู่ในคลังวัสดุแทน สําหรับแอปพลิเคชันที่ไม่ใช่ Material คุณควรสร้างบรรยากาศการธีมเฉพาะสำหรับระบบการออกแบบของคุณเองแทน ซึ่งจะใช้ได้ในคอมโพเนนต์ของคุณเอง (I74acc, b/172067770)
  • เราเลิกใช้งาน foundation.Text แล้วและแทนที่ด้วย material.Text สำหรับ API ข้อความพื้นฐานที่ไม่แสดงความคิดเห็นซึ่งไม่ใช้ค่าจากธีม โปรดดู androidx.compose.foundation.BasicText (If64cb)
  • MeasureResult ย้ายออกจาก MeasureScope แล้ว (Ibf96d, b/171184002)
  • ย้ายสัญลักษณ์ที่เกี่ยวข้องกับเลย์เอาต์หลายรายการจาก androidx.compose.ui ไปยัง androidx.compose.layout.ui แล้ว (I0fa98, b/170475424)

เวอร์ชัน 1.0.0-alpha06

28 ตุลาคม 2020

androidx.compose.animation:animation:1.0.0-alpha06 และ androidx.compose.animation:animation-core:1.0.0-alpha06 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha06 มีการคอมมิตเหล่านี้

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

  • เปิดใช้ทรานซิชันใน ComposeTestRule นำตัวเลือกในการเปิดใช้เคอร์เซอร์ที่กะพริบออกจาก ComposeTestRule (If0de3)

เวอร์ชัน 1.0.0-alpha05

14 ตุลาคม 2020

androidx.compose.animation:animation:1.0.0-alpha05 และ androidx.compose.animation:animation-core:1.0.0-alpha05 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha05 มีการคอมมิตเหล่านี้

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

  • อินเทอร์เฟซภาพเคลื่อนไหวและคลาสย่อยใหม่: คลาสเหล่านี้จะจัดเก็บเงื่อนไขเริ่มต้นและสิ้นสุดสำหรับภาพเคลื่อนไหว จึงอนุญาตให้ค้นหาค่าและความเร็วผ่านเวลาในการเล่นเท่านั้น (Ie95bd, b/163329867)

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

  • เปลี่ยนชื่อ OnPositionedModifier เป็น OnGloballyPositionedModifier และเปลี่ยนชื่อ onPositioned() เป็น onGloballyPositioned() (I587e8, b/169083903)
  • เลิกใช้งาน API ของ contentColor() และ currentTextStyle() และแทนที่ด้วยแอมเบียนท์ AmbientContentColor และ AmbientTextStyle ตามลำดับ คุณสามารถเข้าถึงค่าปัจจุบันได้โดยใช้ .current ในพร็อพเพอร์ตี้แอมเบียนท์ เช่นเดียวกับแอมเบียนท์อื่นๆ การเปลี่ยนแปลงนี้มีขึ้นเพื่อความสอดคล้องและเพื่อหลีกเลี่ยงการมีวิธีหลายวิธีในการทําสิ่งเดียวกัน นอกจากนี้ เรายังได้เปลี่ยนชื่อพร็อพเพอร์ตี้แอมเบียนท์บางรายการเพื่ออธิบายวัตถุประสงค์ของพร็อพเพอร์ตี้เหล่านั้นได้ดียิ่งขึ้น ดังนี้

    • ContentColorAmbient -> AmbientContentColor
    • TextStyleAmbient -> AmbientTextStyle
    • IndicationAmbient -> AmbientIndication
    • EmphasisAmbient -> AmbientEmphasisLevels
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)

เวอร์ชัน 1.0.0-alpha04

1 ตุลาคม 2020

androidx.compose.animation:animation:1.0.0-alpha04 และ androidx.compose.animation:animation-core:1.0.0-alpha04 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha04 มีการคอมมิตเหล่านี้

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

  • กำกับเนื้อหา rootAnimationClockFactory, transitionsEnabled, blinkingCursorEnabled และ textInputServiceFactory ด้วย @VisibleForTesting, ทำให้เป็น API ภายใน และซ่อน kdoc (I554eb, b/168308412)

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

  • อัปเดต Graphics API หลายรายการ
    • อัปเดต API การเปลี่ยนรูปแบบการแปลงขนาดและการหมุนเพื่อใช้พารามิเตอร์การเลื่อนตำแหน่งเดียวเพื่อแสดงพิกัดจุดหมุนแทนการใช้พารามิเตอร์ float แยกต่างหากสำหรับพิกัด x/y ใน DrawScope และ DrawTransform
    • นำเมธอด Rect.expandToInclude และ Rect.join ออกแล้ว
    • อัปเดตเอกสารประกอบของรัศมีเป็น "รูปไข่" นอกเหนือจาก "รูปรี"
    • เพิ่มเอกสารประกอบเพื่อระบุว่าไม่ควรเรียกใช้คอนสตรัคเตอร์แบบสาธารณะของคลาส Radius แบบอินไลน์โดยตรง แต่ควรสร้างอินสแตนซ์ออบเจ็กต์ Radius ผ่านคอนสตรัคเตอร์ของฟังก์ชันแทน
    • นำ RoundRect API ออกเพื่อค้นหา topRight, bottomRight, bottomCenter ฯลฯ
    • เลิกใช้งาน Rect.shift และใช้ Rect.translate แทน
    • นำ API ของ RoundRect.grow และ Rect.shrink ออก
    • เปลี่ยนชื่อ RoundRect.outerRect เป็น Rect.boundingRect
    • นำเมธอด RoundRect.middleRect/tallMiddleRect/wideMiddleRect และ Rect.isStadium ออก
    • เปลี่ยนชื่อ RoundRect.longestSide เป็น RoundRect.maxDimension
    • เปลี่ยนชื่อ RoundRect.shortestSide เป็น RoundRect.minDimension
    • เปลี่ยน RoundRect.center เป็นพร็อพเพอร์ตี้แทนที่จะเป็นฟังก์ชัน
    • อัปเดตคอนสตรัคเตอร์ RoundRect ให้ใช้พร็อพเพอร์ตี้ Radius แทนพารามิเตอร์แต่ละรายการสำหรับค่ารัศมี x/y
    • นำ API ขนาดออกซึ่งถือว่ารูปภาพเป็นรูปสี่เหลี่ยมผืนผ้าที่มีจุดเริ่มต้นที่ 0,0
    • เพิ่ม API สำหรับการทำลายข้อมูลไปยัง Radius
    • ย้ายข้อมูลฟังก์ชันส่วนขยาย RoundRect ต่างๆ ไปเป็นพร็อพเพอร์ตี้แทน
    • (I8f5c7, b/168762961)
  • เลิกใช้งาน foundation.Box แล้ว โปรดใช้ foundation.layout.Box แทน (Ie5950, b/167680279)
  • เปลี่ยนชื่อกองเป็นกล่องแล้ว เราจะเลิกใช้งาน Box ที่มีอยู่ก่อนหน้านี้และหันมาใช้ Box ใหม่ใน compose.foundation.layout ลักษณะการทํางานของกล่องใหม่คือการซ้อนองค์ประกอบย่อยไว้บนกันเมื่อมีองค์ประกอบย่อยหลายรายการ ซึ่งแตกต่างจากกล่องเวอร์ชันเก่าที่ทํางานคล้ายกับคอลัมน์ (I94893, b/167680279)
  • เลิกใช้งานพารามิเตอร์การตกแต่งกล่องแล้ว หากต้องการมีการตกแต่ง/ระยะห่างจากขอบในกล่อง ให้ใช้ตัวแก้ไขแทน (Modifier.background, Modifier.border, Modifier.padding) (Ibae92, b/167680279)
  • เราป้องกันไม่ให้นําเข้าเนื้อหาของขอบเขตเลย์เอาต์แบบคงที่ (เช่น alignWithSiblings ใน RowScope) คุณควรใช้ทางเลือกขอบเขตที่ชัดเจนแทน ซึ่งก็คือ with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) } (I216be, b/166760797)

เวอร์ชัน 1.0.0-alpha03

16 กันยายน 2020

androidx.compose.animation:animation:1.0.0-alpha03 และ androidx.compose.animation:animation-core:1.0.0-alpha03 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้

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

  • เปลี่ยนชื่อการใช้ gravity เป็น align หรือ alignment ใน API ของเลย์เอาต์อย่างสอดคล้องกัน (I2421a, b/164077038)

เวอร์ชัน 1.0.0-alpha02

2 กันยายน 2020

androidx.compose.animation:animation:1.0.0-alpha02 และ androidx.compose.animation:animation-core:1.0.0-alpha02 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha02 มีการคอมมิตเหล่านี้

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

  • เพิ่ม ManualFrameClock.hasAwaiters เพื่อดูว่ามีการดำเนินการใดบ้างที่รอเฟรมจากนาฬิกานั้น runWithManualClock แทนที่ runBlocking เมื่อทำการทดสอบที่ต้องใช้ ManualFrameClock และ TestUiDispatcher.Main ที่ช่วยให้เข้าถึงตัวกระจาย UI หลักในการทดสอบได้ง่าย

    เช่น

    @Test
    fun myTest() = runWithManualClock { clock ->
        // set some compose content
        withContext(TestUiDispatcher.Main) {
            clock.advanceClock(1000L)
        }
        if (clock.hasAwaiters) {
            println("The clock has awaiters")
        } else {
            println("The clock has no more awaiters")
        }
    }
    

    (I0a85b, b/161247083)

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

  • เลิกใช้งาน onPreCommit แล้ว ตอนนี้ onCommit มีลักษณะการทํางานของ onPreCommit

    ตอนนี้ onCommit และ onActive จะทํางานในเฟรม Choreographer เดียวกับที่คอมโพสิชันมีการเปลี่ยนแปลงที่ commit ไว้ ไม่ใช่ที่จุดเริ่มต้นของเฟรม Choreographer ถัดไป (I70403)

เวอร์ชัน 1.0.0-alpha01

26 สิงหาคม 2020

androidx.compose.animation:animation:1.0.0-alpha01 และ androidx.compose.animation:animation-core:1.0.0-alpha01 เผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha01 มีการคอมมิตเหล่านี้

เวอร์ชัน 0.1.0-dev

เวอร์ชัน 0.1.0-dev17

19 สิงหาคม 2020

androidx.compose.animation:animation:0.1.0-dev17 และ androidx.compose.animation:animation-core:0.1.0-dev17 เผยแพร่แล้ว เวอร์ชัน 0.1.0-dev17 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

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

  • ออฟเซ็ตกลายเป็นคลาสในบรรทัด (Iaec70)
  • ตอนนี้ IntOffset เป็นคลาสย่อยในบรรทัด (Iac0bf)
  • ตอนนี้ IntSize เป็นคลาสย่อยในบรรทัด (I2bf42)
  • คอมโพสิชัน AnimatedVisibilty จะแสดงภาพเนื้อหาย่อยแบบเคลื่อนไหว

    เราขอแนะนํา EnterTransition และ ExitTransition เพื่อทํางานร่วมกับคอมโพสิชัน AnimatedVisibilty เพื่อสร้างภาพเคลื่อนไหวของลักษณะที่ปรากฏและหายไป 3 ประเภท ได้แก่ เลือน เลื่อน และขยาย/หดเนื้อหา คุณรวมภาพเคลื่อนไหวประเภทต่างๆ เข้าด้วยกันเพื่อให้ได้รูปลักษณ์ที่เฉพาะเจาะจงมากขึ้นได้ (Idda11)

  • เลิกใช้งาน PxBounds ไปใช้ Rect แทน อัปเดตการใช้งาน PxBounds ทั้งหมดด้วย rect และเพิ่มคำอธิบายประกอบที่เลิกใช้งาน/แทนที่อย่างเหมาะสมเพื่อช่วยในการย้ายข้อมูล (I37038, b/162627058)

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

  • เปลี่ยนชื่อ PlacementScope.placeAbsolute() เป็น PlacementScope.place() และเปลี่ยนชื่อ PlacementScope.place() ก่อนหน้าเป็น PlacementScope.placeRelative() ดังนั้น เมธอด PlacementScope.place() จะไม่มิเรอร์ตำแหน่งในบริบทจากขวาไปซ้ายโดยอัตโนมัติอีกต่อไป หากต้องการใช้รูปแบบนี้ ให้ใช้ PlacementScope.placeRelative() แทน (I873ac, b/162916675)
  • ตอนนี้เราเลิกใช้งานคอมโพสิเบิล state { ... } แล้วเพื่อหันไปใช้การเรียกใช้ remember { mutableStateOf(...) } อย่างชัดแจ้งเพื่อความชัดเจน ซึ่งจะลดจำนวน API โดยรวมและจำนวนแนวคิดสำหรับการจัดการสถานะ และตรงกับรูปแบบ by mutableStateOf() สำหรับการมอบสิทธิ์พร็อพเพอร์ตี้ของคลาส (Ia5727)

เวอร์ชัน 0.1.0-dev16

5 สิงหาคม 2020

androidx.compose.animation:animation:0.1.0-dev16 และ androidx.compose.animation:animation-core:0.1.0-dev16 เผยแพร่แล้ว เวอร์ชัน 0.1.0-dev16 มีการคอมมิตเหล่านี้

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

  • ตอนนี้คุณสามารถเข้าถึงเครื่องมือแปลงเวกเตอร์ในตัวเพื่อแปลงหน่วยในตัวผ่าน Foo.VectorConverter ได้แล้ว เช่น Dp.VectorConverter, Color.VectorConverter, Float.VectorConverter ฯลฯ (I3e273)
  • รองรับ Listener ปลายทางใน Modifier.animateContentSize() เพื่อให้ Listener ได้รับแจ้งเมื่อภาพเคลื่อนไหวการเปลี่ยนแปลงขนาดสิ้นสุดลง พร้อมกับขนาดเริ่มต้น/สิ้นสุดของภาพเคลื่อนไหว (I277b2)
  • ตัวแก้ไข animateContentSize ใหม่ที่แสดงภาพเคลื่อนไหวการเปลี่ยนแปลงขนาดเลย์เอาต์ของตัวแก้ไขย่อย (Ieffdc)
  • เพิ่ม MonotonicFrameAnimationClock ที่ช่วยให้คุณใช้ MonotonicFrameClock เป็น AnimationClockObservable เพื่อเชื่อมช่องว่างระหว่างนาฬิกาแบบโคโริวทีนใหม่กับ API ที่ยังคงใช้นาฬิกาแบบการเรียกกลับแบบเก่า

    ตอนนี้ MonotonicFrameClock เทียบเท่ากับ ManualAnimationClock นั่นคือ ManualFrameClock (I111c7, b/161247083)

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

  • อัปเดต API สำหรับการรองรับจากขวาไปซ้ายแล้ว เพิ่ม LayoutDirectionAmbient ซึ่งสามารถใช้อ่านและเปลี่ยนทิศทางของเลย์เอาต์ได้ นํา Modifier.rtl และ Modifier.ltr ออกแล้ว (I080b3)
  • ต้องระบุประเภท T อย่างชัดแจ้งสำหรับ transitionDefinition (I1aded)
  • แพ็กเกจ foundation.shape.corner ผสานรวมกับ foundation.share แล้ว (I46491, b/161887429)
  • เลิกใช้งาน Modifier.plus แล้ว ให้ใช้ Modifier.then แทน "Then" มีสัญญาณการจัดเรียงที่ชัดเจนกว่า ทั้งยังห้ามไม่ให้พิมพ์ Modifier.padding().background() + anotherModifier ซึ่งทำให้ลำดับคำขาดตอนกลางและอ่านยากขึ้น (Iedd58, b/161529964)
  • เปลี่ยนชื่อ Modifier.drawBackground เป็น Modifier.background (I13677)

เวอร์ชัน 0.1.0-dev15

22 กรกฎาคม 2020

androidx.compose.animation:animation:0.1.0-dev15 และ androidx.compose.animation:animation-core:0.1.0-dev15 เผยแพร่แล้ว เวอร์ชัน 0.1.0-dev15 มีการคอมมิตเหล่านี้

การอัปเดตทรัพยากร Dependencies

  • หากต้องการใช้ Compose เวอร์ชัน 0.1.0-dev15 คุณจะต้องอัปเดต Dependency ตามข้อมูลโค้ดใหม่ที่แสดงด้านบนในส่วนการประกาศ Dependency

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

  • Transition API มีการเปลี่ยนแปลงให้แสดงผล TransitionState แทนการส่ง TransitionState ไปยังรายการย่อย ซึ่งทำให้ API นี้สอดคล้องกับ API animate() มากขึ้น (I24e38)
  • เพิ่มพารามิเตอร์ตัวแก้ไขสําหรับ Crossfade (I87cfe, b/159706180)
  • ใช้ AnimationSpec แทน AnimationBuilder ใน API ระดับบนสุดเพื่อชี้แจงแนวคิดของข้อกําหนดภาพเคลื่อนไหวแบบคงที่
    • ปรับปรุง DSL ของทรานซิชันโดยนำข้อกำหนดเกี่ยวกับ Lambda ในการสร้าง AnimationSpecs เช่น tween, spring ออก แต่จะรับพารามิเตอร์คอนสตรัคเตอร์โดยตรงแทน
    • ปรับปรุงความง่ายในการใช้งานโดยรวมของ AnimationSpec ซึ่งเปิดใช้คอนสตรัคเตอร์แทนที่จะใช้ตัวสร้าง
    • เปลี่ยนระยะเวลาและความล่าช้าของ KeyFrame และ Tween เป็น Int ซึ่งจะช่วยลดการแคสต์ประเภทที่ไม่จำเป็นและการโอเวอร์โหลดเมธอด (เพื่อรองรับทั้ง Long และ Int) (Ica0b4)
  • แทนที่การใช้ IntPx ด้วย Int แทนที่ IntPxPosition ด้วย IntOffset แทนที่ IntPxSize ด้วย IntSize (Ib7b44)
  • เพื่อรวมจำนวนคลาสที่ใช้แสดงข้อมูลการปรับขนาด ให้ใช้คลาส Size แทน PxSize วิธีนี้ให้ประโยชน์ของคลาสอินไลน์เพื่อใช้ประโยชน์จาก long เพื่อแพ็กค่า Float 2 ค่าเพื่อแสดงความกว้างและความสูงที่แสดงเป็น Float (Ic0191)
  • เพื่อรวมจำนวนคลาสที่ใช้แสดงข้อมูลตำแหน่ง ให้ใช้คลาส Offset แทน PxPosition ซึ่งให้ประโยชน์ของคลาสอินไลน์เพื่อใช้ประโยชน์จาก long เพื่อแพ็กค่า Float 2 ค่าเพื่อแสดงค่าออฟเซ็ต x และ y ที่แสดงเป็น Float (I3ad98)
  • แทนที่การใช้คลาส Px ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทพื้นฐานสำหรับพารามิเตอร์พิกเซล (I086f4)
  • เพิ่มการรองรับ animate() สำหรับ Dp, Px, Size, Position, Bounds, PxPosition, PxSize, PxBounds, IntPx, IntPxSize, IntPxPosition, IntPxBounds และ AnimationVector (Ib7518)
  • ตอนนี้ Crossfade ยอมรับพารามิเตอร์ AnimationBuilder ที่ไม่บังคับเพื่อให้กำหนดค่าภาพเคลื่อนไหวได้ (I6d6e0)
  • แทนที่การใช้ Color ที่อนุญาตค่า Null ทั้งหมดใน API ด้วยค่าที่อนุญาตค่า Null และใช้ Color.Unset แทนค่า Null (Iabaa7)
  • นําคลาส ValueHolder ออกแล้ว ปรับโครงสร้างคลาส AnimatedValue และ AnimatedFloat เพื่อทำให้ช่องค่าของแอนิเมชันเป็นนามธรรมเพื่อให้คลาสย่อยสามารถดูการอัปเดตค่าได้
    • เพิ่มคลาสโมเดลสําหรับ AnimatedValue, AnimatedFloat ฯลฯ
    • เพิ่ม @Composable API ชุดใหม่ที่มีน้ำหนักเบาสำหรับแสดงภาพเคลื่อนไหวระหว่างค่า (I79530)
  • การเปลี่ยนแปลงที่สำคัญใน Ambients API ดูรายละเอียดได้ในบันทึกและเอกสารประกอบของ Ambient<T> (I4c7ee, b/143769776)
  • โหมดเล่นซ้ำใหม่: ย้อนกลับ โหมดนี้จะกลับการดำเนินการซ้ำก่อนหน้าเมื่อภาพเคลื่อนไหวซ้ำใน RepeatableSpec หรือ VectorizedRepeatableSpec (Ibe0f5)
  • การเพิ่ม API ลงใน ManualAnimationClock: hasObservers: Boolean และพารามิเตอร์คอนสตรัคเตอร์ dispatchOnSubscribe: Boolean (Iaa134)
  • เพิ่ม API สำหรับการรับขอบเขตต่ำสุด/สูงสุดใน AnimatedFloat (Icd9cc)

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

  • เปลี่ยนชื่อ runOnIdleCompose เป็น runOnIdle (I83607)
  • มีการเปลี่ยนชื่อ API การทดสอบหลายรายการเพื่อให้เข้าใจง่ายขึ้น API ทั้งหมดของ findXYZ เปลี่ยนชื่อเป็น onNodeXYZ แล้ว API ทั้งหมดของ doXYZ ได้เปลี่ยนชื่อเป็น performXYZ แล้ว (I7f164)
  • เปิดตัว API ภาพเคลื่อนไหวแบบไม่มีสถานะระดับล่าง API เหล่านี้ (I63bf7)
  • คอมโพสิชัน "จัดองค์ประกอบใหม่" ไม่ได้เป็นนามธรรมที่มีประโยชน์อีกต่อไป การคอมโพสิชันใหม่ส่วนใหญ่ควรเกิดขึ้นจากการกำหนด MutableState สําหรับรายการอื่นๆ นอกเหนือจากนี้ เราขอแนะนําให้ใช้ฟังก์ชัน invalidate เพื่อทริกเกอร์การจัดองค์ประกอบใหม่ของขอบเขตปัจจุบัน (Ifc992)
  • แทนที่การใช้คลาส Px ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทพื้นฐานสำหรับพารามิเตอร์พิกเซล ลบชั้น Px ทั้งหมด (I3ff33)
  • แทนที่การใช้คลาส Px ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทพื้นฐานสำหรับพารามิเตอร์พิกเซล (Id3434)
  • ตอนนี้ Crossfade ทํางานกับค่าเริ่มต้นเป็น Null ได้แล้ว (Iad6a4, b/155947711)
  • แทนที่การใช้คลาส Px ในคลาสคอมโพสิต์ต่างๆ เป็นส่วนหนึ่งของความพยายามในการรีแฟกทอริงครั้งใหญ่เพื่อใช้เฉพาะ Dp และประเภทพื้นฐานสำหรับพารามิเตอร์พิกเซล (I19d02)
  • รวมการใช้งาน CanvasScope เข้าด้วยกันเพื่อให้เหลือเพียง DrawScope และ ContentDrawScope เท่านั้น และเปลี่ยนชื่อ CanvasScope เป็น DrawScope อัปเดต DrawScope เพื่อใช้อินเทอร์เฟซ Density และระบุ LayoutDirection ลบคลาสย่อย DrawScope ใน ContentDrawScope อัปเดต Painter และ PainterModifier เพื่อไม่ให้ดูแลรักษาพร็อพเพอร์ตี้ RTL เองอีกต่อไปเนื่องจาก DrawScope มีพร็อพเพอร์ตี้นี้อยู่แล้วโดยไม่ต้องระบุด้วยตนเอง (I1798e)
  • อัปเดตระดับที่สูงขึ้นเพื่อคอมโพส API ที่แสดง Canvas ให้แสดง CanvasScope แทน ซึ่งทำให้ผู้บริโภคไม่ต้องดูแลรักษาออบเจ็กต์ Paint ของตนเอง สําหรับผู้บริโภคที่ยังคงต้องการเข้าถึง Canvas อยู่ สามารถใช้เมธอดของส่วนขยาย drawCanvas ซึ่งจะให้การเรียกกลับเพื่อออกคําสั่งวาดด้วย Canvas ที่อยู่เบื้องหลัง (I80afd)
  • เพิ่มพารามิเตอร์ verticalGravity และ horizontalGravity ลงในแถวและคอลัมน์ตามลำดับ (I7dc5a)
  • เปลี่ยนชื่อโมดูล ui-text เป็น ui-text-core (I57dec)
  • ปรับปรุง DrawModifier API
    • สร้างขอบเขตผู้รับสำหรับ ContentDrawScope ของ draw()
    • นําพารามิเตอร์ทั้งหมดใน draw() ออก
    • DrawScope มีอินเทอร์เฟซเดียวกับ CanvasScope เดิม
    • ContentDrawScope มีเมธอด drawContent() (Ibaced, b/152919067)
  • ตอนนี้ runOnIdleCompose และ runOnUiThread เป็นฟังก์ชันส่วนกลางแทนเมธอดใน ComposeTestRule (Icbe8f)
  • [Mutable]ย้ายโอเปอเรเตอร์ตัวรับมอบสิทธิ์พร็อพเพอร์ตี้สถานะไปยังส่วนขยายเพื่อรองรับการเพิ่มประสิทธิภาพตัวรับมอบสิทธิ์พร็อพเพอร์ตี้ของ Kotlin 1.4 ผู้โทรต้องเพิ่มการนําเข้าเพื่อใช้ by state { ... } หรือ by mutableStateOf(...) ต่อ (I5312c)
  • เลิกใช้งาน ColoredRect แล้ว ให้ใช้ Box(Modifier.preferredSize(width, height).drawBackground(color)) แทน (I499fa, b/152753731)
  • แทนที่โอเปอเรเตอร์ตัวเพิ่มตัวแก้ไขด้วยฟังก์ชันส่วนขยายเริ่มต้น (I225e4)
  • คอมโพสิชันศูนย์ที่เลิกใช้งานแล้ว ควรแทนที่ด้วยตัวแก้ไข LayoutSize.Fill + LayoutAlign.Center หรือคอมโพสิชัน Box หรือ Stack รายการใดรายการหนึ่งที่ใช้ตัวแก้ไขที่เหมาะสม (Idf5e0)
  • เปลี่ยนชื่อ LayoutFlexible เป็น LayoutWeight เปลี่ยนชื่อพารามิเตอร์แบบแน่นเป็น "fill" (If4738)
  • ฟังก์ชันคอมโพสิเบิลความทึบแสงถูกแทนที่ด้วยตัวแก้ไข drawOpacity (I5fb62)
  • ตอนนี้การทดสอบที่ใช้ AndroidComposeTestRule มีภาพเคลื่อนไหวของนาฬิกาที่รูทของคอมโพสิชัน ซึ่งช่วยให้หยุดชั่วคราว กลับมาทำงานต่อ และเลื่อนไปข้างหน้าด้วยตนเองได้ (Id54c5)
  • รองรับทิศทางจากขวาไปซ้ายในตัวแก้ไข LayoutPadding (I9e8da)
  • เราได้รวม Density และ DensityScope ไว้ในอินเทอร์เฟซเดียว ตอนนี้คุณใช้ DensityAmbient.current แทน ambientDensity() ได้แล้ว แทนที่จะใช้ withDensity(density) ให้ใช้แค่ with(density) (I11cb1)
  • เพิ่มเมธอดการคัดลอกไปยังคลาสประเภทต่างๆ แบบอินไลน์ ซึ่งรวมถึงคลาสต่อไปนี้
    • ออฟเซ็ต
    • ขนาด
    • รัศมี
    • การเคลื่อนไหว
    • TransformOrigin
    • เลิกใช้งานเมธอดออบเจ็กต์คอมพาเนียนของ Size.copy แล้วIfe290, b/159905651)
  • ย้าย androidx.compose.ViewComposer ไปยัง androidx.ui.node.UiComposer แล้ว และนํา androidx.compose.Emittable ออกแล้ว เนื่องจากมี ComponentNode อยู่แล้ว androidx.compose.ViewAdapters ถูกนําออกแล้ว กรณีการใช้งานเหล่านี้ไม่รองรับแล้ว เลิกใช้งาน Compose.composeInto แล้ว ใช้ setContent หรือ setViewContent แทน เลิกใช้งาน Compose.disposeComposition แล้ว ใช้เมธอด dispose ใน Composition ที่ setContent แสดงแทน androidx.compose.Compose.subcomposeInto ย้ายไปที่ androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt เปลี่ยนชื่อเป็น ComponentNode#insertAt ComponentNode#emitRemoveAt เปลี่ยนชื่อเป็น ComponentNode#removeAt ComponentNode#emitMode เปลี่ยนชื่อเป็น ComponentNode#move (Idef00)