Wear Compose

  
เขียนแอปพลิเคชัน Jetpack Compose สำหรับอุปกรณ์ Wear OS โดย จัดฟังก์ชันการทำงานเพื่อรองรับขนาดอุปกรณ์และ ท่าทางสัมผัสการนำทางที่แตกต่างกัน
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
17 ธันวาคม 2025 1.5.6 - - 1.6.0-alpha07

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

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

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

Groovy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.5.6"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.5.6"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.6"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.6")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.6")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.5.6")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.6")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.6")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

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

ความคิดเห็น

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

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

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

Wear Compose เวอร์ชัน 1.6

เวอร์ชัน 1.6.0-alpha07

17 ธันวาคม 2025

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

การเปลี่ยนแปลง API - เพิ่มอาร์ติแฟกต์ไลบรารี wear-compose:compose-navigation3 (I01b5c, b/427463127) - เพิ่ม SwipeDismissableSceneStrategy สำหรับการผสานรวม Wear กับ Navigation3 โดยใช้ร่วมกับ NavDisplay เพื่อแสดงเนื้อหา Wear Compose ได้ (I7aa08, b/427463127) - เปิดตัว ResponsiveTransformingLazyColumn ซึ่งเป็นคอมโพเนนต์ Material3 ใหม่ที่สร้างขึ้นจาก TransformingLazyColumn จาก Wear Compose Foundation และจะคำนวณและใช้การเว้นวรรคแนวตั้งแบบปรับเปลี่ยนตามเนื้อหาโดยอัตโนมัติตามประเภทเนื้อหารายการ (I102f4, b/426154225)

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

  • แก้ไขปัญหาที่ PageIndicator ไม่ได้วาดใหม่อย่างถูกต้องเมื่อดัชนีหน้าปัจจุบันภายใน PagerState เปลี่ยนแปลง (เช่น โดยการเรียก scrollToPage() หรือใช้ animateScrollToPage() ที่มีการเคลื่อนไหวลดลง) (I97150, b/465669950)
  • แก้ไขการคำนวณความหมายของ TransformingLazyColumn scrollOffset (Idec30, b/417941554)
  • แก้ไข SwipeToReveal ระยะขอบของการดำเนินการเลิกทำ (I770f8, b/382259843)
  • ใช้ PredictiveBackScene เพื่อจัดการ Navigation3 สำหรับ API36 ขึ้นไป (Idedf6, b/427463127)

เวอร์ชัน 1.6.0-alpha06

3 ธันวาคม 2025

androidx.wear.compose:compose-*:1.6.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้

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

  • เพิ่ม LocalRippleConfiguration เพื่อให้ควบคุมลักษณะการกระเพื่อมได้ (I9e0fa, b/382336566)
  • เพิ่มการโอเวอร์โหลดใหม่สำหรับ AlertDialog ซึ่งใช้ TransformingLazyColumn เพื่อให้การควบคุมขั้นสูงเกี่ยวกับภาพเคลื่อนไหวการเลื่อนรายการ เพิ่มการปรับปรุงเลย์เอาต์สำหรับหน้าจอขนาดใหญ่ขึ้น (I862ff, b/438468382)
  • เพิ่มพารามิเตอร์การเปลี่ยนรูปแบบไปยัง ButtonGroup เพื่อใช้กับคอนเทนเนอร์ที่เปลี่ยนแปลงแบบไดนามิก เช่น TransformingLazyColumn (I8743b, b/453710565)

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

  • แก้ไขปัญหาเกี่ยวกับชื่อ AlertDialog และปุ่มยืนยัน/ปิดที่ปรากฏหลายครั้งในการเขียน (I8e1b0, b/463955367)
  • ทำให้โค้ด TimeText มีความแข็งแกร่งมากขึ้นเมื่อรอการเปลี่ยนแปลง TimeZone (I1c276, b/457909952)
  • ปรับปรุงประสิทธิภาพของ SplitRadioButton และ SplitCheckboxButton โดยลดจำนวนการจัดองค์ประกอบใหม่ (I3ddc9, b/455845192)

เวอร์ชัน 1.6.0-alpha05

19 พฤศจิกายน 2025

androidx.wear.compose:compose-*:1.6.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้

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

  • เปิดตัว RotarySnapSensitivity สำหรับลักษณะการทำงานของการสแนปแบบหมุน และ PagerSensitivity สำหรับลักษณะการทำงานของการปัดหน้า เพื่อให้แอปพลิเคชันปรับระดับความไวของลักษณะการทำงานของการหมุนและการปัดได้ โดยเฉพาะอย่างยิ่งสำหรับเพจเจอร์ (Ic3a83, b/449949891)
  • การเปลี่ยนแปลงที่ง่ายขึ้นใน rememberTransformingLazyColumnState ซึ่งเกิดขึ้นพร้อมกับการเปิดตัวเลย์เอาต์ย้อนกลับสำหรับ TransformingLazyColumn โดยรวมเป็นฟังก์ชันเดียวและใช้ค่า Sentinel เพื่อใช้ดัชนียึดเริ่มต้น (I09302, b/453731755)
  • เพิ่ม GenericFailureIcon เริ่มต้นใหม่เพื่อใช้ใน FailureConfirmationDialog ซึ่งจะแสดงไอคอนข้อผิดพลาดทั่วไป เปลี่ยนชื่อ FailureIcon ที่มีอยู่เป็น ConnectionFailureIcon แล้ว (I8e965, b/453730430)

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

  • ทำให้TimePickerมีประสิทธิภาพมากขึ้นเมื่อแยกวิเคราะห์รูปแบบภาษาที่ซับซ้อน (I7b169, b/456538838)
  • แก้ไขTransformingLazyColumnเลย์เอาต์เริ่มต้นเมื่อ verticalArrangement เป็น Arrangement.Center (Id18ef, b/451481233)
  • TransformingLazyColumnState ตัวสร้างที่สอดคล้องกับฟังก์ชัน rememberTransformingLazyColumnState (I36d6a, b/453731755)
  • อัปเดตไอคอนเครื่องหมายถูกสำหรับ CheckboxButton ให้เป็นแบบกลม (Ie645e, b/378645751)
  • อัปเดตไอคอนเครื่องหมายถูกสำหรับ SwitchButton ให้เป็นแบบกลม (I31fbf, b/378642590)
  • แก้ไขออฟเซ็ต scrollToItem ใน TransformingLazyColumn ซึ่งเป็นการสลับทิศทางการเลื่อน (Ib2c93, b/451481233)
  • ปรับปรุงประสิทธิภาพของ SwitchButton และ SplitSwitchButton (I708de, b/448781327)

เวอร์ชัน 1.6.0-alpha04

22 ตุลาคม 2025

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

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

  • ใช้ reverseLayout สำหรับ TransformingLazyColumn (I19f9e, b/352513793)
  • เพิ่ม ConfirmationDialogDefaults.VariantFailureIcon เพื่อใช้ใน FailureConfirmationDialog ในบางกรณี ไอคอนข้อผิดพลาดทั่วไปใหม่นี้อาจเป็นตัวเลือกที่ดีกว่า ConfirmationDialogDefaults.FailureIcon ซึ่งแสดงการเชื่อมต่อกับโทรศัพท์ที่ขาดหายไป (Ifc851, b/443115305)

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

  • ปรับปรุงประสิทธิภาพของเครื่องมือเลือกโดยการปรับโครงสร้างการใช้ LaunchedEffect (I94519, b/418192973)
  • แก้ไขข้อบกพร่องใน SwipeDismissableNavHost ใน API36 ขึ้นไป ซึ่งการกดปุ่มย้อนกลับระหว่างภาพเคลื่อนไหวการย้อนกลับที่คาดการณ์ได้จะขัดจังหวะและรีสตาร์ทภาพเคลื่อนไหว ตอนนี้การใช้งานใช้ SeakableTransitionState.animateTo แทน Animatable ซึ่งมีประโยชน์ด้านประสิทธิภาพเล็กน้อย (I2241f, b/428156670)
  • แก้ไขข้อบกพร่องสำหรับการจัดลำดับการประกาศการช่วยเหลือพิเศษใน AlertDialog ซึ่งปุ่มยืนยันได้รับการประกาศเป็น "ปุ่ม" ยืนยัน" แทนที่จะเป็น "ยืนยัน ปุ่ม (Ic2381, b/429378202)
  • ปรับปรุงTimePickerการแสดงตัวเลขบนหน้าจอขนาดเล็ก (I68386, b/447625365)
  • นำ Fork ของเลย์เอาต์แบบเลื่อนออกจาก Wear Compose Foundation ซึ่งหมายความว่า TransformingLazyColumn จะใช้การติดตั้งใช้งานเลย์เอาต์แบบเลื่อนของ Compose Foundation รวมถึงการดึงข้อมูลล่วงหน้า และได้รับประโยชน์จากการปรับปรุงประสิทธิภาพในเวลาเฟรมในกรณีส่วนใหญ่ (Idd743, b/445911630)

เวอร์ชัน 1.6.0-alpha03

8 ตุลาคม 2025

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

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

  • เพิ่มพารามิเตอร์ ลงใน TimePicker เพื่อระบุคอมโพเนนต์เวลาที่โฟกัสในตอนแรก โดยค่าเริ่มต้น ระบบจะเลือกคอมโพเนนต์แรกที่ใช้ได้ตามภาษาและ TimePickerType (Ie5dfe, b/437015874)
  • นำพารามิเตอร์ targetProgress ที่ไม่ได้ใช้ออกในเมธอด CircularProgressIndicator drawCircularProgressIndicator (Ieeb3c, b/430544552)

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

  • ใช้การรองรับที่ขาดหายไปสำหรับ TransformingLazyColumn verticalAlignment - ตอนนี้รองรับการจัดเรียงมาตรฐานที่อิงตามด้านบน ด้านล่าง หรือตรงกลางแล้ว (I2e630, b/444143326)
  • ปรับปรุงการคำนวณความกว้างของข้อความโค้งเพื่อพิจารณาช่องว่างก่อนและหลังข้อความ (อาจทำให้ภาพหน้าจอที่มีข้อความโค้งใช้งานไม่ได้ โดยเฉพาะอย่างยิ่งเมื่อมีพื้นหลัง เช่น TimeText) (I924a4, b/446601899)
  • อัปเดต WarpedCurvedTextRenderer ของ Compose Foundation เพื่อเลือกใช้ EmojiCompatInitializer จาก androidx.emoji2 เพื่อแก้ไขข้อผิดพลาดของคลาสรันไทม์ (I589b4, b/444422736)
  • อัปเดต ScalingLazyColumn เพื่อมุ่งเน้นที่โหนดที่เลื่อนได้ด้วย CollectionInfo เพื่อให้ทำงานร่วมกับฟีเจอร์หมุนได้ในบริบทต่างๆ มากขึ้น เช่น ใน Material3 AlertDialog (I6be3c, b/445332360)

เวอร์ชัน 1.6.0-alpha02

24 กันยายน 2025

androidx.wear.compose:compose-*:1.6.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้

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

  • ปรับปรุงการแสดงข้อความโค้ง โดยเฉพาะแบบอักษรแบบเขียนหวัด ด้วยการเปิดตัวการบิดข้อความโดยใช้พารามิเตอร์ CurvedTextStyle ใหม่ warpOffset (If5dcb)

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

  • แคชภาพเคลื่อนไหวของรายการที่เพิ่มประสิทธิภาพแล้วขณะเลื่อนใน TransformingLazyColumn (I62ae8)
  • เราได้อัปเดตรูปแบบ OpenOnPhoneDialog และ ConfirmationDialog เพื่อตั้งค่า FLAG_KEEP_SCREEN_ON เพื่อให้ภาพเคลื่อนไหวทำงานจนเสร็จสมบูรณ์และกล่องโต้ตอบปิดตัวเองตามที่ตั้งใจไว้ (Iad7d4)
  • แก้ไขข้อบกพร่องที่ทำให้ Modifier.edgeSwipeToDismiss ขัดข้องเมื่อใช้กับ SwipeDismissableNavHost ใน API 36 ขึ้นไป (Ifc13d)
  • เอกสารประกอบและความคิดเห็นที่อัปเดตแล้วซึ่งเชื่อมโยงกับพารามิเตอร์ CurvedTextStyle warpOffset ใหม่เพื่อให้ระบุถึงกรณีที่ไม่ได้ระบุได้อย่างถูกต้อง (I41aa5)

เวอร์ชัน 1.6.0-alpha01

10 กันยายน 2025

androidx.wear.compose:compose-*:1.6.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้

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

  • เพิ่มตัวแปรที่คลิกไม่ได้สำหรับ Card, TitleCard, OutlinedCard และ AppCard (I509bb, b/406690146)
  • นำพารามิเตอร์ interactionSource ออกจาก API การ์ดใหม่ที่คลิกไม่ได้ (If0c7a, b/440323280)
  • เพิ่มMinutesSecondsประเภทใหม่ลงในคอมโพเนนต์ TimePicker ซึ่งจะแสดงเฉพาะคอลัมน์นาทีและวินาที โดยไม่แสดงคอลัมน์ชั่วโมง (Ia9e94, b/438004664)

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

  • แก้ไขการใช้พารามิเตอร์ตัวแก้ไขของ HorizontalPagerScaffold เพื่อให้ HorizontalPager ไม่สูญเสียตัวบ่งชี้หน้าหากเพิ่ม Modifier.fillMaxSize() (I07ae1, b/441682601)
  • จัดแนวScrollIndicatorตามทิศทางการจัดวางเนื้อหาโดยค่าเริ่มต้น (I0da0f, b/441489028)
  • แก้ไขปัญหา ScrollAway เมื่อใช้กับ TransformingLazyColumn TimeText เลื่อนไม่ถูกต้องหลังจากไปยังหน้าจออื่นแล้วกลับมา (Ic0ef1, b/433549148)
  • TransformingLazyColumnการรายงานSCROLL_BACKWARDSและSCROLL_FORWARDSความหมายที่ถูกต้องสำหรับกรณีขอบที่ด้านบน/ด้านล่างของหน้าจอ (I5c28d, b/405205994)
  • แก้ไขข้อบกพร่องใน SwipeDismissableNavHost ที่การเปลี่ยนผ่านที่อยู่ระหว่างดำเนินการไม่ได้ทำเครื่องหมายว่าเสร็จสมบูรณ์หลังจากปัดกลับใน API 36 (Ife72e, b/441089689)
  • อัปเดต OpenOnPhoneMaxSweepAngle เริ่มต้นเป็น 200 องศาเพื่อป้องกันไม่ให้ข้อความ "ตรวจสอบโทรศัพท์" บางส่วนถูกตัดออก (Ib2e4c, b/428243902)

Wear Compose เวอร์ชัน 1.5

เวอร์ชัน 1.5.6

3 ธันวาคม 2025

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

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

  • เพิ่มประสิทธิภาพการแคชภาพเคลื่อนไหวของไอเทมขณะเลื่อนใน TransformingLazyColumn (I62ae8, b/441701460)
  • เราได้อัปเดตรูปแบบ OpenOnPhoneDialog และ ConfirmationDialog เพื่อตั้งค่า FLAG_KEEP_SCREEN_ON เพื่อให้ภาพเคลื่อนไหวทำงานจนเสร็จสมบูรณ์และกล่องโต้ตอบปิดตัวเองตามที่ตั้งใจไว้ (Iad7d4, b/437986990)
  • แก้ไขข้อบกพร่องที่ทำให้ Modifier.edgeSwipeToDismiss ขัดข้องเมื่อใช้กับ SwipeDismissableNavHost ใน API 36 ขึ้นไป (Ifc13d, b/441901722)

เวอร์ชัน 1.5.5

5 พฤศจิกายน 2025

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

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

  • ปรับปรุงTimePickerการแสดงหมายเลขบนหน้าจอขนาดเล็ก (I70fbe)

เวอร์ชัน 1.5.4

22 ตุลาคม 2025

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

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

  • ปรับปรุงประสิทธิภาพของเครื่องมือเลือกโดยการปรับโครงสร้างการใช้ LaunchedEffect (I94519, b/418192973)
  • แก้ไขข้อบกพร่องใน SwipeDismissableNavHost ใน API36 ขึ้นไป ซึ่งการกดปุ่มย้อนกลับระหว่างภาพเคลื่อนไหวการย้อนกลับที่คาดการณ์ได้จะขัดจังหวะและรีสตาร์ทภาพเคลื่อนไหว ตอนนี้การใช้งานใช้ SeakableTransitionState.animateTo แทน Animatable ซึ่งมีประโยชน์ด้านประสิทธิภาพเล็กน้อย (I2241f, b/428156670)
  • แก้ไขข้อบกพร่องสำหรับการจัดลำดับการประกาศการช่วยเหลือพิเศษใน AlertDialog ซึ่งปุ่มยืนยันได้รับการประกาศเป็น "ปุ่ม" ยืนยัน" แทนที่จะเป็น "ยืนยัน ปุ่ม (Ic2381, b/429378202)

เวอร์ชัน 1.5.3

8 ตุลาคม 2025

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

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

  • ใช้การรองรับที่ขาดหายไปสำหรับ TransformingLazyColumn verticalAlignment - ตอนนี้รองรับการจัดเรียงมาตรฐานที่อิงตามด้านบน ด้านล่าง หรือตรงกลางแล้ว (I2e630, b/444143326)

รุ่น 1.5.2

24 กันยายน 2025

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

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

  • แคชภาพเคลื่อนไหวของรายการที่เพิ่มประสิทธิภาพแล้วขณะเลื่อนใน TransformingLazyColumn (I62ae8)
  • เราได้อัปเดตรูปแบบ OpenOnPhoneDialog และ ConfirmationDialog เพื่อตั้งค่า FLAG_KEEP_SCREEN_ON เพื่อให้ภาพเคลื่อนไหวทำงานจนเสร็จสมบูรณ์และกล่องโต้ตอบปิดตัวเองตามที่ตั้งใจไว้ (Iad7d4)
  • แก้ไขข้อบกพร่องที่ทำให้ Modifier.edgeSwipeToDismiss ขัดข้องเมื่อใช้กับ SwipeDismissableNavHost ใน API 36 ขึ้นไป (Ifc13d)
  • เอกสารประกอบและความคิดเห็นที่อัปเดตแล้วซึ่งเชื่อมโยงกับพารามิเตอร์ CurvedTextStyle warpOffset ใหม่เพื่อให้ระบุถึงกรณีที่ไม่ได้ระบุได้อย่างถูกต้อง (I41aa5)

รุ่น 1.5.1

10 กันยายน 2025

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

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

  • แก้ไขการใช้พารามิเตอร์ตัวแก้ไขของ HorizontalPagerScaffold เพื่อให้ HorizontalPager ไม่สูญเสียตัวบ่งชี้หน้าหากเพิ่ม Modifier.fillMaxSize() (I07ae1, b/441682601)
  • จัดแนวScrollIndicatorตามทิศทางการจัดวางเนื้อหาโดยค่าเริ่มต้น (I0da0f, b/441489028)
  • แก้ไขปัญหา ScrollAway เมื่อใช้กับ TransformingLazyColumn TimeText เลื่อนไม่ถูกต้องหลังจากไปยังหน้าจออื่นแล้วกลับมา (Ic0ef1, b/433549148)
  • TransformingLazyColumnการรายงานSCROLL_BACKWARDSและSCROLL_FORWARDSความหมายที่ถูกต้องสำหรับกรณีขอบที่ด้านบน/ด้านล่างของหน้าจอ (I5c28d, b/405205994)
  • แก้ไขข้อบกพร่องใน SwipeDismissableNavHost ที่การเปลี่ยนผ่านที่อยู่ระหว่างดำเนินการไม่ได้ทำเครื่องหมายว่าเสร็จสมบูรณ์หลังจากปัดกลับใน API 36 (Ife72e, b/441089689)
  • อัปเดต OpenOnPhoneMaxSweepAngle เริ่มต้นเป็น 200 องศาเพื่อป้องกันไม่ให้ข้อความ "ตรวจสอบโทรศัพท์" บางส่วนถูกตัดออก (Ib2e4c, b/428243902)

เวอร์ชัน 1.5.0

27 สิงหาคม 2025

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

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

เปิดตัวไลบรารี Wear Compose Material 3 เป็นครั้งแรก ซึ่งรองรับระบบการออกแบบ Material 3 Expressive ใหม่ รุ่นนี้มีรายละเอียดดังต่อไปนี้

  • อัปเดต MaterialTheme และการจัดธีมสีแบบไดนามิก
  • คอมโพเนนต์ AppScaffold, ScreenScaffold, HorizontalPagerScaffold และ VerticalPagerScaffold ใหม่เพื่อจัดวางโครงสร้างของหน้าจอและประสานงานภาพเคลื่อนไหว ScrollIndicator, TimeText, HorizontalPageIndicator และ VerticalPageIndicator
  • การเปลี่ยนรูปร่าง IconButton, TextButton, IconToggleButton และ TextToggleButton พร้อมรูปแบบต่างๆ ที่เคลื่อนไหวเมื่อกดหรือเลือก
  • EdgeButton ซึ่งมีรูปร่างพิเศษที่ออกแบบมาสำหรับด้านล่างของหน้าจอ
  • ButtonGroup ใช้ปุ่มกลุ่มที่สื่อความหมายในแถวที่เปลี่ยนรูปร่างเมื่อแตะ
  • AlertDialog และ ConfirmationDialog พร้อมรูปแบบต่างๆ สำหรับเนื้อหาในกล่องโต้ตอบเพิ่มเติม
  • TimePicker และคอมโพเนนต์ DatePicker
  • ตัวบ่งชี้ความคืบหน้า ได้แก่ CircularProgressIndicator (มีรูปแบบที่แบ่งกลุ่ม) ArcProgressIndicator และ LinearProgressIndicator

นอกจากนี้ Wear Compose Foundation 1.5.0 ยังมีสิ่งต่อไปนี้ด้วย

  • TransformingLazyColumn ซึ่งเป็นรายการที่เลื่อนในแนวตั้งแบบเลื่อนช้าที่รองรับการปรับขนาดและภาพเคลื่อนไหวแบบมอร์ฟ
  • รองรับการแบ่งหน้าใน Wear Compose Foundation ด้วย HorizontalPager และ VerticalPager
  • กลุ่มโฟกัสแบบลำดับชั้น - ใช้เพื่อใส่คำอธิบายประกอบที่ Composable ในแอปพลิเคชันเพื่อติดตามส่วนที่ใช้งานอยู่ของ Composition และประสานงานโฟกัส

อ่านเพิ่มเติมเกี่ยวกับ (Material 3 Expressive สำหรับ Wear OS)

การเปลี่ยนแปลงเพิ่มเติม

เวอร์ชัน 1.5.0-rc02

13 สิงหาคม 2025

androidx.wear.compose:compose-*:1.5.0-rc02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-rc02 มีการเปลี่ยนแปลงเหล่านี้

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

  • แก้ไขข้อบกพร่องใน TimePicker ซึ่งสตริงแบบยาวที่แปลเป็นภาษาต่างๆ สำหรับระยะเวลา (AM/PM) อาจทำให้เลย์เอาต์เสีย (I0fa81)

เวอร์ชัน 1.5.0-rc01

30 กรกฎาคม 2025

androidx.wear.compose:compose-*:1.5.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-rc01 มีการเปลี่ยนแปลงเหล่านี้

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

  • ตอนนี้ TimePicker จะทำงานตามภาษาของผู้ใช้โดยสมบูรณ์ โดยใช้ DateFormat.getBestDateTimePattern เพื่อกำหนดลำดับและเนื้อหาของตัวเลือกและตัวคั่น การเปลี่ยนแปลงนี้จะแก้ไขลำดับคอลัมน์ที่ไม่ถูกต้องสำหรับภาษา CJK, แก้ไขปัญหาเลย์เอาต์ RTL ในภาษาต่างๆ เช่น อารบิก, ใช้ตัวคั่นที่แปลแล้ว และรองรับทั้งรูปแบบ 0-11 และ 1-12 ชั่วโมงตามภาษา (I5d543)
  • DatePicker จะแสดงเดือนเป็นตัวเลขในบางภาษา เช่น CJK เพื่อหลีกเลี่ยงการผสมรูปแบบตัวเลขและภาษา (เช่น 2025 | 07 | 02 แทน 2025 | 7月 | 02) การเปลี่ยนแปลงนี้ใช้ฮิวริสติกที่ตรวจสอบว่าภาษาใช้คำต่อท้ายทางภาษาสำหรับปีหรือไม่ หากใช้ ก็จะเปลี่ยนรูปแบบเดือนจากข้อความ (MMM) เป็นตัวเลข (MM) เพื่อให้สอดคล้องกัน (Ia93fe)
  • ตอนนี้พื้นที่แนวตั้งสำหรับส่วนหัวในคอมโพเนนต์ Picker จะคงที่ ซึ่งจะช่วยป้องกันการเลื่อนที่มองเห็นได้เมื่อเลือกคอลัมน์ Picker โดยเฉพาะในโหมด Talkback (I7f8b7)
  • แก้ไขข้อบกพร่องด้านการช่วยเหลือพิเศษที่เกิดจากการวาด HorizontalPageIndicator และ VerticalPageIndicator แบบเต็มหน้าจอ ตัวบ่งชี้หน้าจะไม่แสดงแบบเต็มหน้าจออีกต่อไป และจะวางตำแหน่งโดยอัตโนมัติเมื่อใช้กับ HorizontalPagerScaffold หรือ VerticalPagerScaffold เมื่อไม่ได้ใช้โครงสร้าง Pager ให้ระบุการจัดแนวอย่างชัดเจนโดยใช้ modifier = Modifier.align(Alignment.BottomCenter) กับ HorizontalPageIndicator และ modifier =Modifier.align(Alignment.CenterEnd) กับ VerticalPageIndicator (I3a0ad)
  • ตอนนี้ทิศทางการปัดใน SwipeToReveal จะสอดคล้องกันทั้งสำหรับ LayoutDirections ที่อ่านจากซ้ายไปขวาและจากขวาไปซ้าย (I6d427)
  • คืนค่าการจัดกึ่งกลางในแนวตั้ง SwipeToReveal สำหรับการดำเนินการ หาก hasPartiallyRevealedState = true ผู้โทรควรตั้งค่า RevealState เป็น RevealValue.Covered เมื่อมีการเลื่อน (I6473d)
  • SwipeDismissableNavHost ตอนนี้จะตัดเนื้อหาสำหรับ API 36 ขึ้นไปได้อย่างถูกต้องแล้ว (Ib9a44)

เวอร์ชัน 1.5.0-beta06

16 กรกฎาคม 2025

androidx.wear.compose:compose-*:1.5.0-beta06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta06 มีการเปลี่ยนแปลงเหล่านี้

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

  • แก้ไขEdgeButtonภาพเคลื่อนไหวเมื่อ LazyColumn หรือ ScalingLazyColumn มีreverseLayout = true (I46a1a)
  • แก้ไขข้อบกพร่องใน ScreenScaffold ที่การแตะเพื่อสำรวจไม่ทำงานใน TalkBack หากมีการระบุ ScrollIndicator/PageIndicator (I6dcee)
  • TransformingLazyColumn อนุญาตให้เปลี่ยนรูปร่างจาก TransformationSpec ได้แล้วโดยอ่านค่า itemHeight ที่ TransformationSpec ระบุไว้ในเครื่องมือวาดภาพพื้นหลัง (I6a599)
  • การเปลี่ยนสีเมื่อเปิด/ปิดใช้ภาพเคลื่อนไหวสำหรับ IconButton เพื่อให้สอดคล้องกับ IconToggleButton (Ife10a)
  • นำการยึดส่วนขั้นต่ำใน CircularProgressIndicator ออกเพื่อหลีกเลี่ยงการกระโดดที่เห็นได้ชัดไปยังขนาดจุดขั้นต่ำเมื่อเคลื่อนไหว การเปลี่ยนแปลงนี้จะทำให้ไม่ได้ใช้พารามิเตอร์ targetProgress ใน drawCircularProgressIndicator อีกต่อไป (I33309)
  • ตอนนี้ตัวเลือกมีบทบาทเชิงความหมาย ValuePicker ซึ่งโปรแกรมอ่านหน้าจอใช้เพื่อทำให้ตัวเลือกเข้าถึงได้ง่ายขึ้น นอกจากนี้ เครื่องมือเลือกยังมีการอัปเดตป้ายกำกับการคลิกเพื่อการช่วยเหลือพิเศษ ซึ่งจะแยกความแตกต่างระหว่างการปรับค่าในโหมดอ่านอย่างเดียวกับการเลือกค่าปัจจุบันในโหมดอื่นๆ (I33309)

เวอร์ชัน 1.5.0-beta05

2 กรกฎาคม 2025

androidx.wear.compose:compose-*:1.5.0-beta05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta05 มีการเปลี่ยนแปลงเหล่านี้

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

  • อัปเดตเอกสารเพื่อชี้แจงการใช้งาน Modifier.edgeSwipeToDismiss (I78cb5)
  • แก้ไขข้อบกพร่องที่อาจแสดงรายการที่เปิดเผยหลายรายการพร้อมกับ SwipeToReveal ในรายการแบบเลซี่ (I1d4f6)
  • ตอนนี้ระบบจะปรับขนาดรูปร่างคอนเทนเนอร์ใน TransformingLazyColumn เพื่อหลีกเลี่ยงการตัดเนื้อหา (I9221a)
  • ป้ายกำกับ TimePicker และ DatePicker สำหรับชั่วโมง/นาที/วินาที หรือปี/เดือน/วัน มีความหมายของส่วนหัวสำหรับโปรแกรมอ่านหน้าจอแล้ว (I77d8b)
  • นำการหยุดชั่วคราวระหว่างลูปใน CircularProgressIndicator ที่ไม่แน่นอน (Iaf0bb) ออกแล้ว
  • แก้ไขข้อบกพร่องของภาพเคลื่อนไหวใน TransformingLazyColumn เมื่อนำรายการออก (I73034)
  • แก้ไขการจัดการรายการยึดใน TransformingLazyColumn เมื่อนำรายการออก (I841a8)
  • PickerGroup จะเคลื่อนไหวตัวเลือกในแนวนอนเมื่อเปิดการจัดกึ่งกลางอัตโนมัติและเปลี่ยนตัวเลือกที่เลือก (จัดกึ่งกลาง) (Ic82c4)

เวอร์ชัน 1.5.0-beta04

18 มิถุนายน 2025

androidx.wear.compose:compose-*:1.5.0-beta04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta04 มีการเปลี่ยนแปลงเหล่านี้

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

  • แก้ไขข้อบกพร่องของเลย์เอาต์ใน TransformingLazyColumn ซึ่งตอนนี้เนื้อหาที่พอดีกับหน้าจอจะจัดแนวอย่างถูกต้องจากด้านบนของหน้าจอ (I80115)
  • แก้ไขปัญหาเกี่ยวกับ TransformingLazyColumn ที่รายการด้านล่างมีการปรับขนาดอย่างไม่ถูกต้องเมื่อเลื่อนไปที่ด้านล่างสุดของรายการที่มี EdgeButton ตอนนี้ความคืบหน้าในการเลื่อนจะใช้การไล่ระดับสีเมื่อกู้คืนเลย์เอาต์ (Iea375)
  • TransformingLazyColumn จะอ่านความสูงของรายการภายในเครื่องมือวาดภาพพื้นหลัง ซึ่งช่วยให้ TransformationSpecs ที่กำหนดเองสามารถใช้การมอร์ฟได้ (I022f0)
  • SwipeToReveal ตอนนี้จะจัดกึ่งกลางการดำเนินการที่แสดงในแนวตั้งได้อย่างถูกต้องแล้ว (I4419b)
  • แก้ไขข้อบกพร่องใน SwipeToReveal ที่ทำให้ทำงานร่วมกับการปัดเพื่อปิดไม่ได้อย่างถูกต้อง หากทั้งมุมมองและ Compose ใช้งานอยู่บนหน้าจอ (I5dc0e)
  • แก้ไขข้อบกพร่องที่ทำให้การดำเนินการ SwipeToReveal มีการวาดด้วยออฟเซ็ตแนวตั้งเมื่อเลื่อน (I29444)
  • ตอนนี้ AlertDialog, ConfirmationDialog, OpenOnPhoneDialog และ SwipeToReveal จะปัดขึ้นระยะขอบและขนาดที่คำนวณเป็นเปอร์เซ็นต์ของขนาดหน้าจอ (I76367)
  • ButtonDefaults.outlinedButtonBorder จะอัปเดตตามการเปลี่ยนแปลงสถานะที่เปิด/ปิดใช้ size(If2ddd)
  • แก้ไขข้อบกพร่องใน EdgeButton ความสูงที่เกิดขึ้นในหน้าจอที่ซับซ้อนซึ่งมี Pager และ ScreenScaffold (I946e3)
  • แก้ไขเงื่อนไขการแข่งขันที่อาจทำให้ภาพเคลื่อนไหวของตัวยึดตำแหน่งหยุดทำงาน (I53530)
  • ปรับปรุงประสิทธิภาพของ HorizontalPageIndicator และ VerticalPageIndicator โดยการวาดลงใน Canvas (Ifae1e)
  • ปรับรูปร่างของ EdgeButton เพื่อให้การเปลี่ยนระหว่างจุดไข่ปลาและวงกลมที่ประกอบกันเป็นโครงร่างราบรื่นยิ่งขึ้น (I7721e)
  • แก้ไขข้อบกพร่องใน LevelIndicator ที่ทำให้ภาพเคลื่อนไหวหยุดทำงานเนื่องจากการจัดองค์ประกอบใหม่ที่ไม่จำเป็น (I45d08)

เวอร์ชัน 1.5.0-beta03

4 มิถุนายน 2025

androidx.wear.compose:compose-*:1.5.0-beta03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta03 มีการเปลี่ยนแปลงเหล่านี้

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

  • OpenOnPhoneDialog จะประกาศเฉพาะข้อความใต้ TalkBack และข้ามความหมายของไอคอน เราได้อัปเดต OpenOnPhoneDialogDefaults เพื่อนำพารามิเตอร์ iconContentDescription และ contentDescription ออกจาก icon() นอกจากนี้ ConfirmationDialogDefaults ยังมีพารามิเตอร์ตัวแก้ไขใน SuccessIcon และ FailureIcon ที่ใช้ร่วมกันได้แล้ว (Id2ae2)

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

  • เปลี่ยนลำดับที่เราใช้เอฟเฟกต์ของพารามิเตอร์ SurfaceTransformation ก่อนหน้านี้ การเปลี่ยนรูปแบบที่ใช้กับคอมโพเนนต์ Wear Material3 จะดำเนินการดังนี้: เครื่องมือวาดพื้นหลัง, การเปลี่ยนรูปแบบคอนเทนเนอร์, การเปลี่ยนรูปแบบเนื้อหา ตอนนี้ 2 รายการแรกจะกลับด้าน และเราจะใช้ตัวแก้ไขที่ส่งผ่านระหว่าง 2 รายการนี้ ดังนั้นจึงได้รับผลกระทบจากการเปลี่ยนรูปแบบคอนเทนเนอร์ ซึ่งจะแก้ไขกรณีต่างๆ เช่น การใช้เอฟเฟกต์การสั่นไหวของตัวยึดตำแหน่งกับองค์ประกอบใน TLC โดยใช้พารามิเตอร์การเปลี่ยนรูปแบบ (I786cf)
  • RevealState.Saver ได้รับการเพิ่มเพื่อใช้ในการคืนค่าสถานะของ SwipeToReveal เมื่อมีการสร้างกิจกรรมหรือกระบวนการขึ้นใหม่ rememberRevealState จะใช้โปรแกรมประหยัดนี้โดยค่าเริ่มต้น (Ie0ecb)
  • SwipeToReveal ปุ่มการกระทําหลักและรองควรมีค่าเริ่มต้นเป็น ButtonDefault.Height (แก้ไขข้อบกพร่องที่ปุ่มเหล่านี้เติมความสูงสูงสุดสําหรับปุ่มที่สูงกว่า) (Ibfba1)
  • เปลี่ยน SwipeToReveal เพื่อรีเซ็ตคอมโพเนนต์สุดท้ายที่มีการโต้ตอบ เมื่อมีการปัดไปทางขวา (Ia8450)
  • SwipeToReveal เปลี่ยนเป็นสถานะ Revealing เมื่อตำแหน่งสิ้นสุดของการปัดอยู่ระหว่างจุดยึดที่เปิดเผยและจุดยึดที่เปิดเผยแล้ว และอยู่ใกล้กับจุดยึดที่เปิดเผยมากกว่า (If4458)
  • ตอนนี้เนื้อหาของ ButtonGroup จะกลับด้านอย่างถูกต้องในเลย์เอาต์ RTL (Ib378d)
  • AnimatedText รองรับทิศทางข้อความจากขวาไปซ้าย (RTL) แล้ว (I4533c)
  • TransformingLazyColumn จะปรับขนาดรายการอย่างถูกต้องเมื่อนำรายการด้านล่างออก (Idacab)
  • TransformingLazyColumn ตอนนี้จะทำการวัดเพียงครั้งเดียว ซึ่งจะช่วยปรับปรุงประสิทธิภาพด้วยการลดเวลาเฟรม (I501a1)

เวอร์ชัน 1.5.0-beta02

20 พฤษภาคม 2025

androidx.wear.compose:compose-*:1.5.0-beta02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta02 มีการเปลี่ยนแปลงเหล่านี้

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

  • อัปเดตโปรไฟล์ระดับพื้นฐานสำหรับไลบรารี Foundation, Material และ Material3 (I53f06)
  • แก้ไขข้อบกพร่องใน TransformingLazyColumn ซึ่งรายการจะปรับขนาดเมื่อนำรายการด้านล่างออก (Idacab)
  • แก้ไขข้อบกพร่องเกี่ยวกับ TransformingLazyColumn เมื่อรายการติดอยู่ที่ด้านบนหรือด้านล่างของรายการ (I49d00)
  • OpenOnPhoneDialog ใน TalkBack ควรประกาศข้อความโค้งแทนคำอธิบายเนื้อหาไอคอน (I4efe8)
  • แก้ไขข้อบกพร่องใน SwipeToReveal ซึ่งจะรายงาน Anchor ที่ไม่ถูกต้องใน RevealState.currentValue เมื่อตั้งค่า hasPartiallyRevealedState เป็น "false" (I9c7cf)
  • ตอนนี้ปุ่มSwipeToRevealเลิกทำจะเป็น ButtonDefaults.Height โดยค่าเริ่มต้น (I1f6c8)
  • BasicSwipeToDismissBox ได้รับการปรับปรุงประสิทธิภาพด้วยการเลิกใช้ Canvas สำหรับการวาดภาพเลเยอร์ (I68f2c)
  • แก้ไขข้อบกพร่องด้านการช่วยเหลือพิเศษในแถบเลื่อน ซึ่งเปอร์เซ็นต์ที่ประกาศไม่ตรงกับค่าหลังการอัปเดต (I91146)
  • แก้ไขข้อบกพร่องในการติดตั้งใช้งาน placeholderShimmer (Iee39b
  • TransformingLazyColumn ได้รับการปรับปรุงโดยการเพิ่มประสิทธิภาพการคำนวณ ScrollProgress ขึ้น 30% (I4c4cb)

เวอร์ชัน 1.5.0-beta01

7 พฤษภาคม 2025

androidx.wear.compose:compose-*:1.5.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta01 มีการเปลี่ยนแปลงเหล่านี้

การเปิดตัว Compose สำหรับ Wear OS เวอร์ชัน 1.5.0-beta01 แสดงให้เห็นว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อกแล้ว (ยกเว้นที่ทำเครื่องหมายว่าเป็นการทดลอง)

Wear Compose 1.5.0-beta01 มีไลบรารี Wear Compose Material3 ซึ่งรองรับระบบการออกแบบ UI ใหม่ที่เรียกว่า Material 3 Expressive เราขอแนะนำให้อัปเกรดจาก Material เป็น Material3 เพื่อใช้การออกแบบภาพใหม่ในแอป และรับประโยชน์จากคอมโพเนนต์ใหม่ๆ ดังนี้

  • MaterialTheme เพื่อดูรูปแบบสี ตัวอักษร และรูปร่างที่อัปเดตและขยายเพิ่มเติมเพื่อเพิ่มทั้งความลึกและความหลากหลายให้กับการออกแบบ
  • การกำหนดธีมสีแบบไดนามิกซึ่งจะสร้างรูปแบบสีสำหรับแอปโดยอัตโนมัติให้ตรงกับสีของหน้าปัด
  • ส่วนประกอบใหม่จะปรับให้เข้ากับหน้าจอขนาดใหญ่ขึ้นโดยอัตโนมัติโดยค่าเริ่มต้น
  • การเปลี่ยนรูปร่าง - คอมโพเนนต์ปุ่มกลม เช่น IconButton, TextButton, IconToggleButton และ TextToggleButton รองรับรูปแบบต่างๆ ที่เคลื่อนไหวเมื่อกดหรือเลือก
  • EdgeButton - ปุ่มใหม่ที่ขอบหน้าจอซึ่งมีรูปร่างพิเศษที่ออกแบบมาสำหรับด้านล่างของหน้าจอ
  • โครงร่าง - แนะนำ AppScaffold และ ScreenScaffold เพื่อวางโครงสร้างของหน้าจอและประสานงานภาพเคลื่อนไหว ScrollIndicator และ TimeText
  • ปุ่ม - รองรับปุ่มรูปทรงสนามกีฬานับไม่ถ้วนด้วยคอนเทนเนอร์แบบยืดหยุ่นแบบช่องเดียวและแบบหลายช่องสำหรับปุ่มที่มีไอคอนและป้ายกำกับ CheckboxButton และ SwitchButton จะแสดงเมื่อจำเป็นต้องใช้ปุ่มสลับ ส่วน RadioButton คือปุ่มเลือกที่ใช้ได้ (ปุ่มสลับและปุ่มเลือกแบบ "แยก" ก็มีให้ด้วย)
  • ButtonGroup - ใช้ปุ่มกลุ่มที่แสดงออกในแถวซึ่งเปลี่ยนรูปร่างเมื่อแตะ
  • AlertDialog รูปแบบต่างๆ รองรับปุ่มตกลง/ยกเลิกหรือ EdgeButton
  • ConfirmationDialog พร้อมแสดงข้อความที่มีการหมดเวลา โดยรองรับภาพเคลื่อนไหวพิเศษสำหรับรูปแบบต่างๆ ของการดำเนินการสำเร็จ ล้มเหลว และเปิดในโทรศัพท์
  • ตัวเลือก - รองรับรูปแบบ TimePicker และ DatePicker รวมถึงคอมโพเนนต์ตัวเลือกและ PickerGroup สำหรับสร้างหน้าจอตัวเลือกของคุณเอง
  • ProgressIndicators - รองรับตัวบ่งชี้ความคืบหน้าแบบวงกลมและแบบเส้น (CircularProgressIndicator มีรูปแบบที่แบ่งกลุ่มและไม่แน่นอน)
  • การ์ด - มีการ์ดหลายรูปแบบให้เลือกใช้ รวมถึง TitleCard ซึ่งมีเลย์เอาต์เฉพาะสำหรับการ์ดที่มีชื่อ เวลา คำบรรยาย หรือช่องเนื้อหา TitleCard ยังสามารถใส่ภาพพื้นหลังเพื่อเสริมความหมายของข้อมูลในการ์ดได้ด้วย
  • เครื่องมือเปลี่ยนหน้า - คอมโพเนนต์ HorizontalPagerScaffold, VerticalPagerScaffold และ AnimatedPage จะประสานงานภาพเคลื่อนไหว HorizontalPageIndicator และ VerticalPagerIndicator HorizontalPager และ VerticalPager จะเปิดตัวในไลบรารี Wear Compose Foundation
  • ตัวยึดตำแหน่ง - วาดรูปร่างโครงร่างเหนือคอมโพเนนต์ในกรณีที่ไม่มีเนื้อหาชั่วคราว
  • แถบเลื่อนและตัวควบคุมแบบขั้น - ทั้งแถบเลื่อนและตัวควบคุมแบบขั้นช่วยให้ผู้ใช้เลือกจากช่วงของค่าได้ แถบเลื่อนมีขนาดกะทัดรัดกว่าและสามารถแบ่งส่วนได้ ในขณะที่ Stepper เป็นคอมโพเนนต์แบบเต็มหน้าจอที่มักใช้ร่วมกับ StepperLevelIndicator
  • SwipeToReveal - ใช้เพื่อเพิ่มการดำเนินการเพิ่มเติมไปยัง Composable เมื่อมีการปัดจากขวาไปซ้าย

นอกจากนี้ Wear Compose Foundation 1.5.0-beta01 ยังมีคอมโพเนนต์ใหม่ดังนี้

  • TransformingLazyColumn - รายการแบบเลื่อนแนวตั้งที่โหลดแบบเลื่อนและรองรับภาพเคลื่อนไหวการปรับขนาดและการเปลี่ยนรูป
  • กลุ่มทดสอบแบบลำดับชั้น - ใช้เพื่อใส่คำอธิบายประกอบ Composable ในแอปพลิเคชัน เพื่อติดตามส่วนที่ใช้งานอยู่ของ Composition และประสานงานโฟกัส
  • Pager - คอมโพเนนต์ HorizontalPager และ VerticalPager สร้างขึ้นบนคอมโพเนนต์ Compose Foundation พร้อมการเพิ่มประสิทธิภาพเฉพาะ Wear เพื่อปรับปรุงประสิทธิภาพและปฏิบัติตามหลักเกณฑ์ของ Wear OS

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

  • อัปเดต API โฟกัสแบบลำดับชั้น - เปลี่ยนชื่อ Modifier.hierarchicalFocus เป็น Modifier.hierarchicalFocusGroup และนำพารามิเตอร์การเรียกกลับออก นำการโอเวอร์โหลดของ Modifier.hierarchicalFocusRequester ออกด้วยพารามิเตอร์ FocusRequester สร้าง CompositionLocal ใหม่ LocalScreenIsActive เพื่อให้คอมโพเนนต์สามารถแจ้งและตรวจสอบได้ว่าหน้าจอใดที่ใช้งานอยู่ (I5ff7c)
  • เลิกใช้งาน SwipeToReveal จาก Wear Compose Foundation เพื่อให้ใช้ SwipeToReveal API ใน Wear Compose Material และ Wear Compose Material3 แทน โปรดแทนที่การนำเข้า Wear Foundation SwipeToReveal ด้วยการนำเข้า Wear Compose Material/ Wear Compose Material3 เพื่อใช้ API ต่อไป (Ia147d)
  • ย้ายการอ้างอิง SwipeToReveal Material3 ของ Wear Compose ใน Foundation ไปยังแพ็กเกจ Material3 เช่น RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState นักพัฒนาแอปควรเปลี่ยนการนำเข้าคลาสและฟังก์ชันเหล่านี้จาก androidx.wear.compose.foundation เป็น androidx.wear.compose.material3 (I640e6)
  • อัปเดต Wear Compose Material3 SwipeToReveal API ดังนี้ เพิ่มพารามิเตอร์ primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryAction และ hasPartiallyRevealedState ลงใน Composable SwipeToReveal; นำความสามารถในการปรับแต่ง positionalThreshold และ animationSpec ออกจาก RevealState; นำ lastActionType, revealThreshold และความกว้างออกจาก RevealState; เปลี่ยนตัวสร้าง RevealState ให้ยอมรับ RevealDirection แทนการยึด; นำฟังก์ชัน createRevealAnchors, การยึด และ bidirectionalAnchors ออก; เปลี่ยนชื่อฟังก์ชัน SwipeToRevealScope primaryAction, secondaryAction, undoPrimaryAction และ undoSecondaryAction เป็น PrimaryActionButton, SecondaryActionButton, UndoActionButton และเปลี่ยนให้เป็นฟังก์ชัน Composable; ทำเครื่องหมาย RevealActionType เป็นภายใน (I885d0)
  • อัปเดต SwipeToReveal API เพิ่มเติมดังนี้ เปลี่ยนชื่อ onFullSwipe เป็น onSwipePrimaryAction เปลี่ยนชื่อ SwipeToRevealNonAnchoredSample เพื่อระบุการใช้พารามิเตอร์ hasPartiallyRevealedState นำ actionButtonHeight ออกเนื่องจากค่าเริ่มต้นคือความสูงเริ่มต้นของปุ่ม และสามารถตั้งค่าความสูงที่มากขึ้นได้โดยใช้ตัวแก้ไข นำ SmallActionButtonHeight ออกจาก SwipeToRevealDefaults ทำให้พารามิเตอร์ค่าในตัวสร้าง RevealValue และ RevealDirection เป็นแบบส่วนตัว (I465ce)

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

  • แก้ไขการจัดการ ScreenScaffold ของ EdgeButton เพื่อให้หลังจากนำรายการ TransformingLazyColumn ออกแล้ว EdgeButton จะเคลื่อนไหวไปยังตำแหน่งที่ถูกต้อง (I6d366)
  • อัปเดตทรัพยากร Dependency ของ Wear Compose ในไลบรารี Compose เป็นเวอร์ชัน 1.8.0 (I2ef3f)
  • อัปเดตการเคลื่อนไหวของ CircularProgressIndicator ที่ไม่แน่นอนเพื่อไม่ให้เกิดการถดถอยชั่วคราวอีกต่อไป (Ieddb1)
  • แก้ไขSwipeDismissableNavHostข้อบกพร่อง - โฟกัสไม่เปลี่ยนอย่างถูกต้องหลังจากปัดกลับ ทำให้การป้อนข้อมูลแบบหมุนล้มเหลว (สำหรับ API 36 ขึ้นไปซึ่งใช้การคาดการณ์การกลับ) (Ieddb1)
  • เอกสารประกอบที่แก้ไขแล้วสำหรับ Hierarchical Focus API (Idf2ff)
  • อัปเดตเอกสารประกอบสำหรับปุ่มและการ์ดเพื่อระบุวิธีที่ containerPainter และ disabledContainerPainter ลบล้าง containerColor และ disabledContainerColor (I4a453)
  • เปลี่ยนกลับการเปลี่ยนแปลงใน TimeText ในรุ่นก่อนหน้า ซึ่งย้าย BroadcastReceiver ไปยังเธรดของ Worker เนื่องจากทำให้เกิดปัญหาสำหรับแอปที่จัดการการสร้างเธรดของตนเองในระหว่างการนำทาง (I34d02)
  • อัปเดตตัวอย่าง Picker เพื่อนำการเรียกใช้ remember ที่ไม่จำเป็นออก และใช้ rememberUpdatedState ใน Picker แทนเพื่อจดจำฟังก์ชัน Lambda contentDescription ล่าสุด (Icb5b1)
  • อัปเดตรูปแบบข้อความใน TimePicker และ DatePicker เพื่อให้การเปลี่ยนแบบอักษรไม่ทำให้ข้อความถูกตัดอีกต่อไป (I26194)
  • ListHeader และ ListSubHeader จะจัดข้อความเป็นกึ่งกลางและจัดชิดซ้ายตามลำดับโดยค่าเริ่มต้น (I78339)
  • อัปเดตตัวอย่างและเดโมของ Foundation และ Material Swipe to Reveal เพื่อประกาศการดำเนินการเพื่อการช่วยเหลือพิเศษที่กำหนดเอง (ต้องเพิ่มการดำเนินการที่กำหนดเองเป็นความหมายในเนื้อหา ไม่ใช่ใน SwipeToReveal Composable เอง) (Ie92a3)
  • อัปเดตMaxLinesเริ่มต้นที่ตั้งค่าไว้ในEdgeButtonเนื้อหาตามขนาด โดยตอนนี้จะเป็น 1 สำหรับขนาดเล็กพิเศษ 2 สำหรับขนาดเล็กและปานกลาง และ 3 สำหรับขนาดใหญ่ (Ie35f6)
  • LocalReduceMotionเพื่อลงทะเบียนผู้สังเกตการณ์เพียงครั้งเดียวเพื่อปรับปรุงประสิทธิภาพ (Ib1979)
  • ลดจำนวนการวาดใหม่ใน ScrollIndicator เพื่อปรับปรุงประสิทธิภาพ (Ia7a67)
  • แก้ไขข้อบกพร่องใน TransformingLazyColumn ซึ่งรายการที่มองเห็นได้ด้านบนในรายการจะปรับขนาดไม่ถูกต้องเมื่อ EdgeButton มีความสูงเต็ม (I30580)

เวอร์ชัน 1.5.0-alpha14

23 เมษายน 2025

androidx.wear.compose:compose-*:1.5.0-alpha14 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha14 มีการเปลี่ยนแปลงเหล่านี้

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

  • การอ้างอิง SwipeToReveal ของ Material ทั้งหมดใน Foundation SwipeToReveal ถูกย้ายไปยังแพ็กเกจ Material เช่น RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState นักพัฒนาแอปควรเปลี่ยนการนำเข้าคลาสและฟังก์ชันเหล่านี้จาก androidx.wear.compose.foundation เป็น androidx.wear.compose.material (Ib7cb8)
  • อัปเดต API ของ HierarchicalFocusCoordinator ให้เป็นตัวปรับแต่งแทนที่จะเป็น Composable
  • หมายเหตุเกี่ยวกับการย้ายข้อมูล
    • HierarchicalFocusCoordinator(function, content) สามารถแทนที่ได้โดยการเพิ่ม Modifier.hierarchicalFocus(function()) ลงใน content หรือ Composable ที่ครอบคลุม
    • ActiveFocusListener { if (it) focusRequester.requestFocus() } สามารถแทนที่ได้โดยการเพิ่ม Modifier.hierarchicalFocusRequester(focusRequester)
    • การใช้งาน ActiveFocusListener อื่นๆ ที่พบได้ยากกว่าจะใช้พารามิเตอร์ใหม่ใน Modifier.hierarchicalFocus ได้
    • focusRequester(rememberActiveFocusRequester()) สามารถแทนที่ด้วย hierarchicalFocusRequester()
    • val focusRequester = rememberActiveFocusRequester() สามารถแทนที่ด้วย remember { FocusRequester() } และเพิ่ม Modifier.hierarchicalFocusRequester(focusRequester) (Ie319a)

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

  • เราได้เพิ่มเกณฑ์ความเร็วที่ท่าทางสัมผัสแบบปัดต้องเกินเพื่อทริกเกอร์การเปลี่ยนสถานะสำหรับคอมโพเนนต์ต่อไปนี้ SwipeToReveal, BasicSwipeToDismissBox และ SwipeDismissableNavHost (เฉพาะ API 35 และต่ำกว่าสำหรับ SwipeDismissableNavHost) (If47bf)
  • แก้ไขปัญหาภาพเคลื่อนไหวเมื่อมีการเพิ่มรายการใหม่ลงใน TransformingLazyColumn (I589b2)

เวอร์ชัน 1.5.0-alpha13

9 เมษายน 2025

androidx.wear.compose:compose-*:1.5.0-alpha13 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha13 มีการเปลี่ยนแปลงเหล่านี้

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

  • โปรเจ็กต์ที่เผยแพร่ด้วย Kotlin 2.0 ต้องใช้ KGP 2.0.0 ขึ้นไป (Idb6b5)
  • เพิ่มพร็อพเพอร์ตี้ targetPage ลงใน PagerState (I4de8b)

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

  • ป้องกันการจัดองค์ประกอบใหม่ที่ไม่จำเป็นระหว่างการย้อนกลับแบบคาดการณ์ (Iecd6d)
  • แก้ไขพร็อพเพอร์ตี้ ScrollInfoProvider ของ isScrollable เพื่อแสดงผลค่าปัจจุบัน (Icbfb8)

เวอร์ชัน 1.5.0-alpha12

26 มีนาคม 2025

androidx.wear.compose:compose-*:1.5.0-alpha12 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha12 มีการเปลี่ยนแปลงเหล่านี้

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

  • ปรับปรุงSwipeToRevealการติดตั้งใช้งานเริ่มต้นของ gestureInclusion เพื่อให้ละเว้นท่าทางสัมผัสเฉพาะในกรณีที่สถานะของคอมโพเนนต์เป็น Covered (I7e3d6)
  • สำหรับ SwipeToReveal เราได้เปลี่ยน bidirectionalGestureInclusion ให้เป็นค่าแทนที่จะเป็นฟังก์ชัน และเพิ่ม @FloatRange ลงในพารามิเตอร์ edgeZoneFraction ใน gestureInclusion (Ica7c3)

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

  • เปลี่ยน SwipeToReveal bidirectionalGestureInclusion เพื่อคืนค่าเป็นออบเจ็กต์แทนคลาส (I29597)
  • ปิดใช้การสั่นเมื่อเรียกใช้การทดสอบใน RoboElectric (I58bd1)
  • อัปเดตSwipeToRevealระยะห่างจากขอบระหว่างเนื้อหากับปุ่มการดำเนินการ รวมถึงระยะห่างจากขอบระหว่างไอคอนกับข้อความของปุ่มการดำเนินการ (Ic46cb)

เวอร์ชัน 1.5.0-alpha11

12 มีนาคม 2025

androidx.wear.compose:compose-*:1.5.0-alpha11 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha11 มีการเปลี่ยนแปลงเหล่านี้

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

  • อัปเดต PagerState โดยนำ PagerState Compose Foundation ออกเป็นคลาสฐาน และเพิ่มพร็อพเพอร์ตี้ currentPage, currentPageOffsetFraction และ pageCount อัปเดตอินเทอร์เฟซ GestureInclusion โดยเปลี่ยนชื่อเมธอดเป็น ignoreGestureStart (I4ae07)
  • เพิ่ม requireOffset ใน SwipeToDismissBoxState เป็นวิธีที่แนะนำในการรับการชดเชย SwipeToDismissBoxState (I21042)
  • เพิ่ม CurvedModifier.semantics โดยเริ่มแรกจะรองรับคำอธิบายเนื้อหาและดัชนีการข้าม (I0b093)
  • เราได้เพิ่ม CurvedModifier.clearAndSetSemantics เพื่อเป็นวิธีปิดความหมายโค้ง CurvedText ยังคงตั้งค่าเริ่มต้นให้คำอธิบายเนื้อหาเป็นข้อความ แต่ timeTextCurvedText และ timeTextSeparator จะไม่อ่านเนื้อหาของตัวเองแล้ว (I4b568)
  • เปลี่ยนชื่อการจัดการท่าทางสัมผัสการปัดเริ่มต้นของ HorizontalPager เป็น PagerDefaults.gestureInclusion แล้ว ตอนนี้ลักษณะการทำงานเริ่มต้นคือการไม่สนใจท่าทางการปัดที่เริ่มจากขอบด้านซ้ายของหน้าแรกเท่านั้น และจะเกิดขึ้นเมื่อปิด Talkback แล้วเท่านั้น ในกรณีอื่นๆ ลักษณะการทำงานเริ่มต้นคือเพจเจอร์จะไม่สนใจท่าทางการปัด ดังนั้นตัวแฮนเดิลการปัดเพื่อปิดจะไม่พร้อมใช้งาน (Iee486)
  • เพิ่มการเลื่อนเลยขอบแบบหมุนสำหรับ API ของ rotaryScrollable เพิ่มการเลื่อนเกินขอบเขตและการเลื่อนที่ซ้อนกันลงในลักษณะการปัดของ rotaryScrollable การเปลี่ยนแปลงนี้จะช่วยให้ฟังก์ชันการเลื่อนเกินขอบเขตและการเลื่อนที่ซ้อนกันระหว่างการเลื่อนด้วยการสัมผัสกับการเลื่อนแบบหมุนเป็นไปในทิศทางเดียวกัน (I71926)
  • เพิ่มการรองรับโซนการปัดจากขอบไปยัง SwipeToReveal ตอนนี้ลักษณะการทำงานเริ่มต้นของ Foundation SwipeToReveal คือการไม่อนุญาตให้ปัดเมื่อท่าทางสัมผัสเริ่มต้นจากขอบ ตอนนี้ลักษณะการทำงานเริ่มต้นของ Material3 SwipeToReveal คือการไม่อนุญาตให้ปัดเมื่อท่าทางสัมผัสเริ่มต้นจากขอบ เมื่อตั้งค่า SwipeDirection เป็นทิศทางเดียว (I32ef0)
  • ตอนนี้ TLC ใช้ contentPadding ที่ว่างเปล่าโดยค่าเริ่มต้นแทนการวางรายการแรกและรายการสุดท้ายไว้ตรงกลาง (I77ab7)

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

  • ไลบรารี Wear Compose ได้รับการอัปเดตเป็นคอมไพเลอร์ Kotlin 2.0 แล้ว (I2de79)
  • แก้ไขตัวอย่าง LetterSpacing โค้งบน Foundation (Iebf7c)

เวอร์ชัน 1.5.0-alpha10

26 กุมภาพันธ์ 2025

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

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

  • ตั้งค่า SwipeToRevealDefaults เป็นสาธารณะ (I0c34c)
  • เราได้แทนที่พารามิเตอร์ swipeToDismissEdgeZoneFraction ใน HorizontalPager เราจึงได้เปิดตัวพารามิเตอร์ใหม่ gestureInclusion ซึ่งใช้เพื่อให้ได้ลักษณะการปัดเพื่อปิดที่จำเป็น gestureInclusion รับอินสแตนซ์ของ GestureInclusion ซึ่งจะตัดสินว่าควรกำหนดให้เหตุการณ์เลื่อนถัดไปดำเนินการต่อหรือไม่ การอนุญาตท่าทางสัมผัสหมายความว่า Pager จะใช้ท่าทางสัมผัสนั้น ไม่เช่นนั้นระบบจะจัดการท่าทางสัมผัสที่อื่น เช่น โดยตัวแฮนเดิลการปัดเพื่อปิด ลักษณะการทำงานเริ่มต้นใหม่คือการไม่อนุญาตท่าทางสัมผัสที่ขอบซ้ายสุดของหน้าแรกใน Pager และด้วยเหตุนี้จึงอนุญาตให้ปัดเพื่อปิดในภูมิภาคนี้ ส่วนหน้าอื่นๆ ทั้งหมดจะอนุญาตให้ Pager ใช้ท่าทางสัมผัสทั้งหมด ซึ่งหมายความว่าจะเรียกใช้การปัดเพื่อปิดจากหน้าเหล่านั้นไม่ได้ หากต้องการให้มีการปัดเพื่อปิดในทุกหน้า เพียงระบุอินสแตนซ์ GestureInclusion ที่กำหนดเอง (ดู PagerDefaults.disableLeftEdgeOnFirstPage) ซึ่งไม่สนใจหน้าปัจจุบัน การเปลี่ยนแปลงที่ทำให้เกิดข้อขัดข้องอีกอย่างที่แนะนำในที่นี้คือคอมโพเนนต์ Pager จะไม่แสดงแบบเต็มหน้าจอโดยค่าเริ่มต้นอีกต่อไป แต่ให้เพิ่ม Modifier.fillMaxSize() เพื่อให้ได้ลักษณะการทำงานนี้แทน (I9d3aa)
  • เราได้เปลี่ยนชื่อ createAnchors เป็น createRevealAnchors ใน API การปัดเพื่อแสดง(If5999)
  • เราได้นำ RevealScope ออกจาก API การปัดเพื่อเปิดเผย (Ie4ad5)
  • เราได้นำ Revealing และ Revealed ออกจาก RevealValue ใน API การปัดเพื่อเปิดเผย (I8dbc5)
  • เราได้เปลี่ยนชื่อ SwipeDirection เป็น RevealDirection ใน API การปัดเพื่อแสดง (I7472f)
  • เราได้เปลี่ยนลายเซ็นของพารามิเตอร์ positionalThreshold ของฟังก์ชัน rememberRevealState ของ SwipeToReveal (I29c0a)
  • เราได้เพิ่มพารามิเตอร์ overscrollEffect ใหม่ลงใน ScalingLazyColumn, TransformingLazyColumn และ ScreenScaffold (I0cee8)
  • เมื่อใช้ PagerDefaults#snapFlingBehaviour ระบบจะแทนที่พารามิเตอร์ pagerSnapDistance ด้วยพารามิเตอร์ Int maxFlingPages ซึ่งใช้เพื่อระบุจำนวนหน้าสูงสุดที่ Pager ควรปัดได้ (I8cfc0)
  • ตอนนี้ Wear Pager มี PagerScope ของตัวเองแล้วแทนที่จะใช้ PagerScope ของ Compose Foundation (I9195b)
  • เราได้เพิ่มการรองรับ lineHeight ในข้อความโค้ง (I1c936)
  • เราได้เพิ่ม initialAnchorItemIndex และ initialAnchorItemOffset ลงใน TransformingLazyColumnState และ rememberTransformingLazyColumnState เพื่อให้ระบุตำแหน่งการเลื่อนเริ่มต้นใน TransformationLazyColumn ได้ (I0a0d5)
  • เลิกใช้งาน runWithTimingDisabled เพื่อใช้ runWithMeasurementDisabled แทน ซึ่งอธิบายลักษณะการทำงานได้ชัดเจนกว่า นั่นคือระบบจะหยุดเมตริกทั้งหมดชั่วคราว นอกจากนี้ ให้แสดงคลาสซูเปอร์คลาส MicrobenchmarkScope เนื่องจากไม่สามารถประกาศฟังก์ชัน runWithMeasurementDisabled ซ้ำเพื่อเปิดการเข้าถึงได้เนื่องจากเป็นฟังก์ชันอินไลน์ (I9e23b, b/389149423, b/149979716)
  • เราได้เพิ่ม TransformingLazyColumnItemScrollProgress.Unspecified ลงใน API เพื่อหลีกเลี่ยงการต่อยมวยใน TransformingLazyColumnItemScrollProgress (I0835d)

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

  • ปรับปรุง Kdoc สำหรับ CurvedTextStyle (Id45e3)
  • เราได้เปลี่ยน SwipeableV2 (ส่วนหนึ่งของการติดตั้งใช้งาน SwipeToReveal) ให้เป็นแบบภายในแทนที่จะเป็นแบบสาธารณะ แต่จำกัดไว้สำหรับกลุ่มห้องสมุด (Idbb94)
  • เราได้เพิ่มการทดสอบใน HierarchicalFocusCoordinator (I1ce54, b/395548918)
  • เราได้ปรับปรุง SwipeToReveal ในตัวอย่างพื้นฐานของ Wear Compose (I5f307)
  • แก้ไขข้อมูลเชิงความหมายของแกนเลื่อนสำหรับ verticalScrollAxisRange ใน TransformingLazyColumn เพื่อการช่วยเหลือพิเศษ (I68123)
  • ปรับปรุงประสิทธิภาพของแฮปติกแบบหมุนใน Wear4+ โดยการนำเธรดพื้นหลังที่ไม่จำเป็นออก (I39cfe)
  • เปลี่ยน SwipeDismissableNavHost ให้ใช้ PredictiveBackNavHost เฉพาะใน API 36 ขึ้นไป (I59bed)
  • เราได้เพิ่มการป้องกันไม่ให้เกิดข้อขัดข้องเมื่อเข้าถึงการตั้งค่าลดภาพเคลื่อนไหว (I01e2c)
  • เราได้ใช้การดึงข้อมูลล่วงหน้าสำหรับ TransformingLazyColumn เพื่อลดความกระตุก (Icca88)

เวอร์ชัน 1.5.0-alpha09

29 มกราคม 2025

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

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

  • ใน CurvedTextStyle เราได้แยกระยะห่างระหว่างตัวอักษรออกเป็นระยะห่างระหว่างตัวอักษรตามเข็มนาฬิกาและระยะห่างระหว่างตัวอักษรทวนเข็มนาฬิกา ค่านี้เป็นข้อกำหนดเนื่องจากตัวอักษรที่หมุนตามเข็มนาฬิกาจะกางออกจากเส้นฐาน ในขณะที่ตัวอักษรที่หมุนทวนเข็มนาฬิกาจะกางเข้า (จึงต้องมีระยะห่างตัวอักษรที่มากขึ้น) (I4b848)
  • เราได้ปรับCompositionLocal LocalReduceMotion ให้แสดงผลบูลีนแทนออบเจ็กต์ ReduceMotion ตอนนี้เราเลิกใช้งานอินเทอร์เฟซ ReduceMotion แล้ว การเรียกใช้ก่อนหน้านี้ เช่น LocalReduceMotion.current.enabled() สามารถแทนที่ด้วย LocalReduceMotion.current (I4937f)
  • ใน PagerDefaults เราได้เปลี่ยนชื่อ snapAnimationSpec เป็น SnapAnimationSpec แล้ว (I20c9a)

เวอร์ชัน 1.5.0-alpha08

15 มกราคม 2025

androidx.wear.compose:compose-*:1.5.0-alpha08 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha08 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้อัปเดตไลบรารี Wear Compose ทั้งหมดเป็นโหมด "API ที่ชัดเจน" แล้ว (Iebf9f)
  • เราได้ทำให้พารามิเตอร์ภาพเคลื่อนไหวการสแนปของเพจเจอร์เป็นส่วนหนึ่งของ PagerDefaults (Ifff64)
  • เราได้เพิ่มพารามิเตอร์ออฟเซ็ตเป็น SwipeToDismissBoxState (I586bd)

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

  • ตอนนี้ระบบจะเรียกใช้การตอบสนองแบบสัมผัสของแพลตฟอร์มแบบหมุนสำหรับ Wear OS เวอร์ชันหลัง V (Idb03e)

เวอร์ชัน 1.5.0-alpha07

11 ธันวาคม 2024

androidx.wear.compose:compose-*:1.5.0-alpha07 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha07 มีการเปลี่ยนแปลงเหล่านี้

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

  • TransformingLazyColumnState ตอนนี้มีวิธีสังเกตความคืบหน้าในการเลื่อนปัจจุบันตามดัชนีรายการยึด (I72b01)
  • เราได้เพิ่มภาพเคลื่อนไหวลงใน TransformingLazyColumn เมื่อเพิ่ม นำออก และย้ายรายการ หากรายการนั้นมี Modifier.animateItem ใหม่ (Iecb9c)
  • ตอนนี้ TransformingLazyColumn แสดงค่าสำหรับ beforeContentPadding และ afterContentPadding แล้ว (Iccd5f)
  • TransformingLazyColumn มีองค์ประกอบ LocalTransformingLazyColumnItemScope ในเครื่องแล้ว ซึ่งคอมโพเนนต์ (เช่น Card และ Button ใน Material3) สามารถใช้เพื่อเปลี่ยนรูปร่างโดยอัตโนมัติเมื่อวางไว้ภายใน TransformingLazyColumn ผู้โทรสามารถปิดใช้การมอร์ฟอัตโนมัติได้โดยใช้ Wrapper TransformExclusion ใหม่ (I1652f)

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

  • เราได้อัปเดตความเร็วในการปัดขั้นต่ำและสูงสุดสำหรับการหมุนในอุปกรณ์ที่กำหนดเป้าหมายเป็น U ขึ้นไป (I33559)
  • เราได้แก้ไขข้อขัดข้องที่เกิดขึ้นหากรายการใน TransformingLazyColumn ไม่มี Composable (Idb99d)
  • เราได้เพิ่มการรองรับ ScrollFeedbackProvider สำหรับการตอบสนองแบบสัมผัสแบบหมุนใน Android Vanilla ice cream (Ibc553)
  • เราได้เพิ่มค่าความคลาดเคลื่อนในการสัมผัสเมื่อใช้ SwipeToReveal เพื่อลดโอกาสที่จะเกิดการปัดโดยไม่ตั้งใจเมื่อเลื่อนในแนวตั้ง (Ic0672)
  • เราได้อัปเดต SwipeDismissableNavHost ให้ใช้ PredictiveBackHandler เมื่อพร้อมใช้งานกับ API 35 ขึ้นไป ในกรณีดังกล่าว ระบบจะใช้ภาพเคลื่อนไหวใหม่ (I08c11)

เวอร์ชัน 1.5.0-alpha06

13 พฤศจิกายน 2024

androidx.wear.compose:compose-*:1.5.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้ลดความซับซ้อนของ ScrollInfoProvider สำหรับ PagerState โดยนำพารามิเตอร์ orientation ออก เนื่องจากไม่จำเป็นอีกต่อไป ลักษณะการทำงานใหม่นี้มีไว้เพื่อให้ TimeText อยู่กับที่ทั้งการแบ่งหน้าในแนวนอนและแนวตั้ง (I71767)
  • TransformingLazyColumn เปิดตัวในรุ่นก่อนๆ ตอนนี้เรากำลังนำLazyColumnชื่อแทนของ Wear (ซึ่งเคยเปลี่ยนเส้นทางไปยัง TransformingLazyColumn) ออกเพื่อใช้ชื่อใหม่ TransformingLazyColumn นอกจากนี้ เรายังได้นำพร็อพเพอร์ตี้ height ของ TransformingLazyColumnVisibleItemInfo ออกแล้ว โปรดใช้ measuredHeight แทน (I0ea1e)
  • เราได้เปลี่ยนPagerDefaults.snapFlingBehavior snapAnimationSpec จากTweenเป็นSpring (I10d02, b/349781047, b/303807950)
  • เราได้เลื่อนเวอร์ชัน LocalReduceMotion CompositionLocal เป็นเวอร์ชันเสถียร (Ia6f32)

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

  • เราได้อัปเดต Modifier.rotaryScrollable ให้ใช้ focusTargetWithSemantics เพื่อรองรับความหมายที่ดีขึ้นในโรตารี (Ief0a0)
  • เราได้อัปเดตทรัพยากร Dependency ของ API ขั้นต่ำเป็น 1.7.4 สำหรับไลบรารี Compose (I88b46)
  • เราได้ปิดใช้การเปลี่ยนรูปร่างความกว้างใน TransformingLazyColumn เพื่อเป็นวิธีแก้ปัญหาเฉพาะหน้าสำหรับข้อบกพร่องในการตัด (I3dfb8)
  • เราได้แก้ไขข้อบกพร่องที่ทำให้รายการหายไปหลังจากเลื่อนเกินด้วย TransformingLazyColumn (Id7668) แล้ว
  • เราได้เพิ่ม LazyLayoutSemantics สำหรับ TransformingLazyColumn แล้ว (Ia8f56)

เวอร์ชัน 1.5.0-alpha05

30 ตุลาคม 2024

androidx.wear.compose:compose-*:1.5.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เพิ่มการรองรับ animateScrollTo ใน TransformingLazyColumnState เพื่อให้การเลื่อนไปยังรายการสามารถเคลื่อนไหวได้ (I4097d)
  • เราได้เพิ่ม requestScrollTo ใน TransformingLazyColumnState เพื่อเลื่อนการเลื่อนไปยังการวัดครั้งถัดไป (I20a5e)
  • เราได้เพิ่มการรองรับ contentPadding ใน TransformingLazyColumn (I3a69c)

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

  • เราได้แก้ไขข้อบกพร่องในการแสดงผล TransformingLazyColumn เมื่อความสูงของเนื้อหาสั้นกว่าความสูงของหน้าจอแล้ว (I6c3e1)
  • ตอนนี้ ScrollInfoProvder สำหรับ TransformingLazyColumn จะติดตามรายการแรกได้อย่างถูกต้องแล้ว (I1e4a3)
  • TransformingLazyColumnState จะบันทึกสถานะ (anchorItemIndex และ anchorItemScrollOffset) (I3d265)

เวอร์ชัน 1.5.0-alpha04

16 ตุลาคม 2024

androidx.wear.compose:compose-*:1.5.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha04 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เปลี่ยนชื่อ Wear Compose Foundation LazyColumn เป็น TransformingLazyColumn เพื่อให้เห็นความแตกต่างระหว่างไลบรารีนี้กับ Compose Foundation LazyColumn ได้ชัดเจนยิ่งขึ้น (I0608b)
  • เพิ่มการรองรับการหมุนสำหรับเพจเจอร์แนวนอน/แนวตั้ง ซึ่งช่วยให้ผู้ใช้ไปยังส่วนต่างๆ ของเพจเจอร์ได้โดยใช้อุปกรณ์ป้อนข้อมูลแบบหมุน (I9770d)
  • เราได้อัปเดต PagerDefaults ใหม่เพื่อให้ทราบว่าเครื่องมือเปลี่ยนหน้าจะเลื่อนไปที่หน้าโดยค่าเริ่มต้น (Iff7d0)
  • TransformingLazyColumnItemScrollProgress ตอนนี้เป็นคลาสค่าแล้ว ซึ่งจะช่วยปรับปรุงประสิทธิภาพ (Ic399e)
  • ตอนนี้ TransformingLazyColumn รองรับการหมุนตั้งแต่แกะกล่องแล้ว (I05206)
  • ขณะนี้ TransformingLazyColumnState รองรับ scrollToItem แล้ว (I507b3)
  • นำ @ExperimentalWearFoundationApi ออกจาก SwipeToReveal API (I34a66)

เวอร์ชัน 1.5.0-alpha03

2 ตุลาคม 2024

androidx.wear.compose:compose-*:1.5.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha03 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เพิ่มการรองรับการปัดแบบ 2 ทิศทางใน SwipeToReveal สำหรับกรณีที่หาได้ยากซึ่งหน้าจอปัจจุบันไม่รองรับการปัดเพื่อปิด . ค่าเริ่มต้นยังคงเป็นการปัดเพื่อเปิดเผยเฉพาะการปัดจากขวาไปซ้าย และขอแนะนำอย่างยิ่งให้ใช้ลักษณะการทำงานเริ่มต้นเพื่อหลีกเลี่ยงการขัดแย้งกับการปัดเพื่อปิด (Ifac04)
  • เราได้อัปเดต LazyColumnState เพื่อลบล้าง canScrollForward และ canScrollBackward ซึ่งตอนนี้จะหยุดการเลื่อนเมื่อรายการแรกหรือรายการสุดท้ายอยู่ตรงกลางหน้าจอพอดี (Ia77d7)
  • เราได้เพิ่มคอมโพเนนต์ HorizontalPager และ VerticalPager ใหม่ซึ่งช่วยแก้ปัญหาที่พบบ่อย เช่น การจัดการโฟกัสและการโต้ตอบกับการปัดของระบบเพื่อปิด ซึ่งอาจเกิดขึ้นใน Wear (I2902b)
  • เราได้เพิ่มการรองรับ LazyColumn เพื่อแสดง key และ contentType ของไคลเอ็นต์ผ่าน layoutItems (I1bd9c)

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

  • เราได้อัปเดตภาพเคลื่อนไหวของข้อความโค้งให้ราบรื่นขึ้นโดยใช้ Paint Flags (I73a15)
  • เราได้อัปเดตเอกสารประกอบของ Material Dialog เพื่อให้แสดงว่า onDismissRequest จะไม่เรียกใช้หลังจากตั้งค่าสถานะแสดงเป็น false (Ifd8d6)
  • เราได้แก้ไขข้อบกพร่องเกี่ยวกับภาพเคลื่อนไหวขอบมืดในกล่องโต้ตอบ Material (I126bf) แล้ว

เวอร์ชัน 1.5.0-alpha02

18 กันยายน 2024

androidx.wear.compose:compose-*:1.5.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เพิ่มการรองรับ Wear Compose LazyColumn ด้วย ScreenScaffold (และเพิ่มการใช้งาน ScrollInfoProvider สำหรับ LazyColumnState) (Ib8d29)
  • เราได้เพิ่ม viewportSize ลงใน LazyColumnLayoutInfo แล้ว (I4187f)

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

  • เราได้แก้ไขข้อบกพร่องเพื่อให้ตอนนี้การเลื่อนแบบหมุนจะปิดใช้ใน ScalingLazyColumn เมื่อตั้งค่า Flag userScrollEnabled เป็น false (I490ab, b/360295825)
  • เราได้แก้ไขข้อบกพร่องเพื่อจัดการกับระยะห่างแนวตั้งที่ไม่คาดคิดในข้อความโค้ง ตอนนี้ความสูงของข้อความโค้งจะตรงกับพื้นที่จริงที่ข้อความใช้มากขึ้น โปรดทราบว่าการดำเนินการนี้อาจทำให้การทดสอบภาพหน้าจอที่เกี่ยวข้องกับข้อความโค้ง (Iaa6ef) ไม่สำเร็จ
  • เราได้ย้อนกลับการแก้ไขข้อบกพร่องใน Dialog ซึ่งมีการเรียกใช้การเรียกกลับ onDismissRequest เมื่อตั้งค่า showDialog เป็น false เนื่องจากในบางกรณี การดำเนินการนี้ส่งผลให้มีการเรียกใช้ onDismissRequest หลายครั้ง (I64656)

เวอร์ชัน 1.5.0-alpha01

4 กันยายน 2024

androidx.wear.compose:compose-*:1.5.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เพิ่ม LazyColumn ใหม่ลงในไลบรารี Wear Compose Foundation พร้อมด้วย API LazyColumnState และ LazyColumnScope ที่เกี่ยวข้อง ซึ่งเป็นรากฐานในการสร้างเอฟเฟ็กต์การปรับขนาดและการเปลี่ยนรูปร่างที่ปรับแต่งได้ด้วย Wear Compose (Ib3b22)
  • เราได้เพิ่มitemsIndexedเวอร์ชันที่จัดทำดัชนีลงใน LazyColumnScope ซึ่งเป็นส่วนหนึ่งของ LazyColumn API ใหม่ (Ib4a57)
  • เราได้เพิ่มLazyColumnตัวแก้ไขเพื่อรองรับลักษณะการทำงานของการปรับขนาดและการเปลี่ยนรูป (Ie229a)
  • HierarchicalFocusCoordinator ได้รับการโปรโมตเป็นเวอร์ชันเสถียรแล้ว (I31035)
  • เราได้เพิ่มการรองรับระยะห่างของตัวอักษรให้กับข้อความโค้ง (I3c740)
  • เพิ่มพารามิเตอร์ rotationLocked ลงใน CurvedLayout.curvedComposable เพื่อหยุดการหมุนคอมโพเนนต์ (I66898)
  • เราได้นำ LocalUseFallbackRippleImplementation API ชั่วคราวออกจาก wear material และ wear material3 แล้ว (I62282)
  • นำ WearDevices.SQUARE ออกจากฟีเจอร์หลายมุมมองของ @WearPreviewDevices (I11c02)

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

  • SwipeToReveal จะวางตำแหน่งรายการที่แสดงในส่วนที่มองเห็นได้ของหน้าจอ ซึ่งจะช่วยเมื่อใช้ SwipeToReveal ภายในรายการ เพื่อให้รายการโต้ตอบได้เสมอและไม่เคยอยู่นอกหน้าจอ (I38929)
  • ตอนนี้ SwipeToReveal จะรีเซ็ต lastActionType เป็น "ไม่มี" เมื่อ animatedTo เสร็จสมบูรณ์ (I59b03)
  • ปรับปรุงเอกสารประกอบสำหรับพารามิเตอร์ rotationLocked ใหม่ใน curvedComposable (Ifbd57)
  • แก้ไขข้อขัดข้องเมื่อส่ง NaN ไปยัง ScalingLazyColumnSnapFlingBehavior ของ performFling (Ic13da)
  • แก้ไขข้อบกพร่องเกี่ยวกับตัวแก้ไขขนาดเลย์เอาต์โค้ง (I0fedf)
  • เราได้เพิ่มการรองรับระยะห่างระหว่างตัวอักษรที่ระบุในหน่วย "sp" (I9f6e3)
  • เราได้แก้ไขข้อบกพร่องในกล่องโต้ตอบ Material2 ที่ไม่ได้เรียกใช้onDismissRequestเมื่อกล่องโต้ตอบมองไม่เห็น (I64656)
  • เปลี่ยนชื่อ LayoutCoordinates.introducesFrameOfReference เป็น LayoutCoordinates.introducesMotionFrameOfReference เพื่อให้สะท้อนวัตถุประสงค์ได้ดียิ่งขึ้น เปลี่ยนชื่อฟังก์ชันที่เกี่ยวข้องเพื่อคำนวณพิกัดตามธงนั้น (I3a330)

เวอร์ชัน 1.4

เวอร์ชัน 1.4.1

12 กุมภาพันธ์ 2025

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

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

  • เราได้ป้องกันไม่ให้เกิดข้อขัดข้องเมื่อเข้าถึงการตั้งค่าลดการเคลื่อนไหวส่วนกลาง ซึ่งเกิดขึ้นในบางแพลตฟอร์มที่ไม่มีการตั้งค่าดังกล่าว (I01e2c)

เวอร์ชัน 1.4.0

4 กันยายน 2024

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

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

  • ScalingLazyColumn และ Picker รองรับอินพุตแบบหมุนโดยค่าเริ่มต้นแล้ว ขอแนะนำให้นำการจัดการแบบหมุนที่ชัดเจนออกและใช้ลักษณะการทำงานเริ่มต้นของระบบ หากจำเป็น ให้ใช้พารามิเตอร์ rotaryScrollableBehavior เพื่อกำหนดค่าลักษณะการทำงานแบบเลื่อนหรือแบบสแนป สำหรับลักษณะการทำงานแบบสแนป ขอแนะนำให้ระบุลักษณะการทำงานแบบสแนปและความสามารถในการเลื่อนด้วยการสัมผัสโดยใช้พารามิเตอร์ flingBehavior
  • Modifier.rotaryScrollable เป็นตัวแก้ไขใหม่ที่เชื่อมต่อเหตุการณ์การหมุนกับคอนเทนเนอร์ที่เลื่อนได้ ซึ่งช่วยให้ผู้ใช้เลื่อนได้โดยใช้เม็ดมะยมหรือขอบหน้าปัดหมุนบนอุปกรณ์ Wear OS
  • SwipeDismissableNavHost ตอนนี้มีภาพเคลื่อนไหวตอนเข้าสำหรับการเปลี่ยนภาพในแอปแล้ว
  • PositionIndicator จะแสดงโดยค่าเริ่มต้นเมื่อหน้าจอแสดงเป็นครั้งแรก

การเปลี่ยนแปลงเพิ่มเติม

เวอร์ชัน 1.4.0-rc01

21 สิงหาคม 2024

androidx.wear.compose:compose-*:1.4.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-rc01 มีการเปลี่ยนแปลงเหล่านี้

  • เราได้อัปเดตการอ้างอิง Compose เป็น 1.7.0-rc01 และปักหมุดการนำทาง Wear Compose เป็น androidx.lifecycle 2.8.3

เวอร์ชัน 1.4.0-beta03

12 มิถุนายน 2024

androidx.wear.compose:compose-*:1.4.0-beta03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-beta03 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้อัปเดต Modifier.rotaryScrollable เพื่อแทนที่การใช้ "focusable" ด้วย "focusTarget" ซึ่งจะช่วยปรับปรุงประสิทธิภาพ (Id294b)
  • เราได้แก้ไขปัญหาที่ ProgressIndicator ประกาศซ้ำในส่วน TalkBack แล้ว (I94563)
  • เราได้อัปเดตโปรไฟล์พื้นฐานของไลบรารี Wear Compose (I3cbc3)

เวอร์ชัน 1.4.0-beta02

29 พฤษภาคม 2024

androidx.wear.compose:compose-*:1.4.0-beta02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-beta02 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เพิ่มความกว้างของขอบเขตที่ส่งไปยังโปรแกรมอ่านหน้าจอจากข้อความโค้งเพื่อแก้ไขปัญหาเกี่ยวกับการตัดข้อความ (Id865f)
  • เราได้จำกัดขอบเขตของ HorizontalPageIndicator ที่ส่งไปยังโปรแกรมอ่านหน้าจอแล้ว ก่อนหน้านี้ตัวบ่งชี้จะครอบครองทั้งหน้าจอ (Id8d7a)

เวอร์ชัน 1.4.0-beta01

14 พฤษภาคม 2024

androidx.wear.compose:compose-*:1.4.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-beta01 มีการเปลี่ยนแปลงเหล่านี้

การเปิดตัว Compose สำหรับ Wear OS เวอร์ชัน 1.4-beta01 แสดงให้เห็นว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อกแล้ว (ยกเว้นที่ทำเครื่องหมายว่าอยู่ในขั้นทดลอง) Wear Compose 1.4 มีฟังก์ชันใหม่ต่อไปนี้

  • เราได้เพิ่ม Modifier.rotaryScrollable ซึ่งเป็นตัวแก้ไขใหม่ที่เชื่อมต่อเหตุการณ์การหมุนกับคอนเทนเนอร์ที่เลื่อนได้ เพื่อให้ผู้ใช้เลื่อนผ่านเม็ดมะยมหรือขอบหน้าปัดหมุนบนอุปกรณ์ Wear OS ได้ นอกจากนี้ ScalingLazyColumn และ Picker ยังรองรับการป้อนข้อมูลแบบหมุนโดยค่าเริ่มต้นด้วย ใช้พารามิเตอร์ rotaryScrollableBehavior เพื่อกำหนดค่าลักษณะการทำงานของการเลื่อนหรือการสแนป สำหรับลักษณะการทำงานของการสแนป ขอแนะนำให้ระบุการสแนปผ่านพารามิเตอร์ flingBehavior สำหรับการเลื่อนด้วยการสัมผัสด้วย
  • SwipeDismissableNavHost ตอนนี้มีภาพเคลื่อนไหวตอนเข้าสำหรับการเปลี่ยนภาพในแอปแล้ว
  • PositionIndicator จะแสดงโดยค่าเริ่มต้นเมื่อหน้าจอแสดงเป็นครั้งแรก
  • SelectableChip และ SplitSelectableChip ได้รับการเพิ่มเป็นรูปแบบของ ToggleChip ใช้ร่วมกับ RadioButton เพื่อให้ความหมายที่เลือกได้แทนความหมายที่สลับได้เพื่อการช่วยเหลือพิเศษ
  • ListHeader ตอนนี้รองรับการปรับความสูงเมื่อเนื้อหาต้องการความสูงเพิ่มเติมเพื่อรองรับขนาดแบบอักษรขนาดใหญ่

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

  • เราได้แก้ไขข้อบกพร่องที่ชิปที่เลือกได้จะประกาศการแตะสองครั้งเพื่อสลับเมื่อเลือกอยู่แล้ว (I7ed88)

เวอร์ชัน 1.4.0-alpha08

1 พฤษภาคม 2024

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

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

  • เราได้ทำการเปลี่ยนแปลงต่อไปนี้กับ Rotary API ใหม่ โดยเปลี่ยนชื่อ Modifier.rotary เป็น Modifier.rotaryScrollable เปลี่ยนชื่ออินเทอร์เฟซ RotaryBehavior เป็น RotaryScrollableBehavior และฟังก์ชัน handleScrollEvent เป็น performScroll เปลี่ยนชื่อ RotaryScrollableAdapter เป็น RotaryScrollableLayoutInfoProvider และนำพร็อพเพอร์ตี้ scrollableState ออก (I0c8a6)
  • เราได้ทำการเปลี่ยนแปลงเพิ่มเติมใน Rotary API โดยเปลี่ยนชื่อ RotaryScrollableLayoutInfoProvider เป็น RotarySnapLayoutInfoProvider (เนื่องจากต้องใช้ผู้ให้บริการนี้เฉพาะสำหรับการหมุนที่มีการสแนป) และเปลี่ยนประเภทของพารามิเตอร์ snapOffset ใน RotaryScrollableDefaults.snapBehavior snapOffset จาก Int เป็น Dp (Iddebe)
  • เราได้เปลี่ยนชื่อพารามิเตอร์ clickInteractionSource ใน SplitSelectableChip เป็น containerInteractionSource แล้ว (Ia8f84)
  • เราได้อัปเดตชื่อพารามิเตอร์การเรียกกลับการคลิกสำหรับ SplitSelectableChip จาก onClick เป็น onSelectionClick และจาก onBodyClick เป็น onContainerClick (I32237)

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

  • เราได้ปรับปรุงระยะขอบแนวนอนสำหรับ PositionIndicator เป็น 2dp (เดิมคือ 5dp) เพื่อแก้ไขข้อบกพร่องที่ PositionIndicator (แถบเลื่อน) ทับซ้อนกับเนื้อหาที่เลื่อนได้ โปรดทราบว่าการเปลี่ยนแปลงนี้คาดว่าจะทำให้ภาพหน้าจอที่มีอยู่ซึ่งมี PositionIndicator ใช้งานไม่ได้เนื่องจากการเปลี่ยนแปลงระยะขอบ (I57472)
  • เราได้ปรับปรุงเอกสารประกอบสำหรับ Rotary API ใหม่โดยอธิบายความแตกต่างระหว่างอุปกรณ์หมุนความละเอียดต่ำกับความละเอียดสูง (I63abe)
  • เราได้แก้ไขข้อยกเว้นที่อยู่นอกช่วงใน SwipeDismissableNavHost ซึ่งอาจเกิดขึ้นเมื่อค่าอัลฟ่าที่ประมาณค่าน้อยกว่า 0 (Ib75a1, b/335782510)

เวอร์ชัน 1.4.0-alpha07

17 เมษายน 2024

androidx.wear.compose:compose-*:1.4.0-alpha07 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha07 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เพิ่ม Modifier.rotary ซึ่งเป็นตัวแก้ไขใหม่ที่เชื่อมต่อเหตุการณ์การหมุนกับคอนเทนเนอร์ที่เลื่อนได้ เพื่อให้ผู้ใช้เลื่อนผ่านเม็ดมะยมหรือขอบหน้าปัดหมุนบนอุปกรณ์ Wear OS ได้ นอกจากนี้ ScalingLazyColumn และ Picker ยังรองรับอินพุตแบบหมุนโดยค่าเริ่มต้น พร้อมการโอเวอร์โหลดใหม่ที่มีพารามิเตอร์ rotaryBehavior สำหรับระบุการกำหนดค่าของการเลื่อนหรือการสแนป หากตั้งค่าพารามิเตอร์ rotaryBehavior เป็น snap เราขอแนะนำให้ระบุ snap ผ่านพารามิเตอร์ flingBehavior ด้วยสำหรับการเลื่อนด้วยการแตะ (I2ef6f)
  • NestedScrollแหล่งที่มา Drag และ Fling จะถูกแทนที่ด้วย UserInput และ SideEffect เพื่อรองรับคำจำกัดความที่ขยายออกไปของแหล่งที่มาเหล่านี้ ซึ่งตอนนี้รวมถึงภาพเคลื่อนไหว (Side Effect) และล้อเมาส์และแป้นพิมพ์ (UserInput) (I40579)
  • เราได้เพิ่ม SelectableChip และ SplitSelectableChip เพื่อให้เห็นความแตกต่างระหว่างตัวควบคุมการเปิด/ปิด เช่น Switch/Checkbox กับตัวควบคุมที่เลือกได้ เช่น RadioButton ชัดเจนยิ่งขึ้น ซึ่งจะแทนที่โอเวอร์โหลดของ ToggleChip/SplitToggleChip ที่เพิ่มไว้ก่อนหน้านี้ด้วยพารามิเตอร์ selectionControl (Ia0217)
  • อัปเดตตัวปรับระดับการแชร์ของ IndeterminateStrokeWidth ใน ProgressIndicatorDefaults เป็นสาธารณะแล้ว (I5b5a4)

เวอร์ชัน 1.4.0-alpha06

3 เมษายน 2024

androidx.wear.compose:compose-*:1.4.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เพิ่มฉบับร่างภายในของการรองรับการหมุน ซึ่งเป็นส่วนหนึ่งของความพยายามที่ยิ่งใหญ่กว่าในการย้ายลักษณะการทำงานของการหมุนจาก Horologist ไปยัง AndroidX (I617d1)
  • เราได้เพิ่มฉบับร่างภายในของการรองรับการตอบสนองแบบสัมผัส ซึ่งเป็นส่วนหนึ่งของความพยายามที่ยิ่งใหญ่กว่าในการย้ายลักษณะการทำงานของ Rotary ไปยัง AndroidX จาก Horologist (I5568a)

เวอร์ชัน 1.4.0-alpha05

20 มีนาคม 2024

androidx.wear.compose:compose-*:1.4.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้

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

  • เราได้เปิดให้initialCenterItemIndexและinitialCenterItemScrollOffsetของ ScalingLazyListState เป็นแบบสาธารณะแล้ว (I0c616)
  • เราได้เผยแพร่FullScreenStrokeWidthจาก ProgressIndicatorDefaults ต่อสาธารณะแล้ว (Ibea23)

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

  • เราได้ปรับปรุงประสิทธิภาพของ PositionIndicator โดยลดจำนวนการเรียกไปยัง layoutInfo จาก ScalingLazyColumn (Idc83d)

เวอร์ชัน 1.4.0-alpha04

6 มีนาคม 2024

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

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

  • เราได้เพิ่มการโอเวอร์โหลดใหม่สำหรับ ToggleChip และ SplitToggleChip ซึ่งใช้พารามิเตอร์ selectionControl แทนพารามิเตอร์ toggleControl ควรใช้กับตัวควบคุม RadioButton เพื่อให้ความหมายที่เลือกได้แทนความหมายที่สลับได้เพื่อการช่วยเหลือพิเศษ (I1d6d9)
  • เราได้อัปเดตชื่อพารามิเตอร์สำหรับselectionControlโอเวอร์โหลดใหม่จาก onSelected เป็น onSelect สำหรับ ToggleChip และ SplitToggleChip (I1a971)

เวอร์ชัน 1.4.0-alpha03

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

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

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

  • เราเลิกใช้งาน Wrapper Modifier.inspectable แล้ว API นี้จะสร้างการลบล้างตัวแก้ไขมากกว่าที่จำเป็น จึงไม่แนะนำให้ใช้ เราขอแนะนำให้นักพัฒนาแอปใช้เมธอด inspectableProperties() ใน ModifierNodeElement หากต้องการแสดงพร็อพเพอร์ตี้ตัวแก้ไขต่อเครื่องมือ (Ib3236)

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

  • เราได้แก้ไขข้อบกพร่องในเอกสารประกอบสำหรับWearPreview*คำอธิบายประกอบแล้ว (Id526d)

เวอร์ชัน 1.4.0-alpha02

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

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

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

  • เราได้แก้ไขข้อบกพร่องในการปัดเพื่อแสดง ซึ่งทำให้สามารถโต้ตอบ (และยกเลิก) การดำเนินการที่ทำกับรายการหนึ่งได้โดยเริ่มปัดรายการอื่น (Ide059)
  • เราได้อัปเดต ListHeader เพื่อรองรับการปรับความสูงเมื่อเนื้อหาต้องการความสูงเพิ่มเติมเพื่อรองรับขนาดแบบอักษรขนาดใหญ่ (I7290c, b/251166127)

เวอร์ชัน 1.4.0-alpha01

24 มกราคม 2024

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

ฟีเจอร์ใหม่

  • เราได้เพิ่มภาพเคลื่อนไหวตอนเข้าใน SwipeDismissableNavHost สำหรับการเปลี่ยนภายในแอปแล้ว (cfeb79a)
  • PositionIndicator จะแสดงโดยค่าเริ่มต้นเมื่อหน้าจอแสดงเป็นครั้งแรก การเปลี่ยนแปลงนี้มีขึ้นเพื่อช่วยให้เป็นไปตามหลักเกณฑ์ด้านคุณภาพของ Wear ซึ่งหมายความว่าคุณจะต้องอัปเดตการทดสอบภาพหน้าจอบนหน้าจอที่มี PositionIndicator เนื่องจากก่อนหน้านี้ PositionIndicator จะไม่แสดง (419cef7)

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

  • เราได้เพิ่ม API การกระเพื่อมใหม่ในไลบรารี wear:compose-material และ wear:compose-material3 ซึ่งจะมาแทนที่ rememberRipple ที่เลิกใช้งานแล้ว นอกจากนี้ ยังเพิ่ม CompositionLocal ชั่วคราว LocalUseFallbackRippleImplementation เพื่อเปลี่ยนคอมโพเนนต์ Material ให้กลับไปใช้ rememberRipple/RippleTheme API ที่เลิกใช้งานแล้ว ระบบจะนำออกในการเผยแพร่เวอร์ชันเสถียรครั้งถัดไป และมีไว้เพื่อเป็นเครื่องมือช่วยในการย้ายข้อมูลชั่วคราวในกรณีที่คุณระบุ RippleTheme ที่กำหนดเองเท่านั้น ดูข้อมูลการย้ายข้อมูลและข้อมูลเบื้องหลังเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ developer.android.com (af92b21)
  • เราได้อัปเดต ColorScheme ให้เปลี่ยนแปลงไม่ได้ ซึ่งทำให้การอัปเดตสีแต่ละรายการมีประสิทธิภาพน้อยลง แต่ทำให้การใช้สีที่พบบ่อยมีประสิทธิภาพมากขึ้น เหตุผลที่อยู่เบื้องหลังการเปลี่ยนแปลงนี้คือแอปส่วนใหญ่ไม่ได้มี Use Case หลักเป็นการอัปเดตสีแต่ละสี ยังคงทำได้ แต่จะมีการจัดองค์ประกอบใหม่มากกว่าเดิม ซึ่งจะช่วยลดจำนวนการสมัครใช้บริการสถานะผ่านโค้ด Material ทั้งหมดได้อย่างมาก และจะส่งผลต่อต้นทุนการเริ่มต้นและการรันไทม์ของ Use Case มาตรฐานมากขึ้น (f5c48b7)
  • คอมโพเนนต์ Wear Material และ Wear Material3 ที่แสดง MutableInteractionSource ใน API ได้รับการอัปเดตให้แสดง MutableInteractionSource ที่อนุญาตให้เป็น Null ได้ ซึ่งค่าเริ่มต้นจะเป็น Null ไม่มีการเปลี่ยนแปลงเชิงความหมายที่นี่ การส่งค่า null หมายความว่าคุณไม่ต้องการยก MutableInteractionSource ขึ้น และระบบจะสร้าง MutableInteractionSource ภายในคอมโพเนนต์หากจำเป็น การเปลี่ยนเป็นค่าว่างจะทำให้คอมโพเนนต์บางอย่างไม่จัดสรร MutableInteractionSource และทำให้คอมโพเนนต์อื่นๆ สร้างอินสแตนซ์เมื่อจำเป็นเท่านั้น ซึ่งจะช่วยปรับปรุงประสิทธิภาพในคอมโพเนนต์เหล่านี้ หากไม่ได้ใช้ MutableInteractionSource ที่ส่งไปยังคอมโพเนนต์เหล่านี้ เราขอแนะนำให้ส่งค่าเป็น null แทน นอกจากนี้ เราขอแนะนำให้คุณทำการเปลี่ยนแปลงที่คล้ายกันในคอมโพเนนต์ของคุณเองด้วย (f8fa920)
  • เราได้อัปเดต rememberExpandableState เพื่อบันทึกสถานะขยาย ซึ่งช่วยให้มั่นใจได้ว่าระบบจะจัดเก็บข้อมูลเมื่อไปยังหน้าจออื่น และจะกู้คืนข้อมูลเมื่อกลับมาที่หน้าจอเดิม (5c80095)

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

  • เราได้อัปเดตการตั้งค่า ReduceMotion ให้ใช้เครื่องมือฟังที่รับรู้ถึงวงจรของกิจกรรมแล้ว (7c6b122)
  • เราได้อัปเดต Listener ของ TouchExplorationStateProvider ให้รับรู้ถึงวงจรของกิจกรรม (be28b01)
  • เราได้นำเลเยอร์ Materialcore สำหรับ CompactButton ออกเพื่อปรับปรุงประสิทธิภาพ (25db8e9)
  • เราได้ปรับปรุง BasicSwipeToDismissBox ให้รองรับออฟเซ็ต NaN ได้ดียิ่งขึ้นเพื่อหลีกเลี่ยงข้อยกเว้น (b983739)
  • เราได้อัปเดต BasicSwipeToDismissBox เพื่อให้มั่นใจว่าค่าอัลฟ่าอยู่ในช่วง 0,1
  • เราได้แก้ไขข้อบกพร่องใน ToggleButton, SplitToggleButton, Checkbox, Switch และ RadioButton เพื่อไม่ให้ประกาศการช่วยเหลือพิเศษซ้ำ (ก่อนหน้านี้ บทบาทเชิงความหมายซ้ำกัน) (d11eeb7)

เวอร์ชัน 1.3

เวอร์ชัน 1.3.1

3 เมษายน 2024

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

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

  • เราได้แก้ไขข้อบกพร่องในการปัดเพื่อแสดง ซึ่งทำให้สามารถโต้ตอบ (และยกเลิก) การดำเนินการที่ทำกับรายการหนึ่งได้โดยเริ่มปัดรายการอื่น (Ide059)

เวอร์ชัน 1.3.0

24 มกราคม 2024

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

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

  • ตอนนี้คลาส SwipeToDismissBoxState การแจงนับ SwipeToDismissValue และฟังก์ชันส่วนขยาย Modifier.edgeSwipeToDismiss เป็นส่วนหนึ่งของแพ็กเกจ androidx.wear.compose.foundation แทนแพ็กเกจ androidx.wear.compose.material แล้ว สถาปัตยกรรมที่อัปเดตนี้ช่วยให้คุณใช้การจัดการท่าทางสัมผัสได้อย่างอิสระจากข้อควรพิจารณาด้านการออกแบบอื่นๆ ระบบจะจัดการเวิร์กโฟลว์ของ Material Design เช่น การใช้สีจากธีมที่กำหนดค่าไว้ แยกกัน
  • คลาส SwipeToRevealCard และ SwipeToRevealChip ช่วยให้คุณใช้ recommended swipe-to-reveal guidance ได้ คลาส SwipeToRevealSample แสดงวิธีใช้คอมโพเนนต์เหล่านี้
  • การเปิดตัวเวอร์ชัน 1.3.0-alpha02 ของเราได้มีการเปลี่ยนแปลงที่ทำให้ออบเจ็กต์ Chip และ ToggleChip มีความสูงเพิ่มขึ้นเพื่อรองรับการปรับขนาดแบบอักษรที่ผู้ใช้เลือกได้ดียิ่งขึ้น ซึ่งอาจทำให้เกิดการตัดเสียงบางส่วน ในการแก้ไขปัญหานี้ ตอนนี้largeรูปร่างสำหรับ MaterialTheme ใช้รัศมีมุมที่ใหญ่ขึ้น (26 dp แทน 24 dp) ออบเจ็กต์ Chip และ ToggleChip ใช้รัศมีมุมใหม่นี้เพื่อหลีกเลี่ยงการตัดเนื้อหาที่มุมของชิปและ ToggleChip

    • Chips และ ToggleChips ส่วนใหญ่จะไม่มีการเปลี่ยนแปลงเนื่องจากมีความสูงเริ่มต้นที่ 52 dp อย่างไรก็ตาม ออบเจ็กต์ Chip และ ToggleChip ที่มีข้อความป้ายกำกับหลักหรือรองหลายบรรทัด หรือออบเจ็กต์ที่มีการลบล้างความสูง อาจทำให้การทดสอบด้วยภาพหน้าจอไม่สำเร็จ

การเปลี่ยนแปลงเพิ่มเติม

หากต้องการดูชุดการเปลี่ยนแปลงที่สมบูรณ์ยิ่งขึ้นซึ่งเปิดตัวในเวอร์ชัน 1.3.0 โปรดดูบันทึกประจำรุ่นเบต้า 01

คำแนะนำในการติดตั้งใช้งาน

  • หากแอปอนุญาตให้ผู้ใช้เลื่อนดูเนื้อหาของหน้าจอ เช่น ในแอปที่อิงตามแผนที่ ให้ปิดการจัดการการปัดโดยตั้งค่า userSwipeEnabled เป็น false ใน Composable SwipeDismissableNavHost และใส่ปุ่มที่อนุญาตให้ผู้ใช้ไปที่หน้าจอก่อนหน้า
  • หากต้องการปิดภาพเคลื่อนไหวสำหรับตัวบ่งชี้ตำแหน่งระหว่างภาพเคลื่อนไหวแบบค่อยๆ ปรากฏและเปลี่ยนตำแหน่งภายในรายการที่เลื่อนได้ ให้ใช้ออบเจ็กต์ SnapSpec
  • ขณะรอให้แอปสื่อโหลดเนื้อหาสำหรับการเล่น ให้แสดง Composable ที่ว่างเปล่า Placeholder
  • หากต้องการสร้างคอลเล็กชันของรายการที่ขยายได้ตามต้องการ ให้ลองใช้คลาส ExpandableStateMapping ในเวอร์ชันทดลอง

เวอร์ชัน 1.3.0-rc01

10 มกราคม 2024

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

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

  • เราได้อัปเดตMaterialThemeรูปร่างขนาดใหญ่ให้ใช้รัศมีมุมโค้ง 26dp และตอนนี้ Chip และ ToggleChip จะใช้รูปร่างนี้ การเปลี่ยนแปลงนี้จำเป็นต่อการรองรับการปรับความสูงเมื่อเนื้อหาต้องการความสูงเพิ่มเติมเพื่อรองรับแบบอักษรขนาดใหญ่ มิฉะนั้นรูปร่างสเตเดียมที่มีอยู่จะตัดเนื้อหาข้อความบางส่วน

    ข้อความถูกตัดที่มุม
    รูปที่ 1: ข้อความที่ถูกตัดที่มุม
    ข้อความไม่ถูกตัด
    รูปที่ 2: ข้อความไม่ถูกตัด

    การเปลี่ยนแปลงนี้อาจทำให้การทดสอบภาพหน้าจอใช้งานไม่ได้ (I2e6ae)

เวอร์ชัน 1.3.0-beta02

13 ธันวาคม 2023

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

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

  • เราได้กู้คืนการปัดตามที่ตั้งใจไว้ใน BasicSwipeToDismissBox แล้ว ซึ่งได้รับการแก้ไขในการเปิดตัวครั้งก่อนเพื่อให้ส่วนสไลด์ของการเปลี่ยนฉากเกิดขึ้นขณะที่นิ้วแตะหน้าจอ (Id8e76)

เวอร์ชัน 1.3.0-beta01

15 พฤศจิกายน 2023

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

การเปิดตัว Compose สำหรับ Wear OS เวอร์ชัน 1.3-beta01 แสดงให้เห็นว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อกแล้ว (ยกเว้นที่ทำเครื่องหมายว่าเป็นการทดลอง) Wear Compose 1.3 มีฟังก์ชันใหม่ต่อไปนี้

  • เราได้ย้ายข้อมูล SwipeToDismissBoxState, SwipeToDismissValue และ Modifier.edgeSwipeToDismiss จาก androidx.wear.compose.material ไปยัง androidx.wear.compose.foundation พร้อมกับการติดตั้งใช้งานการปัดเพื่อปิดที่เกี่ยวข้องใน BasicSwipeToDismissBox ซึ่งช่วยให้ใช้การจัดการท่าทางสัมผัสสำหรับการปัดเพื่อปิดได้อย่างอิสระจาก Material Design เช่น จาก SwipeDismissableNavHost ใน androidx.wear.compose.navigation SwipeToDismissBox จาก androidx.wear.compose.material ยังคงแนะนำให้ใช้กับ Material Design เนื่องจากจะดึงสีจาก MaterialTheme จากนั้นมอบหมายการติดตั้งใช้งานที่เหลือให้กับ BasicSwipeToDismissBox
  • SwipeDismissableNavHost รองรับพารามิเตอร์ userSwipeEnabled ใหม่แล้ว เพื่อให้ปิดการจัดการการปัดสำหรับหน้าจอที่ไม่จำเป็นได้
  • BasicSwipeToDismissBox ได้ปรับปรุงการจัดการโฟกัสโดยใช้ HierarchicalFocusCoordinator
  • SwipeToReveal มี Composable ใหม่ของ SwipeToRevealCard และ SwipeToRevealChip ใน Material ซึ่งเป็นไปตามคำแนะนำด้าน UX ที่แนะนำสำหรับ Card และ Chip นอกจากนี้ยังรองรับการเลิกทำการกระทำรองด้วย
  • DefaultTextStyle ตอนนี้จะปิดการเว้นวรรคแบบอักษรเพื่อให้สอดคล้องกันในแพลตฟอร์ม Android
  • Chip และ ToggleChip จะปรับความสูงให้พอดีกับเนื้อหาที่ขยายเนื่องจากแบบอักษรขนาดใหญ่เพื่อการช่วยเหลือพิเศษ
  • ตอนนี้ PositionIndicator มีข้อกำหนดของภาพเคลื่อนไหวแต่ละรายการสำหรับภาพเคลื่อนไหวแบบจางเข้า จางออก และเปลี่ยนตำแหน่งแล้ว เราขอแนะนำให้ปิดการจางเข้าและการเปลี่ยนตำแหน่งเมื่อใช้กับรายการที่เลื่อนได้เพื่อประสิทธิภาพ
  • ExpandableStateMapping มีวิธีใหม่ในการสร้าง ExpandableStates เมื่อจำเป็นต้องสร้างตามความต้องการและไม่จำเป็นต้องมีขอบเขต @Composable
  • Placeholder ตอนนี้อนุญาตให้รีเซ็ตได้หากเนื้อหาไม่อยู่ในสถานะพร้อมใช้งานแล้ว นอกจากนี้ การตั้งค่าลดการเคลื่อนไหวจะมีผลกับเอฟเฟกต์ระยิบระยับและการเคลื่อนไหวแบบเช็ดออกใน Placeholder ด้วย

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

  • PositionIndicator จะไม่แสดงในตอนแรกเมื่อหน้าจอแสดงเป็นครั้งแรก เราตั้งใจที่จะทำการเปลี่ยนแปลงในเวอร์ชัน 1.4 อัลฟ่าช่วงต้นเพื่อให้แสดงในตอนแรก แต่จะไม่มีภาพเคลื่อนไหว

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

  • เราได้เปลี่ยนชื่อระดับพื้นฐาน SwipeToDismissBox เป็น BasicSwipeToDismissBox ซึ่งจะทำให้ความแตกต่างระหว่างคอมโพเนนต์ระดับ Foundation กับระดับ Material ชัดเจนยิ่งขึ้นSwipeToDismissBox โดยจะดึงสีจาก MaterialTheme เพื่อใช้ในเลเยอร์กึ่งโปร่งใสและมอบหมายการติดตั้งใช้งานที่เหลือให้กับ BasicSwipeToDismissBox (Ibecfc)
  • เราได้ทําเครื่องหมาย rememberExpandableStateMapping เป็นเวอร์ชันทดลองและปรับปรุงประสิทธิภาพของ expandableItem (I5f6bc)
  • เราได้แทนที่คลาส SwipeToRevealAction ใน Material SwipeToReveal Card และ Chip API ด้วย API ที่อิงตามสล็อตโดยใช้ Composable SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction และ SwipeToRevealUndoAction โปรดดูโค้ดตัวอย่างเพื่อดูตัวอย่างวิธีใช้ API ใหม่ (Ia8943)
  • เราได้แทนที่แฟล็กภาพเคลื่อนไหว PositionIndicator ด้วยพารามิเตอร์ AnimationSpec แล้ว คุณปิดใช้ภาพเคลื่อนไหวแต่ละรายการได้โดยส่ง snap เป็น AnimationSpec (I6c523)

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

  • เราได้แก้ไขข้อบกพร่องที่เกิดจากข้อความโค้งที่จำกัดเมื่อมีการจำกัดขนาด (I50efe)
  • เราได้แก้ไขข้อขัดข้องที่อาจเกิดขึ้นเนื่องจาก NaN ที่เกี่ยวข้องกับ curvedComposable (I970eb) แล้ว
  • เราได้เปลี่ยนกลับการนำภาพเคลื่อนไหวไฮไลต์การเปลี่ยนตำแหน่งใน PositionIndicator ออกแล้ว (Ieb424)
  • เราได้นำเลเยอร์หลักของ Material ออกจากชิป Material เพื่อปรับปรุงประสิทธิภาพ (If2dcb)

เวอร์ชัน 1.3.0-alpha08

18 ตุลาคม 2023

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

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

  • เราได้เพิ่มฟีเจอร์การแจ้งว่าไม่เหมาะสมแต่ละรายการลงใน PositionIndicator เพื่อควบคุมภาพเคลื่อนไหวต่างๆ ได้แก่ showFadeInAnimation, showFadeOutAnimation และ showPositionAnimation เราได้เลิกใช้งาน API เวอร์ชันก่อนหน้าและส่งต่อการเรียกไปยัง API ใหม่แล้ว เพื่อประสิทธิภาพและ UX ที่สอดคล้องกัน เมื่อใช้ PositionIndicator กับรายการที่เลื่อนได้ เราขอแนะนำให้ปิดค่าสถานะ showFadeInAnimation และ showPositionAnimation หากใช้ PositionIndicator เป็นตัวบ่งชี้แบบสแตนด์อโลน เช่น สำหรับการเปลี่ยนแปลงระดับเสียง เราขอแนะนำให้เปิดภาพเคลื่อนไหวทั้ง 3 รายการ (I44294)
  • เราได้เลิกใช้งาน Material SwipeToDismissBoxState, SwipeToDismissValue และ edgeSwipeToDismiss หลังจากย้ายฟังก์ชันการปัดเพื่อปิดไปที่ wear.compose.foundation โปรดแทนที่ด้วยค่าที่เทียบเท่ากับ wear.compose.foundation (Iee8c9)

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

  • เราได้อัปเดตโปรไฟล์พื้นฐานสำหรับไลบรารี Wear Compose Foundation, Material และ Navigation (Idb060)
  • เราได้เปลี่ยนกลับลักษณะการทำงานของ PositionIndicator ที่เปิดตัวใน CL ก่อนหน้า เพื่อให้ PositionIndicator มีภาพเคลื่อนไหวเมื่อแสดงหน้าจอเป็นครั้งแรก เราตั้งใจที่จะทำการเปลี่ยนแปลงที่คล้ายกันในเวอร์ชัน 1.4 อัลฟ่าช่วงต้น เพื่อให้ PositionIndicator แสดงในตอนแรก แต่จะไม่มีภาพเคลื่อนไหว (I41843)
  • เราได้แก้ไขปัญหาด้านประสิทธิภาพบางอย่างใน PositionIndicator แล้ว (I1c654, b/302399827)
  • เราได้เพิ่มประสิทธิภาพการติดตั้งใช้งานเริ่มต้นของผู้ให้บริการสถานะการสำรวจด้วยการแตะให้ใช้ State<Boolean> แทนสถานะที่ได้มา (Ieec4d)
  • เราได้ตั้งค่าสี่เหลี่ยมผืนผ้า systemGestureExclusion สำหรับ Android 13 ขึ้นไป (Ib1f4b)

เวอร์ชัน 1.3.0-alpha07

4 ตุลาคม 2023

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

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

  • เราได้เพิ่มฟีเจอร์การแจ้งว่าไม่เหมาะสมแต่ละรายการใน PositionIndicator เพื่อควบคุมภาพเคลื่อนไหวต่างๆ ได้แก่ showFadeInAnimation, showFadeOutAnimation และ showPositionAnimation เราได้เลิกใช้งาน API เวอร์ชันก่อนหน้าและส่งต่อการเรียกไปยัง API ใหม่แล้ว เพื่อประสิทธิภาพและ UX ที่สอดคล้องกัน เมื่อใช้ PositionIndicator กับรายการที่เลื่อนได้ เราขอแนะนำให้ปิดค่าสถานะ showFadeInAnimation และ showPositionAnimation หากใช้ PositionIndicator เป็นตัวบ่งชี้แบบสแตนด์อโลน เช่น สำหรับการเปลี่ยนแปลงระดับเสียง เราขอแนะนำให้เปิดภาพเคลื่อนไหวทั้ง 3 รายการ (Ia2d63)

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

  • เราได้ปรับปรุงการปัดเพื่อแสดงการเคลื่อนไหวโดยเพิ่มภาพเคลื่อนไหวแบบจางลงในข้อความการกระทำหลัก และทำให้การกระทำรองจางลง/เปลี่ยนขนาดไอคอนเมื่อปัดจนสุด (Ib7223)
  • เราขอแนะนำให้ทำให้การปัดเพื่อเปิดเผยเข้าถึงได้ และเราได้เพิ่มการดำเนินการเพื่อการช่วยเหลือพิเศษที่กำหนดเองลงในตัวอย่างการปัดเพื่อเปิดเผยแล้ว (I42224)
  • เราได้ปรับปรุงประสิทธิภาพของ SwipeToDismissBox รวมถึงการปรับโครงสร้างเพื่อให้มั่นใจว่าตรรกะเริ่มต้นจะไม่ทริกเกอร์การจัดองค์ประกอบใหม่ ตอนนี้ SwipeToDismissBox จะวาดเป็นขนาดเต็มหน้าจอ (Ie0aa2)
  • เราได้แก้ไขข้อบกพร่องที่ทำให้ PositionIndicator หายไปอย่างไม่ถูกต้องแล้ว (I2091a)
  • ปรับปรุงประสิทธิภาพของ PositionIndicator โดยการเพิ่มประสิทธิภาพการจัดองค์ประกอบใหม่ ต่อมาได้มีการเพิ่ม Flag ใหม่เพื่อควบคุมภาพเคลื่อนไหว (fadeIn, fadeOut และ positionChange) (ดูการเปลี่ยนแปลงของ API) (Ifac7d)
  • เราได้เพิ่มการทดสอบ Microbenchmark สำหรับ PositionIndicator (Idf875)

เวอร์ชัน 1.3.0-alpha06

20 กันยายน 2023

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

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

  • เราได้เพิ่มการรองรับ Modifier.edgeSwipeToDismiss ด้วย SwipeToReveal (I95774, b/293444286)
  • เราได้เพิ่มตัวอย่างสำหรับ Material SwipeToRevealChip และ SwipeToRevealCard (Ieb974)
  • เราได้อัปเดตโปรไฟล์พื้นฐานสำหรับไลบรารี Wear Compose Foundation และ Material (I1dd1f)

เวอร์ชัน 1.3.0-alpha05

6 กันยายน 2023

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

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

  • เราได้เพิ่มการจัดการในการปัดเพื่อแสดงเพื่อให้ปัดได้ทีละ 1 รายการเท่านั้น (I3cd7a)
  • ปรับปรุงเอกสารประกอบของ ScalingLazyColumnDefaults เพื่อให้สอดคล้องกับลักษณะการทำงานจริงได้ดียิ่งขึ้น (I886d3)

เวอร์ชัน 1.3.0-alpha04

23 สิงหาคม 2023

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

ฟีเจอร์ใหม่

  • เราได้เพิ่มการรองรับการเลิกทำสำหรับการดำเนินการรองของ SwipeToReveal (I7a22d)

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

  • เพิ่ม HorizontalPageIndicator ในไลบรารี Wear Material3 (Ifee99)
  • อัปเดตเครื่องมือแสดงตัวอย่าง Wear Compose เพื่อใช้ไลบรารี androidx.wear.tooling.preview (Ib036e)

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

  • แก้ไขข้อบกพร่องในปุ่มกลมที่ตัวแก้ไขไม่เชื่อมโยงอย่างถูกต้อง (I5e162)

เวอร์ชัน 1.3.0-alpha03

9 สิงหาคม 2023

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

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

  • เราได้เพิ่ม Composable ใหม่ 2 รายการใน Material สำหรับการใช้งาน SwipeToReveal กับการ์ดและชิป Composable เหล่านี้เป็นไปตามคำแนะนำด้าน UX ที่แนะนำเกี่ยวกับคอมโพเนนต์ และช่วยให้นักพัฒนาแอปใช้ SwipeToReveal กับคอมโพเนนต์ที่มีอยู่ใน Wear Material ได้ง่ายขึ้น (I7ec65)
  • เราได้เปิดใช้FloatRangeคำอธิบายประกอบเป็นข้อจำกัดของ API ซึ่งก่อนหน้านี้ระบุไว้ในความคิดเห็น (Icb401)

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

  • เราได้ย้ายตรรกะการเลื่อนเริ่มต้นของ ScalingLazyColumn ไปไว้ใน onGloballyPositioned() แล้ว (Ic90f1)
  • ตอนนี้เราใช้ drawWithCache ใน PositionIndicator, ProgressIndicator และ SelectionControls เพื่อเพิ่มประสิทธิภาพการจัดสรรจังหวะ (I5f225, b/288234617)
  • เราได้แก้ไขระดับการมองเห็นเครื่องหมายถูกในช่องทำเครื่องหมายในสถานะที่ปิดใช้แล้ว (Ib25bf)
  • เราได้อัปเดต Placeholder เพื่ออนุญาตให้รีเซ็ตเพื่อแสดงตัวยึดตำแหน่งหากเนื้อหาไม่อยู่ในสถานะพร้อมใช้งานอีกต่อไป (Ibd820)
  • เราได้แก้ไขการทดสอบ Placeholder ที่ไม่เสถียร (Idb560)

เวอร์ชัน 1.3.0-alpha02

26 กรกฎาคม 2023

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

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

  • เราได้จัดเตรียม ExpandableStateMapping ซึ่งเป็นวิธีใหม่ในการสร้าง ExpandableStates สำหรับกรณีที่ต้องสร้างตามความต้องการ ไม่จำเป็นต้องอยู่ภายในขอบเขต @Composable (Iff9e0)
  • SwipeToDismissBox ได้ย้ายข้อมูลจากแพ็กเกจ androidx.wear.compose.material ไปยังแพ็กเกจ androidx.wear.compose.foundation แล้ว (I275fb)
  • อัปเดตไฟล์ API เพื่อใส่คำอธิบายประกอบการระงับความเข้ากันได้ (I8e87a, b/287516207)
  • เราได้เผยแพร่ค่าคงที่ความสูงสำหรับ Chip, CompactChip และ ToggleChip (Idbfde)
  • เราได้เผยแพร่การเว้นวรรคแนวนอนและแนวตั้งสำหรับ Chip และ CompactChip ต่อสาธารณะแล้ว (Ieeaf7)
  • เพิ่มฟังก์ชันการทำงานเพื่อปิดการจัดการการปัดใน SwipeDismissableNavHost ผ่านพารามิเตอร์ userSwipeEnabled ใหม่ (Id2a0b, b/230865655)
  • เราได้อัปเดตไลบรารีการนำทางของ Wear Compose เพื่อใช้ SwipeToDismissBox ใหม่จาก Wear Compose Foundation (I4ff8e)

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

  • เราได้แก้ไขข้อบกพร่องของลำดับ Z ซึ่ง expandedItem ไม่แสดงเนื้อหาที่ถูกต้องหลังจากคลิกพฤติกรรมของปุ่มเมื่อมีปุ่ม (I1899d, b/289991514)
  • ปรับปรุงการจัดการโฟกัสของ SwipeToDismissBox (และ SwipeDismissableNavHost) โดยใช้ HierarchicalFocusCoordinator (I45362, b/277852486)
  • เราได้แก้ไขการจัดการท่าทางสัมผัสใน SwipeableV2 แล้ว (I89737)
  • เราได้สรุปโปรไฟล์พื้นฐานสำหรับการเปิดตัวเวอร์ชัน 1.2 แล้ว (Id5740)
  • หลังจากย้ายข้อมูล SwipeToDismissBox ไปยัง Foundation แล้ว การใช้งาน Material SwipeToDismissBox จะส่งต่อข้อมูลไปยัง Foundation และระบุค่าสีเริ่มต้นจากธีม (If8451)
  • เราได้เพิ่มความหมายของส่วนหัวลงใน ListHeader (Ic5420)
  • Chip และ ToggleChip จะปรับความสูงให้พอดีกับเนื้อหาที่ขยายเนื่องจากใช้แบบอักษรขนาดใหญ่เพื่อการช่วยเหลือพิเศษเมื่อจำเป็น (Iaf302)
  • แก้ไขข้อบกพร่องในบทบาทเชิงความหมายของพื้นที่ที่แตะได้ของ SplitToggleChip เพื่อการช่วยเหลือพิเศษ (Ieed3a)
  • ตอนนี้การตั้งค่าลดการเคลื่อนไหวจะปิดเอฟเฟกต์ระยิบระยับและการเคลื่อนไหวแบบเช็ดออกในตัวยึดตำแหน่ง (I91046)
  • ตอนนี้ Stepper และ InlineSlider รองรับการคลิกซ้ำเมื่อกดค้างไว้เพื่อให้คุณเพิ่ม/ลดค่าของ Stepper และ InlineSlider ได้อย่างรวดเร็วโดยการกดปุ่ม + หรือ - ค้างไว้ (I27359)

เวอร์ชัน 1.3.0-alpha01

21 มิถุนายน 2023

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

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

  • ตามที่ได้ประกาศไว้ใน 1.2.0-alpha07 และ 1.2.0-alpha10 ตอนนี้เราจะเปลี่ยน DefaultTextStyle เพื่อปิดการเพิ่มระยะขอบแบบอักษรให้สอดคล้องกันในแพลตฟอร์ม Android การเปลี่ยนแปลงนี้จะช่วยแก้ปัญหาข้อความบางส่วนขาดหายไปเมื่อใช้ขนาดแบบอักษรขนาดใหญ่ และอาจส่งผลต่อเลย์เอาต์หน้าจอด้วย ดังนั้นคุณจึงต้องอัปเดตการทดสอบภาพหน้าจอ เช่น เราเห็นข้อความที่ถูกตัดที่นี่ (Ic6a86)
ข้อความถูกตัดเมื่อใช้แบบอักษรขนาดใหญ่
รูปที่ 1: ข้อความถูกตัด
  • โดยจะไม่มีการแสดงอีกต่อไปเมื่อปิดการเว้นวรรคแบบอักษร
ข้อความไม่ถูกตัดเมื่อใช้แบบอักษรขนาดใหญ่
รูปที่ 2: ข้อความไม่ถูกตัด
  • เราได้อัปเดต wear.compose.foundation ให้เป็น API Dependency ของ wear.compose.material (I72004, b/285404743)
  • เราได้แก้ไขข้อบกพร่องใน SwipeToDismissBox แล้ว ตอนนี้ระบบจะส่งคีย์พื้นหลังและเนื้อหาไปยังบล็อกจดจำเพื่อให้สร้างตัวแก้ไขใหม่เมื่อเนื้อหาหรือพื้นหลังมีการเปลี่ยนแปลง (Ib876c, b/280392104)
  • เราได้อัปเดต TimeText เพื่อใช้ภาษาเมื่อเลือกรูปแบบเวลา 12 หรือ 24 ชั่วโมง (If4a3d)
  • เราได้แก้ไขความไม่สอดคล้องกันในพารามิเตอร์เริ่มต้นของ SwipeToDismissBox contentScrimColor แล้ว (I2d70f)
  • เราได้ปรับปรุงการจัดการการเคลื่อนไหวใน SwipeToReveal (I28fb7)

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

  • การรองรับขนาดแบบอักษรที่ผู้ใช้กำหนดค่าเป็นข้อกำหนดด้านการช่วยเหลือพิเศษ เราทราบว่าชิปหลายบรรทัดอาจทำให้ข้อความถูกตัดออกเมื่อแสดงด้วยแบบอักษรขนาดใหญ่ ดังนั้นเราจะอัปเดตชิปในเวอร์ชันอัลฟ่า 1.3 ช่วงต้นเพื่อให้ปรับความสูงได้ในกรณีดังกล่าว

เวอร์ชัน 1.2

เวอร์ชัน 1.2.1

18 ตุลาคม 2023

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

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

  • แก้ไขข้อบกพร่องเมื่อPositionIndicatorหายไปอย่างไม่ถูกต้อง (7a167f)

เวอร์ชัน 1.2.0

9 สิงหาคม 2023

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

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

เวอร์ชัน 1.2.0-rc01

26 กรกฎาคม 2023

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

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

  • เราได้สรุปโปรไฟล์พื้นฐานสำหรับการเปิดตัวเวอร์ชัน 1.2 (Id5740) แล้ว

เวอร์ชัน 1.2.0-beta02

7 มิถุนายน 2023

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

ฟีเจอร์ใหม่

  • เราได้เพิ่มตัวแปรทดลองใหม่ LocalReduceMotion CompositionLocal ซึ่งจะปิดใช้การปรับขนาดและการจางใน ScalingLazyColumn (I58024)

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

  • เราได้อัปเดตโปรไฟล์พื้นฐานสำหรับ Wear Compose Foundation และไลบรารีวัสดุ(I4725d)
  • เราได้แก้ไขความไม่สอดคล้องกันในค่าเริ่มต้นของพารามิเตอร์ SwipeToDismissBox contentScrimColor (I2d70f) แล้ว
  • เราได้แก้ไขค่าเริ่มต้น DefaultTextStyle ที่ใช้สำหรับการตั้งค่า IncludeFontPadding (I737ed) แล้ว

เวอร์ชัน 1.2.0-beta01

24 พฤษภาคม 2023

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

มีอะไรใหม่ใน Compose สำหรับ Wear OS 1.2

การเปิดตัว Compose สำหรับ Wear OS เวอร์ชัน 1.2-beta01 แสดงให้เห็นว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อกแล้ว (ยกเว้นที่ทำเครื่องหมายว่าอยู่ในขั้นทดลอง) Wear Compose 1.2 มีฟังก์ชันใหม่ต่อไปนี้

  • expandableItem และ expandableItems เป็นคอมโพเนนต์ Foundation ใหม่ 2 รายการที่รองรับการขยายรายการภายใน ScalingLazyColumn ใช้ expandableItem สำหรับรายการที่ขยายได้รายการเดียว เช่น ข้อความที่มีจำนวนบรรทัด ใช้ expandableItems สำหรับกลุ่มรายการที่ขยายได้ และ expandableButton เพื่อลดความซับซ้อนในการสร้างปุ่มที่ยุบหลังจากขยายเนื้อหาแล้ว
  • HierarchicalFocusCoordinator - Composable ทดลองนี้ช่วยให้ทำเครื่องหมาย Sub-Tree ของ Composition เป็น Focus Enabled หรือ Focus Disabled ได้
  • Picker - ตอนนี้ API มี userScrollEnabled เพื่อควบคุมว่าเครื่องมือเลือกจะทำงานเมื่อผู้ใช้เลื่อนหรือไม่
  • PickerGroup - Composable ใหม่สำหรับจัดการ Picker หลายรายการพร้อมกัน โดยจะจัดการโฟกัสระหว่างเครื่องมือเลือกโดยใช้ HierarchicalFocusCoordinator API และเปิดใช้การจัดกึ่งกลางรายการเครื่องมือเลือกโดยอัตโนมัติ
  • Placeholder - เราได้อัปเดตภาพเคลื่อนไหว "ประกาย" และ "เช็ดออก" ตอนนี้ระบบจะใช้เอฟเฟกต์การลบออกทันทีเมื่อเนื้อหาพร้อม
  • ScalingLazyColumn - เราได้ย้ายข้อมูล ScalingLazyColumn และชั้นเรียนที่เกี่ยวข้องจาก androidx.wear.compose.material.ScalingLazyColumn ไปยัง androidx.wear.compose.foundation.lazy.ScalingLazyColumn แล้ว โปรดอัปเดตเพื่อใช้เวอร์ชัน Foundation.Lazy
  • SwipeToReveal - เราได้เพิ่มการรองรับแบบทดลองสำหรับการปัดเพื่อแสดงเป็นวิธีเข้าถึงการดำเนินการรอง ซึ่งเป็นการเสริมรูปแบบ "กดค้าง" ที่มีอยู่
  • Stepper - ตอนนี้มีโอเวอร์โหลดพร้อมพารามิเตอร์ enableRangeSemantics เพิ่มเติมเพื่อช่วยในการปิดใช้ความหมายของช่วงเริ่มต้น
  • Previews - เราได้เพิ่มคำอธิบายประกอบที่กำหนดเองต่อไปนี้สำหรับการแสดงตัวอย่าง Composable บนหน้าจอ Wear: WearPreviewSmallRound แสดงตัวอย่าง Composable บนอุปกรณ์ทรงกลมขนาดเล็ก WearPreviewLargeRound แสดงตัวอย่าง Composable บนอุปกรณ์ทรงกลมขนาดใหญ่ WearPreviewSquare แสดงตัวอย่าง Composable บนอุปกรณ์สี่เหลี่ยมจัตุรัส นอกจากนี้ คำอธิบายประกอบต่อไปนี้และคำอธิบายประกอบแบบหลายตัวอย่าง WearPreviewFontScales จะแสดงตัวอย่าง Composable บนอุปกรณ์ Wear ที่มีขนาดแบบอักษรหลายขนาด ส่วน WearPreviewDevices จะแสดงตัวอย่าง Composable บนอุปกรณ์ Wear ต่างๆ
  • เราได้เพิ่ม DefaultTextStyle ลงใน Wear Compose ซึ่งจะตั้งค่าพร็อพเพอร์ตี้ PlatformTextStyle.includeFontPadding เป็นจริงโดยค่าเริ่มต้น (นี่คือการตั้งค่าปัจจุบัน) ซึ่งจะช่วยให้เราซิงค์การปิดการเพิ่มระยะขอบแบบอักษรโดยค่าเริ่มต้นกับไลบรารี Compose ในเวอร์ชัน 1.3 อัลฟ่าช่วงต้นได้ โปรดดูข้อมูลเพิ่มเติมที่ 1.2.0-alpha10

ฟีเจอร์ใหม่

  • เราได้เพิ่มการรองรับแบบทดลองสำหรับการปิดใช้การปรับขนาดและภาพเคลื่อนไหวแบบจางเมื่อเปิดการตั้งค่า reduce_motion (I58024)

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

  • ปรับปรุงเอกสารประกอบสำหรับ angularWidthDp ใน CurvedSize.kt (Iab75c)
  • ตอนนี้ SwipeDismissableNavHost จะบันทึกคำเตือนพร้อมสาเหตุที่อาจทำให้ Backstack ว่างเปล่า การดำเนินการนี้มีขึ้นเพื่อป้องกันการขัดข้องที่ไม่คาดคิดซึ่งเกิดจาก IllegalArgumentException ซึ่งจะเกิดขึ้นเมื่อ Backstack ว่างเปล่า (I04a81, b/277700155)

เวอร์ชัน 1.2.0-alpha10

10 พฤษภาคม 2023

androidx.wear.compose:compose-*:1.2.0-alpha10 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha10 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เราได้เพิ่มการรองรับการปัดเพื่อแสดงเป็นวิธีเข้าถึงการดำเนินการรอง รูปแบบนี้จะเสริมรูปแบบ "กดค้าง" ซึ่งเป็นวิธีที่ผู้ใช้ใช้เพื่อแสดงการกระทำรอง (ที่แตกต่างกัน) อยู่แล้ว (I60862)

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

  • เราได้เพิ่ม RevealScope ลงใน Action Composable ใน SwipeToReveal ซึ่งจะให้สิทธิ์เข้าถึงออฟเซ็ตที่การดำเนินการเพิ่มเติมจะปรากฏขึ้น (I3fd56)

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

  • แก้ไขปัญหาที่ ScalingLazyColumn ค้างอยู่ที่ Wear API 33 หลังจากปัด (Ic4599)
  • เราได้ปรับปรุงประสิทธิภาพของ PositionIndicator เพื่อลดความกระตุก (I35e92)
  • เราได้แก้ไขข้อบกพร่องในชิปและ CompactChip ซึ่งทำให้ระบบไม่ตั้งค่าบทบาทเชิงความหมายเป็น Role.Button อีกต่อไป (I93f91, b/277326264)

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

  • เราพบข้อบกพร่องใน Android Studio ซึ่งทำให้การแสดงตัวอย่างล้มเหลวเมื่อมีการใส่คำอธิบายประกอบด้วย @WearPreviewDevices และ @WearPreviewFontScales โดยเราวางแผนที่จะปล่อยการแก้ไขเร็วๆ นี้ โปรดทราบว่าคำอธิบายประกอบตัวอย่างการสวมใส่อื่นๆ จะทำงานตามที่ตั้งใจไว้ใน Android Studio Giraffe 2022.3.1 ขึ้นไป

  • ในเวอร์ชัน 1.2.0-alpha07 เราได้เพิ่ม DefaultTextStyle ลงใน Wear Compose โดยยังคงค่า PlatformTextStyle.includeFontPadding ที่มีอยู่เป็น true สำหรับข้อมูลพื้นฐาน โปรดดูแก้ไขการเว้นวรรคแบบอักษรใน Compose เราจะเปลี่ยน DefaultTextStyle เพื่อปิดการเว้นวรรคแบบอักษรในเวอร์ชันอัลฟ่า 1.3 ช่วงต้นเพื่อให้สอดคล้องกันในแพลตฟอร์ม Android การเปลี่ยนแปลงนี้จะช่วยแก้ปัญหาข้อความบางส่วนที่ถูกตัดออกเมื่อใช้ขนาดแบบอักษรขนาดใหญ่ และอาจส่งผลต่อเลย์เอาต์หน้าจอด้วย ดังนั้นคุณจึงต้องอัปเดตการทดสอบภาพหน้าจอ เช่น เมื่อใช้ขนาดแบบอักษรขนาดใหญ่ เราจะเห็นข้อความถูกตัดดังนี้

ข้อความถูกตัดเมื่อใช้แบบอักษรขนาดใหญ่
รูปที่ 1: ข้อความถูกตัด
  • โดยจะไม่มีการแสดงอีกต่อไปเมื่อปิดการเว้นวรรคแบบอักษร
ข้อความไม่ถูกตัดเมื่อใช้แบบอักษรขนาดใหญ่
รูปที่ 2: ข้อความไม่ถูกตัด

คุณใช้การตั้งค่าใหม่ได้แล้วตอนนี้โดยการลบล้างการจัดรูปแบบตัวอักษรในธีมของคุณ ดูโค้ดตัวอย่าง

เวอร์ชัน 1.2.0-alpha09

19 เมษายน 2023

androidx.wear.compose:compose-*:1.2.0-alpha09 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha09 มีคอมมิตเหล่านี้

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

  • เพิ่ม angularSizeDp ไปยัง CurvedModifier api เพื่อตั้งค่าความกว้างเชิงมุมใน DP (I89a52)

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

  • เราได้แก้ไขปัญหาการช่วยเหลือพิเศษในเดโมเครื่องมือเลือกเวลา(Id0eb7) แล้ว

เวอร์ชัน 1.2.0-alpha08

5 เมษายน 2023

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

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

  • เราได้เปลี่ยนชื่อ ExpandableItemsState เป็น ExpandableState แล้ว (If85ea)
  • เราได้เพิ่ม expandableButton เพื่อให้การสร้างปุ่มที่ยุบเมื่อขยายเนื้อหาง่ายขึ้น และยังได้อัปเดตตัวอย่างที่ขยายได้ด้วย (Iae309)

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

  • ตัวอย่างที่ขยายได้ที่ได้รับการปรับปรุงเพื่อแสดงความเป็นไปได้ที่มากขึ้น แก้ไขภาพเคลื่อนไหวของ expandableItem เพื่อให้เนื้อหาอยู่ตรงกลางตลอดภาพเคลื่อนไหว (I2f637)
  • อัปเดต ToggleControls เพื่อหลีกเลี่ยงการจัดองค์ประกอบใหม่เพิ่มเติมเมื่อเคลื่อนไหวสีด้วยตนเองโดยใช้ State (I5d319)

เวอร์ชัน 1.2.0-alpha07

22 มีนาคม 2023

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

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

  • เราได้ย้ายคอมโพเนนต์รายการที่ขยายได้ (เพิ่มใน 1.2.0-alpha06) จาก Material ไปยัง Foundation เนื่องจากไม่มีการอ้างอิงที่มีความหมายถึง MaterialTheme (Ib0525)

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

  • เราได้แก้ไขข้อขัดข้องที่เกิดขึ้นในหน้าจอที่ใช้ PickerGroup โดยตรวจสอบว่า PickerGroup จัดการโฟกัสได้อย่างถูกต้องเมื่อไม่มีตัวเลือกใดมีโฟกัส นอกจากนี้ เรายังเพิ่มการรองรับการเลื่อน RSB ในการสาธิต Picker ด้วย (If8c19)
  • เราได้ปรับปรุงการเปลี่ยนผ่านของกล่องโต้ตอบแล้ว ตอนนี้การเปลี่ยนผ่านตอนต้นจะราบรื่นขึ้นเพื่อให้ตรงกับการเปลี่ยนผ่านตอนท้าย (Ib5af9)
  • เราได้เพิ่ม DefaultTextStyle ลงใน Wear Compose ซึ่งจะตั้งค่าพร็อพเพอร์ตี้ PlatformTextStyle.includeFontPadding เป็นจริงโดยค่าเริ่มต้น (นี่คือการตั้งค่าปัจจุบัน) ซึ่งจะช่วยให้เราซิงค์การปิดการเว้นวรรคแบบอักษรโดยค่าเริ่มต้นกับไลบรารี Compose ได้ในอนาคต โปรดดูข้อมูลเบื้องหลังที่ (แก้ไขการเว้นวรรคแบบอักษรใน Compose) (I2aee8)
  • ย้อนกลับUpsideDownCakeการอ้างอิงเวอร์ชันตัวอย่างผ่าน activity-compose ที่บล็อกการเผยแพร่แอปไปยัง Google Play Store (I6443d)

เวอร์ชัน 1.2.0-alpha06

8 มีนาคม 2023

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

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

  • เพิ่มคอมโพเนนต์ CurvedBox ซึ่งจะวางคอมโพเนนต์ซ้อนกันในโลกโค้ง (I29200)
  • เพิ่มรายการที่ขยายได้ - คอมโพเนนต์ใหม่ 2 รายการเพื่อรองรับกลุ่มรายการที่ขยายได้ใน ScalingLazyColumn หรือรายการเดียวที่ขยายได้ เช่น ข้อความที่จำนวนบรรทัดขยายได้ (I95dd5)
  • เราได้เพิ่มคำอธิบายประกอบที่กำหนดเองต่อไปนี้สำหรับการแสดงตัวอย่าง Composable บนหน้าจอ Wear: WearPreviewSmallRound แสดงตัวอย่าง Composable บนอุปกรณ์ทรงกลมขนาดเล็ก WearPreviewLargeRound แสดงตัวอย่าง Composable บนอุปกรณ์ทรงกลมขนาดใหญ่ WearPreviewSquare แสดงตัวอย่าง Composable บนอุปกรณ์สี่เหลี่ยมจัตุรัส นอกจากนี้ คำอธิบายประกอบต่อไปนี้และคำอธิบายประกอบแบบหลายตัวอย่าง WearPreviewFontScales จะแสดงตัวอย่าง Composable บนอุปกรณ์ Wear ที่มีขนาดแบบอักษรหลายขนาด ส่วน WearPreviewDevices จะแสดงตัวอย่าง Composable บนอุปกรณ์ Wear ต่างๆ หากต้องการใช้ตัวอย่างเหล่านี้ คุณต้องใช้ Android Studio เวอร์ชันล่าสุด (Giraffe Canary 6) ขึ้นไป โปรดทราบว่าหากคำอธิบายประกอบเหล่านี้ไม่เหมาะกับวัตถุประสงค์ของคุณ คุณก็ยังใช้ตัวอย่างได้และรองรับการปรับแต่งเพิ่มเติมผ่านพารามิเตอร์ (I397ff)
  • เราได้ทำเครื่องหมาย HierarchicalFocusCoordinator เป็นฟีเจอร์ทดลองในขณะที่พิจารณาให้เป็นตัวเลือกในการย้ายไปยังไลบรารี Compose หลัก เนื่องจากมีการใช้งานอย่างกว้างขวาง (I3a768)

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

  • แก้ไขข้อบกพร่องใน HierarchicalFocusCoordinator เมื่อมีการเปลี่ยนแปลง Lambda ที่ส่งผ่านสำหรับพารามิเตอร์ focusEnabled ตอนนี้เราจะใช้ Lambda ใหม่ได้อย่างถูกต้องแล้ว (Icb353)
  • เราได้อัปเดตสีเนื้อหาที่ปิดใช้เริ่มต้นเป็นสีพื้นหลังเมื่อใช้สีหลักเป็นพื้นหลังใน Button, CompactButton, Chip, CompactChip และ ToggleButton ซึ่งจะช่วยปรับปรุงคอนทราสต์เพื่อการช่วยเหลือพิเศษ (I527cc)

เวอร์ชัน 1.2.0-alpha05

22 กุมภาพันธ์ 2023

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

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

  • อัปเดต PickerGroup API เพื่ออนุญาตให้ส่งต่อข้อจำกัดขั้นต่ำไปยัง Composable โดยไม่บังคับ เมื่อตั้งค่าเป็น "จริง" ระบบจะอนุญาตให้ใช้ข้อจำกัดขั้นต่ำที่ส่งผ่านจาก Composable หลักใน PickerGroup หากตั้งค่าเป็น "เท็จ" PickerGroup จะรีเซ็ตข้อจำกัดขั้นต่ำ (I3e046)
  • เราได้เพิ่ม animateScrollToOption ลงใน Picker API เพื่อรองรับภาพเคลื่อนไหวแบบเป็นโปรแกรมไปยังตัวเลือก Picker ที่เฉพาะเจาะจง (I6fe67)

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

  • เราได้อัปเดต HorizontalPageIndicator เพื่อรองรับเลย์เอาต์จากขวาไปซ้ายแล้ว (Ia4359)
  • เพิ่มการทดสอบภาพหน้าจอสำหรับเลย์เอาต์จากขวาไปซ้ายใน HorizontalPageIndicator (I6fbb8)
  • เพิ่มการทดสอบเพิ่มเติมใน SwipeDismissableNavHostTest ที่ใช้ TestNavHostController (I61d54)

เวอร์ชัน 1.2.0-alpha04

8 กุมภาพันธ์ 2023

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

ฟีเจอร์ใหม่

  • PickerGroup สำหรับการจัดการเครื่องมือเลือกหลายรายการพร้อมกันโดยใช้ Focus API โดยจะจัดการโฟกัสระหว่างเครื่องมือเลือกต่างๆ เปิดใช้การจัดกึ่งกลางอัตโนมัติของเครื่องมือเลือกตามพารามิเตอร์ และอนุญาตให้นักพัฒนาแอปเปลี่ยนโฟกัสระหว่างเครื่องมือเลือกต่างๆ ขณะจัดการเหตุการณ์จากกลุ่ม ในโหมด Talkback PickerGroup จะจัดการโฟกัสของ Talkback โดยการย้ายโฟกัสไปยังเครื่องมือเลือกที่เลือกจากกลุ่ม (I60840)

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

  • เราได้เพิ่มการโอเวอร์โหลดให้กับ Stepper ด้วยพารามิเตอร์ enableRangeSemantics เพิ่มเติมเพื่ออำนวยความสะดวกในการปิดใช้ความหมายของช่วงเริ่มต้น (Ia61d4)

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

  • อนุญาตให้ฝัง ScalingLazyColumn ไว้ในหน้าเว็บที่เลื่อนในแนวนอน (Iec3f8, b/266555016)
  • การปรับปรุง kdoc ของ Stepper และการล้างข้อมูลการทดสอบ StepperTest (Ic118e)
  • อัปเดตการขึ้นต่อกันของ androidx.navigation เป็นเวอร์ชัน 2.5.3 (If58ed)

เวอร์ชัน 1.2.0-alpha03

25 มกราคม 2023

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

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

  • เราได้ย้ายข้อมูล ScalingLazyColumn (และชั้นเรียนที่เกี่ยวข้อง) จาก androidx.wear.compose.material.ScalingLazyColumn ไปยัง andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn แล้ว (ดูตัวอย่างนี้สำหรับการย้ายข้อมูล) ตำแหน่งใหม่นี้จะสอดคล้องกับตำแหน่งของ compose.foundation.lazy.LazyColumn มากขึ้น และดูเป็นธรรมชาติกว่าเนื่องจากไม่ใช่คอมโพเนนต์ Material ที่มีข้อจำกัด การเปลี่ยนแปลงนี้กำลังเกิดขึ้นในขณะนี้เพื่อเตรียมพร้อมสำหรับไลบรารี Material3 ใหม่ ซึ่งเราจะดำเนินการควบคู่ไปกับไลบรารี Material ที่มีอยู่ (I060e7)

การเปลี่ยนแปลงต่อไปนี้เป็นส่วนหนึ่งของการย้ายข้อมูล ScalingLazyColumn จาก Material ไปยัง Foundation.Lazy

  • PositionIndicator API ที่กำหนดเป้าหมายเป็น Material ScalingLazyColumn ได้รับการเลิกใช้งานแล้ว โปรดอัปเดตเป็น Foundation.Lazy ScalingLazyColumn นอกจากนี้ ยังได้เพิ่มฟิลด์ anchorType ลงใน ScalingLazyListLayoutInfo ด้วย (I29d95)
  • ScalingLazyColumn ได้รับการทำเครื่องหมายว่าเลิกใช้งานแล้วในแพ็กเกจ Wear Compose Material (I16d34)
  • เราได้อัปเดตตัวแก้ไข ScrollAway เพื่อใช้ ScalingLazyListState จาก Wear Compose Foundation.Lazy และเลิกใช้งานการโอเวอร์โหลดที่ใช้ ScalingLazyListState จาก Wear Compose Material (Ifc42c)
  • เราได้อัปเดต Dialog API ให้ใช้ ScalingLazyListState จาก Foundation.Lazy และเลิกใช้งานการโอเวอร์โหลดที่ใช้ Material ScalingLazyListState (Ic8960)
  • เราได้อัปเดต Picker API ให้ใช้ ScalingParams จาก Foundation.Lazy และเลิกใช้งานการโอเวอร์โหลดที่ใช้ Material ScalingParams (Idc3d8)

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

  • เราได้แก้ไขข้อบกพร่องที่ทำให้เกิดการจัดองค์ประกอบใหม่ที่ไม่จำเป็นใน ScalingLazyListState.centerItemIndex โดยตรวจสอบว่าระบบจะพุชการอัปเดตก็ต่อเมื่อค่ามีการเปลี่ยนแปลงจริง (Ia9f38)
  • เราได้ปรับปรุงประสิทธิภาพของ SwipeToDismissBox (I3933b)
  • เพิ่มการทดสอบการเปรียบเทียบสำหรับ ScalingLazyColumn ใน Wear Compose Foundation (Ie00f9)
  • เราได้อัปเดตเมธอดของคลาส ScalingLazyColumn ภายในบางรายการใน Material เพื่อใช้เมธอดที่เทียบเท่าจาก Foundation.Lazy (I38aab)
  • เราได้แก้ไขปัญหาบางอย่างในการทดสอบ Picker และเพิ่มการทดสอบเพิ่มเติมเพื่อตรวจสอบการเลื่อนด้วยออฟเซ็ต (I6ac34)
  • เราได้ย้ายข้อมูลScalingLazyColumnการสาธิตการผสานรวมให้ขึ้นอยู่กับ Foundation.Lazy แทนที่จะเป็น Material ScalingLazyColumn (Ic6caa)
  • เราได้เพิ่มพารามิเตอร์ fromDate/toDate ที่ไม่บังคับลงในเดโม DatePicker (I961cd)

เวอร์ชัน 1.2.0-alpha02

11 มกราคม 2023

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

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

  • ตอนนี้การทดสอบ UI ของ Android Compose จะเรียกใช้การส่งผ่านเลย์เอาต์สำหรับแต่ละเฟรมเมื่อดำเนินการเฟรมเพื่อให้เข้าสู่สถานะว่าง (เช่น ผ่าน waitForIdle) ซึ่งอาจส่งผลต่อการทดสอบที่ยืนยันในแต่ละเฟรมของภาพเคลื่อนไหวเลย์เอาต์ (I8ea08, b/222093277)
  • เพิ่มพารามิเตอร์ minLines ลงในข้อความ Wear เพื่อให้มีลักษณะการทำงานที่สอดคล้องกับ BasicText (I24874)
  • CompactChipTapTargetPadding ได้รับการเผยแพร่ต่อสาธารณะเพื่อให้ปรากฏในเอกสารประกอบ (If1e70, b/234119038)

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

  • ปิดใช้การสร้างหลายแพลตฟอร์มสำหรับแพ็กเกจ wear.compose (Iad3d7)
  • แก้ไข kdocs สำหรับ scrollToOption (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() อัปเดตให้ใช้ rememberUpdatedState เพื่อให้สถานะจะอัปเดตหากเป็น Lambda onContentReady (I02635, b/260343754)
  • เราได้แก้ไขปัญหาข้อความสั่นที่พบในคอมโพเนนต์ Picker โดยใช้ประโยชน์จากกลยุทธ์การคอมโพสิตใหม่ที่เพิ่มลงใน Modifier.graphicsLayer (I99302)
  • เราได้แก้ไขข้อบกพร่องที่ทำให้เกิดการกะพริบในเดโม DatePicker (I660bd)
  • เราได้ปรับปรุงการช่วยเหลือพิเศษสำหรับการสาธิตเครื่องมือเลือกวันที่และเวลาแบบ 12 ชั่วโมง (I05e12)
  • เราได้อัปเดตการสาธิตเครื่องมือเลือกเวลาและวันที่เพื่อให้เครื่องมือเลือกไม่ได้รับผลกระทบจากการเปลี่ยนแปลง RSB เมื่อไม่ได้เลือก (I4aecb)

เวอร์ชัน 1.2.0-alpha01

7 ธันวาคม 2022

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

ฟีเจอร์ใหม่

  • เราได้อัปเดตฟังก์ชันการทำงานของตัวยึดตำแหน่งเวอร์ชันทดลองเพื่อให้ระบบใช้เอฟเฟกต์ "เช็ดออก" ทันทีเมื่อเนื้อหาพร้อมแทนที่จะรอให้ลูปภาพเคลื่อนไหวถัดไปเริ่ม นอกจากนี้ เรายังได้อัปเดตภาพเคลื่อนไหวแบบกากเพชรและแบบเช็ดออกด้วย (I5a7f4)

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

  • เราได้เพิ่ม HierarchicalFocusCoordinatorComposable เพื่อให้ทำเครื่องหมาย Sub-Tree ของ Composition เป็น Focus Enabled หรือ Focus Disabled ได้(I827cb)
  • เราได้เพิ่มพร็อพเพอร์ตี้ใหม่เพื่อลบล้างบทบาทเชิงความหมายสำหรับ ToggleButton.(I67132)
  • เราได้อัปเดต TimeTextDefaults.TimeFormat12Hours เพื่อนำ AM/PM ออกจาก TimeText แล้ว ซึ่งจะเปลี่ยนค่าเริ่มต้นของพารามิเตอร์ timeSource ใน TimeText API (I1eb7f)
  • เราได้ขยาย Picker API เพื่อปรับปรุงการช่วยเหลือพิเศษสำหรับหน้าจอที่มีเครื่องมือเลือกหลายรายการ มีพร็อพเพอร์ตี้ใหม่ userScrollEnabled เพื่อควบคุมว่าเครื่องมือเลือกจะทำงานเมื่อผู้ใช้เลื่อนหรือไม่ (I3c3aa)

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

  • เราได้เปลี่ยนความกว้างของเส้นขอบเริ่มต้นสำหรับ OutlinedButton/OutlinedCompactButton จาก 2.dp เป็น 1.dp เพื่อให้ตรงกับข้อกำหนด UX สุดท้าย (Icf84d)
  • เราได้เพิ่ม autoCentering topPadding โดยประมาณเมื่อไม่มีเนื้อหา เพื่อลดผลกระทบของรายการแรกที่เพิ่มลงใน ScalingLazyColumn ว่างเปล่าที่ดูเหมือนจะเลื่อนเข้าที่ การเปลี่ยนแปลงนี้จะคำนวณจำนวนการเว้นที่ว่างด้านบนที่จำเป็นโดยถือว่ารายการเริ่มต้นมีความสูง 0.dp สำหรับ ScalingLazyListAnchorType.ItemStart ระบบจะคำนวณระยะห่างจากขอบด้านบนที่ถูกต้อง แต่สำหรับ ScalingLazyListAnchorType.ItemCenter การคำนวณนี้จะไม่ถูกต้องเนื่องจากต้องใช้ความสูงของรายการเพื่อปรับขนาดเนื้อหาอย่างถูกต้อง ซึ่งจะส่งผลให้เกิดการเลื่อนเล็กน้อยไปยังตำแหน่งที่ต้องการโดยอิงตามความสูงจริงของรายการ (I239a4)
  • เราได้ปรับปรุงเลเยอร์พื้นหลังที่ใช้กับSwipeToDismissภาพเคลื่อนไหวให้ตรงกับแพลตฟอร์ม Wear (I9003e)
  • เราได้แก้ไขการจัดการ PositionIndicator ของ LazyListState และ ScalingLazyListState สำหรับรายการที่มีขนาด 0 เพื่อหลีกเลี่ยงข้อผิดพลาดในการหารด้วย 0 (Ic28dd)

เวอร์ชัน 1.1

เวอร์ชัน 1.1.2

8 กุมภาพันธ์ 2023

androidx.wear.compose:compose-foundation:1.1.2 androidx.wear.compose:compose-material:1.1.2 และ androidx.wear.compose:compose-navigation:1.1.2 ออกอากาศแล้ว เวอร์ชัน 1.1.2 มีคอมมิตเหล่านี้

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

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

เวอร์ชัน 1.1.1

11 มกราคม 2023

androidx.wear.compose:compose-foundation:1.1.1 androidx.wear.compose:compose-material:1.1.1 และ androidx.wear.compose:compose-navigation:1.1.1 ออกอากาศแล้ว เวอร์ชัน 1.1.1 มีคอมมิตเหล่านี้

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

  • PlaceholderState.rememberPlaceholderState() อัปเดตให้ใช้ rememberUpdatedState เพื่อให้สถานะจะอัปเดตหากเป็น Lambda onContentReady (I02635, b/260343754)

เวอร์ชัน 1.1.0

7 ธันวาคม 2022

androidx.wear.compose:compose-foundation:1.1.0 androidx.wear.compose:compose-material:1.1.0 และ androidx.wear.compose:compose-navigation:1.1.0 ออกอากาศแล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้

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

ฟีเจอร์ใหม่

  • เราได้อัปเดตฟังก์ชันการทำงานของตัวยึดตำแหน่งเวอร์ชันทดลองเพื่อให้ระบบใช้เอฟเฟกต์ "เช็ดออก" ทันทีเมื่อเนื้อหาพร้อมแทนที่จะรอให้ลูปภาพเคลื่อนไหวถัดไปเริ่ม นอกจากนี้ เรายังได้อัปเดตภาพเคลื่อนไหวแบบกากเพชรและแบบเช็ดออกด้วย (I5a7f4)

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

  • เราได้เปลี่ยนความกว้างของเส้นขอบเริ่มต้นสำหรับ OutlinedButton/OutlinedCompactButton จาก 2.dp เป็น 1.dp เพื่อให้ตรงกับข้อกำหนด UX สุดท้าย (Icf84d)
  • เราได้เพิ่ม autoCentering topPadding โดยประมาณเมื่อไม่มีเนื้อหา เพื่อลดผลกระทบของรายการแรกที่เพิ่มลงใน ScalingLazyColumn ว่างเปล่าที่ดูเหมือนจะเลื่อนเข้าที่ การเปลี่ยนแปลงนี้จะคำนวณจำนวนการเว้นที่ว่างด้านบนที่จำเป็นโดยถือว่ารายการเริ่มต้นมีความสูง 0.dp สำหรับ ScalingLazyListAnchorType.ItemStart ระบบจะคำนวณระยะห่างจากขอบด้านบนที่ถูกต้อง แต่สำหรับ ScalingLazyListAnchorType.ItemCenter การคำนวณนี้จะไม่ถูกต้องเนื่องจากต้องใช้ความสูงของรายการเพื่อปรับขนาดเนื้อหาอย่างถูกต้อง ซึ่งจะส่งผลให้เกิดการเลื่อนเล็กน้อยไปยังตำแหน่งที่ต้องการโดยอิงตามความสูงจริงของรายการ (I239a4)
  • เราได้อัปเดตเลเยอร์พื้นหลังที่ใช้กับภาพเคลื่อนไหว SwipeToDismiss ให้ตรงกับแพลตฟอร์ม Wear แล้ว(I9003e)
  • เราได้แก้ไขการจัดการ PositionIndicator ของ LazyListState และ ScalingLazyListState สำหรับรายการที่มีขนาด 0 เพื่อหลีกเลี่ยงข้อผิดพลาดในการหารด้วย 0 (Ic28dd)

เวอร์ชัน 1.1.0-rc01

9 พฤศจิกายน 2022

androidx.wear.compose:compose-foundation:1.1.0-rc01 androidx.wear.compose:compose-material:1.1.0-rc01 และ androidx.wear.compose:compose-navigation:1.1.0-rc01 ออกอากาศแล้ว เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้

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

  • เราได้เพิ่มกฎโปรไฟล์พื้นฐานสำหรับ Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip และ OutlinedCompactChip (I8249c)
  • เราได้แก้ไขข้อบกพร่องใน Modifier.scrollAway เพื่อให้หาก itemIndex ที่ระบุไม่ถูกต้อง (เช่น หากดัชนีรายการนั้นอยู่นอกช่วง) ระบบจะยังคงแสดง TimeText (I2137a)
  • เราได้อัปเดตSwipeToDismissBoxภาพเคลื่อนไหวให้สอดคล้องกับการติดตั้งใช้งานแพลตฟอร์ม หลังจากภาพเคลื่อนไหวการบีบครั้งแรก ตอนนี้หน้าจอจะเลื่อนออกไปทางขวาเมื่อมีการทริกเกอร์การปิด (I41d34)
  • เราได้อัปเดต Modifier.scrollAway เพื่ออ่านเฉพาะ scrollState ภายในบล็อกการวัดเพื่อหลีกเลี่ยงการจัดองค์ประกอบตัวแก้ไขใหม่หลังจากการวัดใหม่แต่ละครั้ง (I4c6f1)
  • เราได้เพิ่มเอกสารประกอบและตัวอย่างลงในตัวยึดตำแหน่งเพื่อแสดงลำดับที่ถูกต้องสำหรับ Modifier.placeholder และ Modifier.placeholderShimmer เมื่อใช้กับ Composable เดียวกัน (Ie96f4, b/256583229)
  • เราได้เปลี่ยนความกว้างของเส้นขอบเริ่มต้นสำหรับ OutlinedCompactChip/OutlinedChip จาก 2.dp เป็น 1.dp เพื่อให้ตรงกับข้อกำหนด UX สุดท้าย (Ib3d8e)
  • เราได้แก้ไขข้อบกพร่องใน rememberPickerState ซึ่งทำให้ระบบไม่บันทึกอินพุตที่อัปเดต ดังนั้น Composable จึงไม่อัปเดตหลังจากมีการเปลี่ยนแปลงอินพุต (I49ff6, b/255323197)
  • เราได้ทำการอัปเดต UI บางอย่างกับตัวยึดตำแหน่ง ได้แก่ 1) เปลี่ยนการไล่ระดับสีระยิบระยับเป็น 1.5 เท่าของขนาดหน้าจอ 2) เพิ่มการผ่อนแรง (Cubic Bezier) ของความคืบหน้าของการระยิบระยับ และ 3) เร่งภาพเคลื่อนไหวการลบออก (250 มิลลิวินาที) (Id29c1)
  • เราได้แก้ไขข้อบกพร่องของ UI ในเอฟเฟกต์การลบออกของตัวยึดตำแหน่งที่พื้นหลังของชิปและการ์ดถูกลบออกเร็วกว่าปกติเล็กน้อยเนื่องจากไม่ได้คำนึงถึงตำแหน่งของคอมโพเนนต์บนหน้าจอ (I2c7cb)
  • เราได้อัปเดตการวาดพื้นหลังของตัวยึดตำแหน่งให้ผสานสีแทนที่จะซ้อนเลเยอร์หากเป็นไปได้ เพื่อลดความเสี่ยงของการผสมอัลฟ่าของเลเยอร์ที่ครอบตัดต่างๆ จากการอนุญาตให้สีพื้นฐานซึมผ่านที่ขอบพื้นหลังของตัวยึดตำแหน่ง (I2ea26)
  • เราได้แก้ไขการคำนวณ ScalingLazyListState.centerItemIndex/centerItemOffset เพื่อให้หากมีสินค้า 2 รายการอยู่ทั้ง 2 ด้านของเส้นกึ่งกลางของวิวพอร์ต ระบบจะพิจารณาสินค้าที่อยู่ใกล้ที่สุดเป็น centerItem (I30709, b/254257769)
  • เราได้แก้ไขข้อบกพร่องใน ScalingLazyListState.layoutInfo.visibleItemsInfo ซึ่งรายงานออฟเซ็ตไม่ถูกต้องระหว่างการเริ่มต้น ScalingLazyColumn ตอนนี้ระบบจะแสดงรายการที่ว่างเปล่าจนกว่ารายการทั้งหมดจะปรากฏและมีออฟเซ็ตที่ถูกต้อง การตรวจสอบ ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() จะยืนยันว่าการเริ่มต้น ScalingLazyColumn เสร็จสมบูรณ์และมองเห็นรายการได้ (I3a3b8)

เวอร์ชัน 1.1.0-beta01

24 ตุลาคม 2022

androidx.wear.compose:compose-foundation:1.1.0-beta01 androidx.wear.compose:compose-material:1.1.0-beta01 และ androidx.wear.compose:compose-navigation:1.1.0-beta01 ออกอากาศแล้ว เวอร์ชัน 1.1.0-beta01 มีคอมมิตเหล่านี้

มีอะไรใหม่ใน Compose สำหรับ Wear OS 1.1

Compose for Wear OS เวอร์ชัน 1.1.0-beta01 ระบุว่าไลบรารีรุ่นนี้มีฟีเจอร์ครบถ้วนและ API ล็อกแล้ว

  • Wear Compose เวอร์ชัน 1.1 มาพร้อมฟังก์ชันใหม่ต่อไปนี้
    • เครื่องมือเลือก - ปรับปรุงการช่วยเหลือพิเศษในเครื่องมือเลือกเพื่อให้หน้าจอเครื่องมือเลือกหลายรายการนำทางได้ด้วยโปรแกรมอ่านหน้าจอและเข้าถึงคำอธิบายเนื้อหาได้
    • ตอนนี้ระบบจะใช้พารามิเตอร์ Picker contentDescription สำหรับตัวเลือก Picker ที่เลือกเท่านั้น และใช้ String ที่เป็น Null ได้ (ในการคอมมิตก่อนหน้านี้ คุณต้องส่งการแมปจากตัวเลือกไปยังคำอธิบายเนื้อหา แต่ระบบจะใช้เฉพาะตัวเลือกที่เลือกเท่านั้น)
    • ตอนนี้รายการในเครื่องมือเลือกจะจัดกึ่งกลางเสมอ ซึ่งแก้ไขข้อบกพร่องที่การตั้งค่า gradientRatio เป็น 0 ส่งผลให้การจัดแนวเปลี่ยนไปด้วย
    • Chip/ToggleChip - เราได้อัปเดตกราเดียนต์เริ่มต้นสำหรับ Chip/ToggleChip เพื่อให้สอดคล้องกับข้อกำหนด UX ล่าสุด ChipDefaults.gradientBackgroundChipColors ได้รับการอัปเดตให้เริ่มจาก 50% ของสีหลักแทนที่จะเป็น 32.5%
    • Chip/ToggleChip - เพิ่มการโอเวอร์โหลดสำหรับการแก้ไขรูปร่างชิป
    • Chip/Button/ToggleButton - เพิ่มสไตล์ใหม่แบบมีเส้นขอบสำหรับชิปและปุ่ม รวมถึง Composable ใหม่ OutlinedChip และ OutlinedButton ที่ให้ Chip/Button แบบโปร่งใสที่มีเส้นขอบบาง
    • การ์ด - อัปเดตการไล่ระดับสีเริ่มต้นสำหรับการ์ดเพื่อให้สอดคล้องกับข้อกำหนด UX ล่าสุด CardDefaults.cardBackgroundPainter ได้รับการอัปเดตให้เริ่มต้นจาก 30% ของสีหลักและสิ้นสุดที่ 20% ของ onSurfaceVariant (ก่อนหน้านี้คือ 20% ถึง 10% onSurfaceVariant) ToggleChip.toggleChipColors เปลี่ยนจากการไล่ระดับสีแบบเส้นตรงจากพื้นผิว 75% เป็นสีหลัก 32.5% เป็นพื้นผิว 0% เป็นสีหลัก 50%
    • Button/ToggleButton - เพิ่มพร็อพเพอร์ตี้สำหรับการแก้ไขรูปร่างปุ่ม
    • ธีม - อัปเดตสีเริ่มต้นจำนวนหนึ่งใน MaterialTheme เพื่อปรับปรุงการช่วยเหลือพิเศษ เนื่องจากสีเดิมมีคอนทราสต์ไม่เพียงพอ ทำให้ผู้ใช้แยกความแตกต่างระหว่างพื้นหลังของชิป/การ์ด/ปุ่มกับสีพื้นหลังของธีมได้ยาก
    • InlineSlider/Stepper - เพิ่มบทบาทของปุ่มเพื่อให้ Talkback ระบุปุ่มได้
    • Scaffold - PositionIndicator ตอนนี้จะอยู่ในตำแหน่งและมีขนาดที่ใช้พื้นที่เท่าที่จำเป็นเท่านั้น ซึ่งจะมีประโยชน์ เช่น หากมีการเพิ่มข้อมูลเชิงความหมายลงในปุ่ม TalkBack จะได้รับขอบเขตที่ถูกต้องของ PositionIndicator บนหน้าจอ
    • CurvedText/TimeText - เพิ่ม Modifier.scrollAway ซึ่งเลื่อนรายการเข้า/ออกจากมุมมองในแนวตั้งตามสถานะการเลื่อน (มีการโอเวอร์โหลดเพื่อให้ทำงานร่วมกับ Column, LazyColumn และ ScalingLazyColumn) โดยปกติแล้ว ScrollAway จะใช้เพื่อเลื่อน TimeText ออกจากมุมมองเมื่อผู้ใช้เริ่มเลื่อนรายการขึ้น
    • CurvedText/TimeText - เพิ่มการรองรับ fontFamily, fontStyle และ fontSynthesis ใน CurvedTextStyle ซึ่งใช้ได้ใน curvedText และ basicCurvedText
    • CurvedText/TimeText - เพิ่ม fontWeight ลงในตัวสร้างและวิธีการคัดลอกใน CurvedTextStyle
    • ToggleControls - เพิ่มตัวควบคุมการเปิด/ปิด Checkbox, Switch และ RadioButton แบบเคลื่อนไหวสำหรับใช้กับ ToggleChip และ SplitToggleChip คุณสามารถใช้ไอคอนเหล่านี้แทนไอคอนแบบคงที่ที่ ToggleChipDefaults (switchIcon, checkboxIcon และ radioIcon) ให้ไว้ได้
    • ตัวยึดตำแหน่ง - เพิ่มการรองรับตัวยึดตำแหน่งเวอร์ชันทดลอง ซึ่งมีเอฟเฟกต์ภาพ 3 แบบที่แตกต่างกันซึ่งออกแบบมาให้ทำงานร่วมกัน
    • ขั้นแรกคือเอฟเฟกต์แปรงพื้นหลังตัวยึดตำแหน่งที่ใช้ในคอนเทนเนอร์ เช่น ชิปและการ์ด เพื่อวาดทับพื้นหลังปกติเมื่อรอให้เนื้อหาโหลด
    • ประการที่สองคือตัวแก้ไข (Modifier.placeholder()) เพื่อวาดวิดเจ็ตตัวยึดตำแหน่งรูปทรงสนามกีฬาไว้เหนือเนื้อหาที่กำลังโหลด
    • ประการที่สามคือเอฟเฟกต์การไล่ระดับ/การสั่นไหวของตัวแก้ไข (Modifier.placeholderShimmer()) ซึ่งวาดทับเอฟเฟกต์อื่นๆ เพื่อระบุให้ผู้ใช้ทราบว่าเรากำลังรอให้ระบบโหลดข้อมูล
      • เอฟเฟกต์ทั้งหมดนี้ออกแบบมาให้ประสานงานและส่องประกาย รวมถึงเช็ดออกได้อย่างเป็นระเบียบ
  • อัปเดตทรัพยากร Dependency หลักของ Compose จาก 1.2 เป็น 1.3

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

  • ตอนนี้คุณระบุพารามิเตอร์แบบอักษร (fontFamily, fontWeight, fontStyle และ fontSynthesis) ได้โดยตรงเป็นพารามิเตอร์ของ curvedText (Idc422)

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

  • curveText และ basicCurvedText จะทำงานร่วมกับ Talkback ได้อย่างถูกต้องแล้ว (มีโหนด Compose-UI ที่มีขนาดและตำแหน่งที่เหมาะสม (แต่ว่างเปล่า) ซึ่งเชื่อมโยงกับโหนดเหล่านั้น โดยใช้ข้อความเป็นคำอธิบายเนื้อหา) (I7af7c, b/210721259)
  • แก้ไขข้อบกพร่องใน Picker เมื่อ PickerState.repeatedItems = false เพื่อเพิ่มการตั้งค่าที่ชัดเจนของพารามิเตอร์ autoCentering ใน ScalingLazyColumn ภายในของ Picker เพื่อให้มั่นใจว่าสามารถเลื่อนตัวเลือกที่ 0 ไปยังกึ่งกลางของมุมมองได้ (I8a4d7)

เวอร์ชัน 1.1.0-alpha07

5 ตุลาคม 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha07 androidx.wear.compose:compose-material:1.1.0-alpha07 และ androidx.wear.compose:compose-navigation:1.1.0-alpha07 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha07 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เราได้เพิ่มการรองรับตัวยึดตำแหน่งเวอร์ชันทดลองแล้ว ซึ่งมีเอฟเฟกต์ภาพ 3 แบบที่แตกต่างกันซึ่งออกแบบมาให้ทำงานร่วมกัน ขั้นแรกคือเอฟเฟกต์แปรงพื้นหลังตัวยึดตำแหน่งที่ใช้ในคอนเทนเนอร์ เช่น ชิปและการ์ด เพื่อวาดทับพื้นหลังปกติเมื่อรอให้เนื้อหาโหลด ประการที่สองคือตัวแก้ไข (Modifier.placeholder()) เพื่อวาดวิดเจ็ตตัวยึดตำแหน่งรูปทรงสนามกีฬาไว้เหนือเนื้อหาที่กำลังโหลด ประการที่สามคือเอฟเฟกต์การไล่ระดับ/การสั่นไหวของตัวแก้ไข (Modifier.placeholderShimmer()) ซึ่งวาดทับเอฟเฟกต์อื่นๆ เพื่อระบุให้ผู้ใช้ทราบว่าเรากำลังรอให้ระบบโหลดข้อมูล เอฟเฟกต์ทั้งหมดนี้ออกแบบมาให้ประสานงานและส่องประกาย รวมถึงเช็ดออกได้อย่างเป็นระเบียบ (I3c339)

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

  • เพิ่มการรองรับ fontWeight, fontFamily, fontStyle และ fontSynthesis ใน CurvedTextStyle ซึ่งใช้ได้ใน curvedText และ basicCurvedText พารามิเตอร์ดังกล่าวสามารถใช้เพื่อระบุแบบอักษรและสไตล์ที่จะใช้กับข้อความโค้งได้(Iaa1a8),(I72759)
  • อัปเดตพารามิเตอร์ออฟเซ็ตของ Modifier.scrollAway เป็น Dp เพื่อให้สอดคล้องกับ Modifier.offset (ก่อนหน้านี้เป็นพิกเซล) นอกจากนี้ ยังมีการปรับโครงสร้างใหม่เป็น LayoutModifier เพื่อประสิทธิภาพ (I9f94b)
  • เราได้เปลี่ยนชื่อ RadioButton’s circleColor เป็น ringColor ซึ่งเป็นส่วนหนึ่งของ API การควบคุมการเปิด/ปิดใหม่ (I28fa9)
  • เราได้เพิ่มตัวควบคุมการเปิด/ปิด Checkbox, Switch และ RadioButton แบบเคลื่อนไหวเพื่อใช้กับ ToggleChip และ SplitToggleChip คุณสามารถใช้ไอคอนเหล่านี้แทนไอคอนแบบคงที่ที่ ToggleChipDefaults (switchIcon, checkboxIcon และ radioIcon) จัดหาให้ได้ (I8a8c4)

เวอร์ชัน 1.1.0-alpha06

21 กันยายน 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha06 androidx.wear.compose:compose-material:1.1.0-alpha06 และ androidx.wear.compose:compose-navigation:1.1.0-alpha06 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha06 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เราได้เพิ่ม Modifier.scrollAway ซึ่งจะเลื่อนรายการเข้า/ออกจากมุมมองในแนวตั้งตามสถานะการเลื่อน (มีการโอเวอร์โหลดเพื่อให้ทำงานร่วมกับ Column, LazyColumn และ ScalingLazyColumn) โดยปกติแล้ว ScrollAway จะใช้เพื่อเลื่อน TimeText ออกจากมุมมองเมื่อผู้ใช้เริ่มเลื่อนรายการขึ้น (I61766)

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

  • ตอนนี้ PositionIndicator จะมีตำแหน่งและขนาดที่ใช้พื้นที่เท่าที่จำเป็นเท่านั้น ซึ่งจะมีประโยชน์ เช่น หากมีการเพิ่มข้อมูลเชิงความหมายลงในปุ่ม TalkBack จะได้รับขอบเขตที่ถูกต้องของ PositionIndicator บนหน้าจอ (Ie6106, b/244409133)

เวอร์ชัน 1.1.0-alpha05

7 กันยายน 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha05 androidx.wear.compose:compose-material:1.1.0-alpha05 และ androidx.wear.compose:compose-navigation:1.1.0-alpha05 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha05 มีคอมมิตเหล่านี้

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

  • เพิ่มบทบาทของปุ่มลงใน InlineSlider และ Stepper เพื่อให้ Talkback รู้จักปุ่มเหล่านั้น (Icb46c, b/244260275)
  • เราได้แก้ไขลำดับ Z ของตัวบ่งชี้ตำแหน่งและหน้าใน Scaffold แล้ว ตอนนี้ตัวบ่งชี้จะอยู่เหนือภาพขนาดย่อ จึงจะไม่ถูกภาพขนาดย่อบดบังหากมีภาพขนาดย่อ (Ib988f, b/244207528)

เวอร์ชัน 1.1.0-alpha04

24 สิงหาคม 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha04 androidx.wear.compose:compose-material:1.1.0-alpha04 และ androidx.wear.compose:compose-navigation:1.1.0-alpha04 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha04 มีคอมมิตเหล่านี้

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

  • เราได้อัปเดตสีเริ่มต้นหลายสีใน MaterialTheme เพื่อปรับปรุงการช่วยเหลือพิเศษ เนื่องจากสีเดิมมีคอนทราสต์ไม่เพียงพอ ทำให้ผู้ใช้แยกความแตกต่างระหว่างพื้นหลังของชิป/การ์ด/ปุ่มกับสีพื้นหลังของธีมได้ยาก สีที่อัปเดตคือ surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) และ onError(0xFF202124->0xFF000000) แม้ว่าการเปลี่ยนแปลงสีจะค่อนข้างเล็กน้อย แต่ก็อาจส่งผลต่อการทดสอบภาพหน้าจอที่มีอยู่ (81ab09)

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

  • แก้ไขข้อบกพร่องทางตรรกะใน ScalingLazyColumn ซึ่งอาจทำให้รายการที่มีจำนวนรายการน้อย (โดยปกติคือ 2 รายการ) ไม่สามารถเริ่มต้นได้และแสดงผลแบบโปร่งใส (504347)

เวอร์ชัน 1.1.0-alpha03

10 สิงหาคม 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha03 androidx.wear.compose:compose-material:1.1.0-alpha03 และ androidx.wear.compose:compose-navigation:1.1.0-alpha03 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha03 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เราได้เพิ่มสไตล์ใหม่แบบมีเส้นขอบสำหรับ Chips และ Buttons รวมถึง Composable ใหม่ OutlinedChip และ OutlinedButton ที่ให้ Chip/Button แบบโปร่งใสที่มีเส้นขอบบาง (Id5972)

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

  • เพิ่มการโอเวอร์โหลดสำหรับการแก้ไขรูปร่างปุ่ม (Icccde)

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

  • เราได้แก้ไขขนาดของพื้นที่ควบคุมการสลับของ ToggleChip เนื่องจากไม่ตรงกับข้อกำหนด UX ข้อกำหนด UX ระบุว่าควรมีตัวเว้นวรรค 4.dp ระหว่างป้ายกำกับกับพื้นที่ไอคอนควบคุมการสลับขนาด 24x24.dp ซึ่งทำให้มีความกว้างรวม 28.dp อย่างไรก็ตาม การติดตั้งใช้งานให้พื้นที่ควบคุมการสลับเป็น 36x24.dp อย่างไม่ถูกต้อง ซึ่งจะส่งผลให้พื้นที่ป้ายกำกับข้อความที่ใช้ได้ลดลง 8dp หมายเหตุ: การแก้ไขข้อบกพร่องนี้จะเพิ่มพื้นที่สำหรับป้ายกำกับข้อความ และส่งผล (ในเชิงบวก) ต่อเลย์เอาต์ข้อความสำหรับข้อความที่ล้น หากคุณมีการทดสอบภาพหน้าจอซึ่งรวมถึง ToggleChips คุณอาจต้องอัปเดตการทดสอบ (I514c8, b/240548670)

เวอร์ชัน 1.1.0-alpha02

27 กรกฎาคม 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha02 androidx.wear.compose:compose-material:1.1.0-alpha02 และ androidx.wear.compose:compose-navigation:1.1.0-alpha02 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha02 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เราได้เปลี่ยนทรัพยากร Dependency ของ Compose สำหรับ Wear OS ในไลบรารี Compose หลักจาก 1.2.0 เป็น 1.3.0-alpha0X

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

  • เพิ่มการโอเวอร์โหลดสำหรับการแก้ไขรูปร่างชิป (I02e87)

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

  • เราได้สร้างภาพเคลื่อนไหวให้การมองเห็นของภาพขอบมืดเมื่อแสดง/ซ่อนกล่องโต้ตอบให้สอดคล้องกับภาพเคลื่อนไหวการปรับขนาดที่มีอยู่ (Ida33e)
  • เราได้แก้ไขข้อบกพร่องที่อาจทำให้เกิดการหารด้วย 0 เมื่อเลื่อนด้วยการปัด (I86cb6)
  • แก้ไขข้อบกพร่องใน ChipDefaults.childChipColor() เพื่อให้แน่ใจว่าสีพื้นหลังที่ปิดใช้จะโปร่งใสอย่างสมบูรณ์ (I2b3c3, b/238057342)

เวอร์ชัน 1.1.0-alpha01

29 มิถุนายน 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha01 androidx.wear.compose:compose-material:1.1.0-alpha01 และ androidx.wear.compose:compose-navigation:1.1.0-alpha01 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha01 มีคอมมิตเหล่านี้

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

  • ตอนนี้ระบบจะใช้พารามิเตอร์ contentDescription ของ Picker สำหรับตัวเลือก Picker ที่เลือกเท่านั้น และใช้ String ที่เป็น Null ได้ (ก่อนหน้านี้จำเป็นต้องส่งการแมปจากตัวเลือกไปยังคำอธิบายเนื้อหา แต่ระบบจะใช้เฉพาะตัวเลือกที่เลือกเท่านั้น) (Ife6a7)
  • เราได้ปรับปรุงการช่วยเหลือพิเศษในเครื่องมือเลือกเพื่อให้หน้าจอแบบหลายเครื่องมือเลือกสามารถไปยังส่วนต่างๆ ได้ด้วยโปรแกรมอ่านหน้าจอ และสามารถเข้าถึงคำอธิบายเนื้อหาได้ (I64edb)

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

  • เราได้อัปเดตกฎโปรไฟล์พื้นฐานที่มาพร้อมกับไลบรารี Wear Compose (I9c694)
  • เราได้แก้ไขทิศทางของการไล่ระดับสีสำหรับชิปในโหมดจากขวาไปซ้ายแล้ว จากบนซ้ายไปล่างขวา ตอนนี้เป็นจากบนขวาไปล่างซ้าย (Ic2e77)
  • เราได้อัปเดตการไล่ระดับสีเริ่มต้นสำหรับ Chip/ToggleChip/Card เพื่อให้สอดคล้องกับข้อกำหนด UX ล่าสุด ChipDefaults.gradientBackgroundChipColors ได้รับการอัปเดตให้เริ่มจาก 50% ของสีหลักแทนที่จะเป็น 32.5% CardDefaults.cardBackgroundPainter ได้รับการอัปเดตให้เริ่มจาก 30% ของสีหลักและสิ้นสุดที่ 20% ของ onSurfaceVariant (เดิมคือ 20% ถึง 10% onSurfaceVariant) ToggleChip.toggleChipColors เปลี่ยนจากการไล่ระดับสีเชิงเส้นจากพื้นผิว 75% เป็นสีหลัก 32.5% เป็นพื้นผิว 0% เป็นสีหลัก 50% (I43bbd)
  • เราได้เพิ่มสีพื้นหลัง (MaterialTheme.color.surface) ด้านหลัง Chip/ToggleChips ที่มีพื้นหลังแบบไล่ระดับสีเพื่อให้แน่ใจว่ามองเห็นได้อย่างถูกต้องในกรณีที่ใช้สีอ่อนเป็นพื้นหลัง (Ibe1a4, b/235937657)
  • ตอนนี้รายการในเครื่องมือเลือกจะจัดกึ่งกลางเสมอ ซึ่งแก้ไขข้อบกพร่องที่การตั้งค่า gradientRatio เป็น 0 ส่งผลให้การจัดแนวเปลี่ยนไปด้วย (I712b8)

รุ่น 1.0

เวอร์ชัน 1.0.2

7 กันยายน 2022

androidx.wear.compose:compose-foundation:1.0.2 androidx.wear.compose:compose-material:1.0.2 และ androidx.wear.compose:compose-navigation:1.0.2 ออกอากาศแล้ว เวอร์ชัน 1.0.2 มีคอมมิตเหล่านี้

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

  • เราได้แก้ไขลำดับ Z ของตัวบ่งชี้ตำแหน่งและหน้าใน Scaffold แล้ว ตอนนี้ตัวบ่งชี้จะอยู่เหนือภาพขนาดย่อ จึงจะไม่ถูกภาพขนาดย่อบดบังหากมีภาพขนาดย่อ (Ib988f, b/244207528)

เวอร์ชัน 1.0.1

24 สิงหาคม 2022

androidx.wear.compose:compose-foundation:1.0.1 androidx.wear.compose:compose-material:1.0.1 และ androidx.wear.compose:compose-navigation:1.0.1 ออกอากาศแล้ว เวอร์ชัน 1.0.1 มีคอมมิตเหล่านี้

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

  • แก้ไขข้อบกพร่องทางตรรกะใน ScalingLazyColumn ซึ่งอาจทำให้รายการที่มีจำนวนรายการน้อย (โดยปกติคือ 2 รายการ) ไม่สามารถเริ่มต้นได้และแสดงผลแบบโปร่งใส (076c61)

เวอร์ชัน 1.0.0

27 กรกฎาคม 2022

androidx.wear.compose:compose-foundation:1.0.0 androidx.wear.compose:compose-material:1.0.0 และ androidx.wear.compose:compose-navigation:1.0.0 ออกอากาศแล้ว เวอร์ชัน 1.0.0 มีคอมมิตเหล่านี้

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

  • นี่คือรุ่นเสถียรแรกของ Compose สำหรับ Wear OS (อ่านเพิ่มเติม)
  • Compose สำหรับ Wear OS สร้างขึ้นจากไลบรารีหลักของ Compose โดยมีคอมโพเนนต์เพิ่มเติมที่เฉพาะเจาะจงสำหรับอุปกรณ์ที่สวมใส่ได้ และมีการใช้งานทางเลือกของคอมโพเนนต์หลักของ Compose ที่ปรับแต่งให้เหมาะกับอุปกรณ์ที่สวมใส่ได้ (หากมี)
  • ดูรายการคอมโพเนนต์หลักใน Wear Compose ได้ที่บันทึกประจำรุ่นสำหรับ (Compose สำหรับ Wear OS Beta01)

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

  • เราได้สร้างภาพเคลื่อนไหวให้การมองเห็นของภาพขอบมืดเมื่อแสดง/ซ่อนกล่องโต้ตอบให้สอดคล้องกับภาพเคลื่อนไหวการปรับขนาดที่มีอยู่ (Ida33e)
  • เราได้แก้ไขข้อบกพร่องที่อาจทำให้เกิดการหารด้วย 0 เมื่อเลื่อนด้วยการปัด (I86cb6)
  • แก้ไขข้อบกพร่องใน ChipDefaults.childChipColor() เพื่อให้แน่ใจว่าสีพื้นหลังที่ปิดใช้จะโปร่งใสอย่างสมบูรณ์ (I2b3c3, b/238057342)

เวอร์ชัน 1.0.0-rc02

22 มิถุนายน 2022

androidx.wear.compose:compose-foundation:1.0.0-rc02 androidx.wear.compose:compose-material:1.0.0-rc02 และ androidx.wear.compose:compose-navigation:1.0.0-rc02 ออกอากาศแล้ว เวอร์ชัน 1.0.0-rc02 มีคอมมิตเหล่านี้

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

  • เราได้แก้ไขทิศทางของการไล่ระดับสีสำหรับการ์ดในโหมดขวาไปซ้าย (RTL) แล้ว โดยก่อนหน้านี้จะอ่านจากซ้ายบนไปขวาล่าง แต่ตอนนี้จะอ่านจากขวาบนไปซ้ายล่าง (Ic2e77)
  • เราได้อัปเดตการไล่ระดับสีเริ่มต้นสำหรับ Chip/ToggleChip/Card เพื่อให้สอดคล้องกับข้อกำหนด UX ล่าสุด ChipDefaults.gradientBackgroundChipColors ได้รับการอัปเดตให้เริ่มต้นจาก 50% ของสีหลักแทนที่จะเป็น 32.5% CardDefaults.cardBackgroundPainter ได้รับการอัปเดตให้เริ่มจาก 30% ของสีหลักและสิ้นสุดที่ 20% ของ onSurfaceVariant (ก่อนหน้านี้คือ 20% ถึง 10% ใน SurfaceVariant) ToggleChip.toggleChipColors เปลี่ยนจากการไล่ระดับสีแบบเส้นตรงจากพื้นผิว 75% เป็นสีหลัก 32.5% เป็นพื้นผิว 0% เป็นสีหลัก 50% (I43bbd)
  • เราได้เพิ่มสีพื้นหลัง (MaterialTheme.color.surface) ด้านหลัง Chip/ToggleChips ที่มีพื้นหลังแบบไล่ระดับสีเพื่อให้แน่ใจว่ามองเห็นได้อย่างถูกต้องในกรณีที่ใช้สีอ่อนเป็นพื้นหลัง (Ibe1a4, b/235937657)
  • เราได้อัปเดตกฎโปรไฟล์พื้นฐานที่มาพร้อมกับไลบรารี Wear Compose (I9c694)

เวอร์ชัน 1.0.0-rc01

15 มิถุนายน 2022

androidx.wear.compose:compose-foundation:1.0.0-rc01 androidx.wear.compose:compose-material:1.0.0-rc01 และ androidx.wear.compose:compose-navigation:1.0.0-rc01 ออกอากาศแล้ว เวอร์ชัน 1.0.0-rc01 มีคอมมิตเหล่านี้

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

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

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

  • เราได้นำการเรียกใช้ fillMaxWidth() อย่างชัดเจนในส่วนหัวของรายการออกแล้วเนื่องจากไม่จำเป็นและอาจทำให้เกิดปัญหาหาก ScalinglazyColumn มีทั้งคอมโพเนนต์ ListHeader() และ Chip() เนื่องจากความกว้างจะเพิ่มขึ้น/ลดลงเมื่อเลื่อนรายการ ListHeader เข้า/ออกจากมุมมอง (I37144, b/235074035)
  • เราได้แก้ไขข้อบกพร่องใน ScalingLazyColumn ซึ่งอาจทำให้รายการไม่แสดงอย่างถูกต้องจนกว่าจะเลื่อน หากรายการที่ 0 มีขนาดใหญ่พอ (รวมถึงระยะขอบ) (Ic6159, b/234328517)
  • เราได้ปรับScalingLazyColumnการผ่อนแรงเล็กน้อยเมื่อรายการต่างๆ ไปถึงขอบหน้าจอเพื่อให้สอดคล้องกับการอัปเดตข้อกำหนด UX ค่าเดิม CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> ค่าใหม่ CubicBezierEasing(0.3f, 0f, 0.7f, 1f) หากต้องการคงลักษณะการทำงานเดิมไว้ คุณสามารถลบล้าง scalingParams ของ ScalingLazyColumn (Ie375c) ได้
  • เราได้เพิ่มระยะขอบให้กับ CompactChip เพื่อให้มั่นใจว่าขนาดเป้าหมายการแตะจะสูงอย่างน้อย 48dp เพื่อให้เป็นไปตามหลักเกณฑ์การช่วยเหลือพิเศษของ Material ซึ่งอาจส่งผลต่อเลย์เอาต์ที่คุณใช้ CompactChips เนื่องจากจะใช้พื้นที่เพิ่มเติม (I3d57c)

เวอร์ชัน 1.0.0-beta03

1 มิถุนายน 2022

androidx.wear.compose:compose-foundation:1.0.0-beta03 androidx.wear.compose:compose-material:1.0.0-beta03 และ androidx.wear.compose:compose-navigation:1.0.0-beta03 ออกอากาศแล้ว เวอร์ชัน 1.0.0-beta03 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เราได้ทำให้ ScalingLazyColumn ทำงานในโหมด@Previewเขียน@Previewแล้ว (I3b3b6, b/232947354)

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

  • เราได้เปลี่ยนค่าเริ่มต้นของพร็อพเพอร์ตี้ ScalingLazyColumn.horizontalAlignment จาก "เริ่ม" เป็น CenterHorizontally เพื่อให้มั่นใจว่าเมื่อรายการในลิสต์ไม่เต็มความกว้างทั้งหมดของคอลัมน์ รายการจะได้รับการจัดแนวเพื่อให้มองเห็นได้สูงสุด หากต้องการเปลี่ยนกลับไปใช้ลักษณะการทำงานก่อนหน้า ให้ตั้งค่า horizontalAlignment = Alignment.Start.(I9ed4b)

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

  • ความสูงของการแตะ/สัมผัสของ CompactChip เล็กกว่าหลักเกณฑ์การช่วยเหลือพิเศษของ Material เราจะแก้ไขปัญหานี้ในการเผยแพร่ครั้งถัดไป (15 มิถุนายน) หากคุณใช้ CompactChip จะส่งผลต่อเลย์เอาต์เนื่องจากตอนนี้ CompactChip จะมีระยะห่างเพิ่มเติมด้านบนและด้านล่าง โปรดปรับและทดสอบเลย์เอาต์ หรือดูความคิดเห็นเกี่ยวกับข้อบกพร่องเพื่อดูวิธีแก้ปัญหาชั่วคราวในการใช้ลักษณะการทำงานที่มีอยู่ (b/234332135)

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

  • การสาธิตใหม่เพื่อแสดงภาพเคลื่อนไหวการเพิ่มหรือนำข้อความเริ่มต้นใน TimeText ออก (I16d75)
  • เพิ่มการทดสอบสำหรับ HorizontalPageIndicator.PagesState (I64ed0)
  • อัปเดต TimeText ให้ใกล้เคียงกับข้อกำหนด UX มากขึ้น (Ib7ea1)

เวอร์ชัน 1.0.0-beta02

18 พฤษภาคม 2022

androidx.wear.compose:compose-foundation:1.0.0-beta02 androidx.wear.compose:compose-material:1.0.0-beta02 และ androidx.wear.compose:compose-navigation:1.0.0-beta02 ออกอากาศแล้ว เวอร์ชัน 1.0.0-beta02 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ตอนนี้เครื่องมือเลือกจะตอบสนองต่อเหตุการณ์การเลื่อนเสมอแม้จะอยู่ในโหมดอ่านอย่างเดียวก็ตาม ซึ่งจะช่วยให้ผู้ใช้ไม่ต้องเลือกเครื่องมือเลือกก่อนโดยการแตะ แล้วจึงเลื่อนได้ ในโหมดอ่านอย่างเดียว ตัวเลือกอื่นๆ นอกเหนือจากตัวเลือกที่เลือกในปัจจุบันจะถูกซ่อนโดย Shim ใน gradientColor (I72925)
  • เราได้เปลี่ยนลักษณะการทำงานของ UX ของ Chip/ToggleChip/CompactChip/SplitToggleChip เพื่อหยุดไม่ให้ทำ fillMaxWidth โดยค่าเริ่มต้น แต่จะขยายให้พอดีกับเนื้อหา หากต้องการคงลักษณะการทำงานเดิมไว้ ให้เพิ่ม modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

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

  • CurvedTextStyle ตัวสร้างที่ใช้ TextStyle ตอนนี้ยังใช้ fontWeight(อาจเพิ่มลงในตัวสร้างและวิธีการคัดลอกในการแก้ไข API ในอนาคต) (Ieebb9)
  • การปรับปรุงการปัดจากขอบ เมื่อใช้ Modifier.edgeSwipeToDismiss และมีการปัดไปทางซ้ายจากบริเวณขอบ การปัดเพื่อปิดจะไม่ทำงานอีกต่อไปเมื่อทิศทางการปัดเปลี่ยนเป็นขวา ก่อนหน้านี้ คุณสามารถทริกเกอร์การปัดเพื่อปิดได้โดยการปัดไปทางซ้ายแล้วปัดไปทางขวา (I916ea)
  • HorizontalPageIndicator ตอนนี้จะแสดงได้สูงสุด 6 หน้าบนหน้าจอ หากมีหน้ามากกว่า 6 หน้า ระบบจะแสดงตัวบ่งชี้ขนาดครึ่งหนึ่งทางด้านซ้ายหรือขวา โดยมีการเปลี่ยนหน้าอย่างราบรื่น (I2ac29)
  • ปรับปรุงลักษณะการทำงานเริ่มต้นของการสแนปบน ScalingLazyColumn และ Picker (I49539)
  • การปรับปรุงการปัดจากขอบ เมื่อใช้ Modifier.edgeSwipeToDismiss การปัดเพื่อปิดจะทริกเกอร์เมื่อแตะครั้งแรกที่ขอบและปัดไปทางขวาเท่านั้น ก่อนหน้านี้สามารถทริกเกอร์การปัดเพื่อปิดได้โดยการปัดจากส่วนใดก็ได้ของหน้าจอหากการเลื่อนถึงจุดเริ่มต้น (I8ca2a)

เวอร์ชัน 1.0.0-beta01

11 พฤษภาคม 2022

androidx.wear.compose:compose-foundation:1.0.0-beta01 androidx.wear.compose:compose-material:1.0.0-beta01 และ androidx.wear.compose:compose-navigation:1.0.0-beta01 ออกอากาศแล้ว เวอร์ชัน 1.0.0-beta01 มีคอมมิตเหล่านี้

Compose สำหรับ Wear OS 1.0 มีอะไรบ้าง

1.0.0-beta01 ของ Compose สำหรับ Wear OS ถือเป็นก้าวสำคัญเนื่องจากไลบรารีมีฟีเจอร์ครบถ้วนและ API ล็อกแล้ว

คอมโพเนนต์ Material Compose สำหรับ Wear ในรุ่น 1.0 มีดังนี้

  • Material Theme - ใช้แทน Compose for Mobile MaterialTheme โดยมีสี รูปร่าง และการพิมพ์สำหรับสร้างคอมโพเนนต์ในอุปกรณ์ที่สวมใส่ได้ซึ่งใช้หลักเกณฑ์ UX ของ Wear Material Design โดยค่าเริ่มต้น
  • Button, CompactButton และ ToggleButton - ปุ่มมีช่องเดียวสำหรับใส่ไอคอน รูปภาพ หรือข้อความสั้นๆ (สูงสุด 3 อักขระ) มีรูปร่างเป็นวงกลมและมีขนาดที่แนะนำสำหรับปุ่มเริ่มต้น ขนาดใหญ่ หรือขนาดเล็ก CompactButton มีช่องเดียวสำหรับใส่เนื้อหา (ไอคอน รูปภาพ หรือข้อความ) และมีรูปร่างเป็นวงกลมโดยมีขนาดพื้นหลังเล็กมาก CompactButton มีการเว้นที่ว่างโปร่งใสรอบพื้นหลัง (ไม่บังคับ) ซึ่งจะเพิ่มพื้นที่ที่คลิกได้ ToggleButton เป็นปุ่มที่มีช่องเดียวสำหรับใส่เนื้อหา (ข้อความสั้นๆ ไอคอน หรือรูปภาพ) และมีสถานะเปิด/ปิด (เลือก/ยกเลิกการเลือก) พร้อมการลงสีและไอคอนต่างๆ เพื่อแสดงว่าเลือกหรือไม่
  • การ์ด - ใช้เพื่อแสดงข้อมูลเกี่ยวกับแอปพลิเคชัน เช่น การแจ้งเตือน การออกแบบที่ยืดหยุ่นสำหรับกรณีการใช้งานที่แตกต่างกันโดยมี AppCard และ TitleCard ซึ่งให้เลย์เอาต์ที่แตกต่างกันและรองรับรูปภาพเป็นเนื้อหาการ์ดหรือพื้นหลัง
  • ชิป - คอมโพเนนต์รูปทรงสนามกีฬาที่คล้ายกับปุ่ม แต่มีพื้นที่ขนาดใหญ่กว่าและมีช่องหลายช่องเพื่อให้ใส่ป้ายกำกับ ป้ายกำกับรอง และไอคอนได้ ในขนาดต่างๆ และรองรับรูปภาพเป็นพื้นหลัง
  • ToggleChips และ SplitToggleChips - ชิปที่มีสถานะเลือก/ยกเลิกการเลือก และมีช่อง ToggleControl เพื่อแสดงไอคอน เช่น สวิตช์หรือปุ่มตัวเลือก เพื่อแสดงสถานะที่เลือกของคอมโพเนนต์ นอกจากนี้ SplitToggleChip ยังมีพื้นที่ที่แตะได้ 2 แห่ง โดยเป็นพื้นที่ที่คลิกได้ 1 แห่งและพื้นที่ที่สลับได้ 1 แห่ง
  • CircularProgressIndicator - สัญญาณบอกสถานะความคืบหน้าของ Material สำหรับ Wear ที่มี 2 รูปแบบ ส่วนแรกแสดงสัดส่วนของงานที่กำลังดำเนินการอยู่และรองรับช่องว่างในแทร็กวงกลมระหว่างมุมเริ่มต้นและมุมสิ้นสุด ส่วนตัวที่ 2 จะแสดงความคืบหน้าแบบไม่ระบุเวลาสำหรับเวลารอที่ไม่ระบุ
  • curvedText - เป็นส่วนหนึ่งของ DSL สำหรับอธิบาย CurvedLayouts พร้อมกับ curvedRow และ curvedColumn เพื่อจัดวางคอมโพเนนต์รอบอุปกรณ์ทรงกลม ดูรายละเอียดเพิ่มเติมเกี่ยวกับ CurvedLayout และ CurvedModifier (ซึ่งมีบทบาทคล้ายกับตัวแก้ไขในโลกที่ไม่โค้งและช่วยให้กำหนดค่าเลย์เอาต์ ระยะห่าง การไล่ระดับสี ฯลฯ ได้) ที่ส่วนพื้นฐานของคอมโพเนนต์ Wear ด้านล่าง
  • กล่องโต้ตอบ การแจ้งเตือน และการยืนยัน - กล่องโต้ตอบจะแสดงกล่องโต้ตอบแบบเต็มหน้าจอที่ซ้อนทับเนื้อหาอื่นๆ และรองรับการปัดเพื่อปิด โดยจะใช้ช่องเดียวซึ่งคาดว่าจะเป็นเนื้อหากล่องโต้ตอบ Material ของ Wear ที่มีข้อคิดเห็น เช่น การแจ้งเตือนหรือการยืนยัน การแจ้งเตือนคือเนื้อหากล่องโต้ตอบที่แสดงความคิดเห็นพร้อมช่องสำหรับไอคอน ชื่อ และข้อความ โดยมีโอเวอร์โหลดสำหรับปุ่มลบและบวก 2 ปุ่มที่แสดงอยู่ข้างกัน หรือช่องสำหรับชิปอย่างน้อย 1 รายการที่ซ้อนกันในแนวตั้ง การยืนยันคือเนื้อหากล่องโต้ตอบที่แสดงข้อความตามระยะเวลาที่กำหนด มีช่องสำหรับไอคอนหรือรูปภาพ (ที่อาจเป็นภาพเคลื่อนไหว)
  • HorizontalPageIndicator - แสดงตำแหน่งหน้าแนวนอนในรูปแบบที่เหมาะสมกับรูปแบบของอุปกรณ์ที่สวมใส่ได้ ออกแบบมาให้ใช้เต็มหน้าจอและแสดงตัวบ่งชี้โค้งบนอุปกรณ์ทรงกลม ใช้กับโปรแกรมดูหน้า Accompanist ได้
  • ไอคอน - การใช้งานไอคอนใน Wear ซึ่งใช้สีและอัลฟ่าจากธีม Material ของ Wear ดูไอคอนที่คลิกได้ที่ปุ่มหรือชิป
  • ตัวเลือก - แสดงรายการที่เลื่อนได้ซึ่งมีรายการให้เลือก โดยค่าเริ่มต้น ระบบจะทำซ้ำรายการ "อย่างไม่มีที่สิ้นสุด" ในทั้ง 2 ทิศทาง แสดงในโหมดอ่านอย่างเดียวเพื่อซ่อนตัวเลือกที่ไม่ได้เลือกได้
  • PositionIndicator - แสดงตำแหน่งการเลื่อนหรือการระบุตำแหน่งอื่นๆ ในรูปแบบที่เหมาะสมกับรูปแบบของอุปกรณ์ที่สวมใส่ได้ ออกแบบมาให้ใช้เต็มหน้าจอและแสดงตัวบ่งชี้โค้งบนอุปกรณ์ทรงกลม
  • Scaffold - ใช้โครงสร้างเลย์เอาต์ภาพพื้นฐานของ Wear Material Design คอมโพเนนต์นี้มี API สำหรับรวมคอมโพเนนต์ Wear Material หลายรายการ (เช่น TimeText, PositionIndicator และ Vignette) เพื่อสร้างหน้าจอ ตรวจสอบว่ามีกลยุทธ์เลย์เอาต์ที่เหมาะสมสำหรับคอมโพเนนต์เหล่านั้น และรวบรวมข้อมูลที่จำเป็นเพื่อให้คอมโพเนนต์เหล่านี้ทำงานร่วมกันได้อย่างถูกต้อง
  • ScalingLazyColumn - คอมโพเนนต์รายการแบบเลื่อนที่ปรับขนาด/ฟิชอาย ซึ่งเป็นส่วนสำคัญของภาษาการออกแบบ Material ของ Wear ให้เอฟเฟกต์การปรับขนาดและความโปร่งใสแก่รายการเนื้อหา ScalingLazyColumn ออกแบบมาให้รองรับรายการเนื้อหาจำนวนมากที่อาจเกิดขึ้นได้ โดยจะสร้างและเรียบเรียงเมื่อจำเป็นเท่านั้น
  • แถบเลื่อน - ช่วยให้ผู้ใช้เลือกจากช่วงของค่าได้ ช่วงของการเลือกจะแสดงเป็นแถบ ซึ่งอาจแสดงพร้อมตัวคั่นหรือไม่ก็ได้
  • Stepper - คอมโพเนนต์แบบเต็มหน้าจอที่ช่วยให้ผู้ใช้เลือกจากช่วงค่าได้โดยใช้ปุ่มเพิ่ม/ลดที่ด้านบนและด้านล่างของหน้าจอ โดยมีช่องตรงกลางสำหรับข้อความหรือชิป
  • SwipeToDismissBox - จัดการท่าทางสัมผัสการปัดเพื่อปิด โดยจะใช้ช่องเดียวสำหรับพื้นหลัง (แสดงระหว่างท่าทางสัมผัสการปัดเท่านั้น) และเนื้อหาที่อยู่ด้านหน้า อาจใช้ร่วมกับไลบรารีการนำทาง androidx ได้โดยใช้ SwipeDismissableNavHost (ดูไลบรารีการนำทาง Wear Compose ด้านล่าง)
  • ข้อความ - การใช้งานข้อความ Material ของ Compose ใน Wear โดยใช้สีและอัลฟ่าจากธีม Material ของ Wear
  • TimeText - คอมโพเนนต์สำหรับแสดงเวลาและสถานะแอปพลิเคชันที่ด้านบนของหน้าจอ ปรับให้เข้ากับรูปร่างหน้าจอโดยใช้ข้อความโค้งบนหน้าจอทรงกลม
  • Vignette - การปรับแต่งหน้าจอสำหรับใช้ใน Scaffold ซึ่งจะเบลอส่วนบนและส่วนล่างของหน้าจอเมื่อใช้เนื้อหาที่เลื่อนได้

  • นอกจากนี้ ยังรวมคอมโพเนนต์ต่อไปนี้จาก Wear Compose Foundation ด้วย

  • CurvedLayout - Wear Foundation CurvedLayout เป็น Composable ของเลย์เอาต์ที่จัดวางวิดเจ็ตย่อยในส่วนโค้งและหมุนวิดเจ็ตย่อยตามต้องการ ซึ่งคล้ายกับเลย์เอาต์แถวที่โค้งเป็นส่วนของวงแหวน โปรดทราบว่าเนื้อหาของ CurvedLayout ไม่ใช่ Lambda ที่ประกอบได้ แต่เป็น DSL (Domain-Specific Language) องค์ประกอบทั้งหมดใน DSL ของ CurvedLayout รองรับพารามิเตอร์ตัวแก้ไขที่ไม่บังคับ ซึ่งสร้างจาก CurvedModifier

  • basicCurvedText - องค์ประกอบใน CurvedLayout DSL basicCurvedText ช่วยให้นักพัฒนาแอปเขียนข้อความโค้งตามความโค้งของวงกลมได้อย่างง่ายดาย (โดยปกติจะอยู่ที่ขอบของหน้าจอวงกลม) basicCurvedText สร้างได้ภายใน CurvedLayout เท่านั้นเพื่อให้ได้รับประสบการณ์ที่ดีที่สุด เช่น การระบุตำแหน่ง และการใช้ CurvedModifiers โปรดทราบว่าในกรณีส่วนใหญ่ ควรใช้ curvedText แทน เนื่องจากใช้การจัดธีม Material

  • curvedComposable - ห่อหุ้มเนื้อหาที่ใช้ Composable ปกติเพื่อให้ใช้กับ CurvedLayout ได้ หาก curvedComposable มีองค์ประกอบหลายรายการอยู่ภายใน ระบบจะวาดองค์ประกอบเหล่านั้นซ้อนกัน (เช่น กล่อง) หากต้องการวาง Composable หลายรายการตามเส้นโค้ง ให้ห่อหุ้มแต่ละรายการด้วย curvedComposable

  • curvedRow และ curvedColumn - คล้ายกับ Row และ Column, curvedRow และ curvedColumn สามารถซ้อนอยู่ภายใน CurvedLayout เพื่อจัดวางองค์ประกอบได้ตามต้องการ สำหรับ curvedRow คุณอาจระบุทิศทางการจัดวางเชิงมุมและการจัดแนวรัศมีได้ สำหรับ curvedColumn คุณอาจระบุการจัดแนวเชิงมุมและทิศทางแนวรัศมีได้

  • CurvedModifier - คอมโพเนนต์โค้งทั้งหมดยอมรับพารามิเตอร์ตัวแก้ไขที่สร้างขึ้นได้โดยใช้ CurvedModifier: รองรับพื้นหลัง ขนาด น้ำหนัก และระยะเว้น

  • นอกจากนี้ยังรวมคอมโพเนนต์ต่อไปนี้จาก Wear Compose Navigation ด้วย

  • SwipeDismissableNavHost - จัดเตรียมตำแหน่งในลำดับชั้นของ Compose เพื่อให้การนำทางแบบแยกส่วนเกิดขึ้น โดยการนำทางย้อนกลับจะดำเนินการด้วยท่าทางสัมผัสการปัด เนื้อหาจะแสดงภายใน SwipeToDismissBox ซึ่งแสดงระดับการนำทางปัจจุบัน ในระหว่างท่าทางสัมผัสปัดเพื่อปิด ระดับการนำทางก่อนหน้า (หากมี) จะแสดงในพื้นหลัง

  • ดูรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่เผยแพร่ไปแล้วได้ในบันทึกประจำรุ่นก่อนหน้าสำหรับรุ่นอัลฟ่าต่างๆ

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

  • เพิ่มฟังก์ชัน CurvedModifier.padding* แล้ว ใช้เพื่อระบุพื้นที่เพิ่มเติมที่จะเพิ่มรอบๆ คอมโพเนนต์โค้ง (I4dbb4)
  • นำคลาสภายใน CompositionLocal (I42490) ออกแล้ว
  • เราได้เพิ่มค่าคงที่สำหรับขนาดไอคอน Button, CompactButton และ ToggleButton เพื่อเป็นแนวทาง (I57cab)
  • เพิ่มพารามิเตอร์ที่เปิดใช้ไปยัง AppCard และ TitleCard ตอนนี้ฟีเจอร์นี้มี API ที่คล้ายกับandroidx.compose.materialการ์ดแล้ว เมื่อตั้งค่าพารามิเตอร์เป็น "เท็จ" คุณจะคลิกการ์ดไม่ได้ (Idc48d, b/228869805)

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

  • ตอนนี้ Stepper จะปิดใช้ปุ่มลดและเพิ่มเมื่อถึงขีดจำกัดล่าง/บน (และใช้ ContentAlpha.disabled กับ iconColor) (I4be9f)
  • เราได้เพิ่มระยะขอบ 1dp รอบเนื้อหาของ Picker เมื่อวาดด้วยการไล่ระดับสีเพื่อป้องกันการสั่นของข้อความที่เห็นเมื่อปัด (I0b7b9)
  • เพิ่มการทดสอบภาพหน้าจอสำหรับ PositionIndicator (I5e8bc)
  • เพิ่มการทดสอบสำหรับ AppCard และ TitleCard (I85391, b/228869805)

เวอร์ชัน 1.0.0-alpha21

20 เมษายน 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha21 androidx.wear.compose:compose-material:1.0.0-alpha21 และ androidx.wear.compose:compose-navigation:1.0.0-alpha21 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha21 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เพิ่มตัวแก้ไขโค้งใหม่เพื่อระบุพื้นหลังขององค์ประกอบโค้ง: CurvedModifier.background, .radialGradientBackground และ .angularGradientBackground (I8f392)
  • อนุญาตให้ระบุโหมดข้อความโค้งที่ล้น (ตัด/จุดไข่ปลา/มองเห็นได้) (I8e7aa)
  • เพิ่มตัวแก้ไข CurvedModifier.weight ซึ่งคล้ายกับตัวแก้ไขใน Compose คุณใช้แอตทริบิวต์นี้กับองค์ประกอบย่อยของ curvedRow และ CurvedLayout (สำหรับความกว้าง) รวมถึงองค์ประกอบย่อยของ curvedColumn (สำหรับความสูง) ได้ (I8abbd)
  • เพิ่มตัวแก้ไข CurvedModifier.size, .angularSize และ .radialSize เพื่อระบุขนาดขององค์ประกอบโค้ง (I623c7)

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

  • จัดเรียงพารามิเตอร์ใหม่เพื่อให้มั่นใจว่าพื้นหลังจะอยู่ก่อนสีอย่างสม่ำเสมอใน Wear Compose API (I43208)
  • นำพารามิเตอร์ insideOut และตามเข็มนาฬิกาออก แล้วแทนที่ด้วยค่าคงที่ที่มีรายละเอียดมากขึ้นในคลาสใหม่ ตอนนี้เลย์เอาต์โค้งสามารถรับรู้ LayoutDirection ได้แล้ว และจะรับค่าเมื่อไม่ได้ระบุ (If0e6a)
  • เราได้แทนที่ autoCenter: Boolean ด้วย autoCenter: AutoCentringParams เพื่อแก้ไขปัญหา API กับ ScalingLazyColumn (Ia9c90)
  • เราได้เปลี่ยนชื่อ iconTintColor และ toggleControlTintColor เป็น iconColor และ toggleControlColor ทั่วทั้ง API (Chip/ToggleChip/Dialog/Slider/Stepper/...) เนื่องจากมีการใช้สีกับช่องไอคอน/toggleControl (Ied238)
  • เขียน enum PageIndicatorStyle ใหม่เป็นคลาสค่า (I2dc72)
  • เราได้เพิ่ม RowScope/ColumnScope/BoxScope ลงในช่องบางช่องใน Composables เพื่อระบุให้นักพัฒนาแอปทราบถึงสมมติฐานของเลย์เอาต์ ซึ่งจะช่วยให้นักพัฒนาแอปใช้ตัวแก้ไขเพิ่มเติมกับเนื้อหาบางช่องและหลีกเลี่ยงการต้องระบุองค์ประกอบเลย์เอาต์เพิ่มเติมได้ นอกจากนี้ เรายังได้อัปเดตสี AppCard/TitleCard เล็กน้อยเพื่อให้ timeColor และ appColor เป็น contentColor โดยค่าเริ่มต้น แต่คุณยังคงลบล้างพร็อพเพอร์ตี้เหล่านี้ทีละรายการได้หากต้องการ (I26b59)
  • ตั้งค่าออบเจ็กต์ SwipeToDismissBoxState.Companion เป็นส่วนตัว (I39e84)
  • แก้ไขลำดับพารามิเตอร์สำหรับ InlineSlider และ Stepper การเปลี่ยนแปลงอย่างง่ายเพื่อให้เป็นไปตามหลักเกณฑ์ของ API (I11fec)
  • เราได้นำออบเจ็กต์ Saver สำหรับ SwipeToDismissBoxState ออกแล้วเนื่องจากไม่มีการใช้งาน (Ifb54e)
  • เราได้อัปเดต CompactChip เพื่อให้สอดคล้องกับข้อกำหนด UX ล่าสุด ลดระยะขอบเป็นแนวนอน = 12.dp และแนวตั้ง = 0.dp เปลี่ยนแบบอักษรสำหรับป้ายกำกับจากปุ่มเป็น caption1 ขนาดไอคอนที่แนะนำคือ 20x20 เมื่อมีทั้งไอคอนและป้ายกำกับ และ 24x24 สำหรับชิปขนาดกะทัดรัดที่มีไอคอนเท่านั้น สำหรับกรณีการใช้งานไอคอนเท่านั้น เรายังได้ตรวจสอบว่าไอคอนอยู่ตรงกลาง (Iea2be)
  • เราได้เพิ่มฟิลด์ใหม่หลายรายการลงใน ScalingLazyListLayoutInfo เพื่อช่วยให้นักพัฒนาแอปทราบจำนวน contentPadding และ autoCenteringPadding ที่ใช้ไป ซึ่งอาจมีประโยชน์สำหรับนักพัฒนาซอฟต์แวร์เมื่อคำนวณการปัด/เลื่อน (I7577b)
  • เราได้ใช้การเปลี่ยนฉากเข้า/ออกสำหรับ Dialog แล้ว เราได้เพิ่มพารามิเตอร์ showDialog และตอนนี้กล่องโต้ตอบจะควบคุมระดับการมองเห็นของตัวเอง (ซึ่งช่วยให้กล่องโต้ตอบเรียกใช้ภาพเคลื่อนไหวตอนต้นและตอนท้ายได้เมื่อกล่องโต้ตอบแสดง/ซ่อน) โปรดทราบว่าระบบจะไม่แสดงภาพเคลื่อนไหวตอนท้ายเมื่อผู้ใช้ออกจากกล่องโต้ตอบผ่านการปัดเพื่อปิด นอกจากนี้ เรายังได้เพิ่มค่าเริ่มต้นสำหรับรัฐในSwipeToDismissBoxโอเวอร์โหลดที่เพิ่มเข้ามาเมื่อเร็วๆ นี้ด้วย (I682a0)
  • เราได้เปลี่ยน ToggleChip และ SplitToggleChip เพื่อให้รองรับ i18n และ a11y ได้ดียิ่งขึ้น จึงทำให้ช่อง toggleControl ไม่มีค่าเริ่มต้นอีกต่อไป นอกจากนี้ เรายังได้เปลี่ยนแปลง ToggleChipDefaults เพื่อให้เมธอดต่อไปนี้แสดงผลเป็น ImageVector แทน Icon (โปรดทราบว่าเมธอดเหล่านี้จะไม่แสดงผล @Composables อีกต่อไป จึงเปลี่ยนเป็นขึ้นต้นด้วยตัวพิมพ์เล็ก) SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() และ RadioIcon()->radioIcon() ซึ่งจะช่วยให้นักพัฒนาแอปสร้าง Composable Icon() ของตนเองด้วยชุด contentDescription ที่เหมาะสมได้ (I5bb5b)
  • เราได้เพิ่มพารามิเตอร์ SwipeDismissableNavHostState ลงใน SwipeDismissableNavHost แล้ว ซึ่งรองรับการปัดจากขอบบนหน้าจอที่ใช้เป็นปลายทางการนำทาง เนื่องจากตอนนี้สามารถยก SwipeToDismissBoxState ขึ้นและใช้เพื่อเริ่มต้นทั้ง SwipeDismissableNavHostState และ Modifier.edgeSwipeToDismiss บนหน้าจอที่ต้องใช้การปัดจากขอบ (I819f5, b/228336555)

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

  • ตรวจสอบว่าได้อัปเดตเลย์เอาต์โค้งเมื่อจำเป็น (Ie8bfa, b/229079150)
  • แก้ไขข้อบกพร่องสำหรับ https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
  • นำคำอธิบายประกอบการทดลองที่ไม่จำเป็นออก (I88d7e)

เวอร์ชัน 1.0.0-alpha20

6 เมษายน 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha20 androidx.wear.compose:compose-material:1.0.0-alpha20 และ androidx.wear.compose:compose-navigation:1.0.0-alpha20 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha20 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เพิ่มตัวปรับแต่ง edgeSwipeToDismiss สำหรับ SwipeToDismiss อนุญาตให้ swipeToDismiss ทำงานที่ขอบด้านซ้ายของวิวพอร์ตเท่านั้น ใช้เมื่อตรงกลางของหน้าจอต้องสามารถจัดการการแบ่งหน้าในแนวนอนได้ เช่น การเลื่อนแผนที่แบบ 2 มิติหรือการปัดในแนวนอนระหว่างหน้า (I3fcec, b/200699800)

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

  • การใช้งานพื้นฐานของ CurvedModifiers ซึ่งจะเปิดโอกาสให้เราแนะนำวิธีปรับแต่งเนื้อหาโค้ง (แต่ยังไม่มี CurvedModifiers และความสามารถในการสร้างตัวแก้ไขที่กำหนดเองอาจพร้อมใช้งานในภายหลัง) (I9b8df)
  • EdgeSwipeอัปเดตเอกสารประกอบของตัวแก้ไขและค่าเริ่มต้นเพื่อให้เข้าใจได้ดียิ่งขึ้น (I6d00d)
  • เพิ่มช่อง PageIndicator ลงใน Scaffold การเพิ่ม PageIndicator ลงใน Scaffold โดยตรงอาจช่วยให้มั่นใจได้ว่าระบบจะแสดงอย่างถูกต้องในอุปกรณ์ทรงกลม (Ia6042)
  • นำไอคอนเริ่มต้นออกจากพารามิเตอร์ InlineSlider และ Stepper ซึ่งจะช่วยให้นักพัฒนาแอปใส่ใจข้อกำหนดด้านการแปลและการช่วยเหลือพิเศษมากขึ้น การใช้งานไอคอนเริ่มต้นแสดงอยู่ในเดโมและตัวอย่าง (I7e6fd)
  • แทนที่ชื่อพารามิเตอร์ Trailing และ Leading ด้วย Start และ End ใน TimeText (Iaac32)
  • เราได้เพิ่มSwipeToDismissBoxโอเวอร์โหลดด้วยพารามิเตอร์ onDismissed เพื่อรองรับการใช้งานทั่วไปในการทริกเกอร์เหตุการณ์การนำทางเมื่อท่าทางสัมผัสการปัดเสร็จสมบูรณ์ (I50353, b/226565726)
  • นำคำอธิบายประกอบ ExperimentalWearMaterialApi ออกจากการใช้งาน TimeText (Ide520)
  • เราได้ทำเครื่องหมายอินเทอร์เฟซขอบเขตและข้อมูล ScalingLazyList/Column ว่าเป็นแบบปิด เนื่องจากไม่ได้มีไว้สำหรับนักพัฒนาแอปภายนอก และจะช่วยให้เราเพิ่มสมาชิกใหม่ในอินเทอร์เฟซเหล่านี้ได้ในอนาคตโดยไม่มีการเปลี่ยนแปลงที่ทำให้ไบนารีใช้งานไม่ได้ (I7d99f)
  • เราได้เพิ่มพร็อพเพอร์ตี้ flingBehaviour ใหม่ลงใน Picker และเมธอด PickerDefaults.flingBehaviour() เพื่อเปิดใช้การกำหนดค่าลักษณะการทำงานของการปัด เช่น การเพิ่มการรองรับ RSB ตอนนี้ PickerState ได้ติดตั้งใช้งานอินเทอร์เฟซ ScrollableState แล้ว (Ib89c7)

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

  • อัปเดตกฎโปรไฟล์พื้นฐานของ Android Runtime (ART) สำหรับไลบรารี Wear Compose ART สามารถใช้ประโยชน์จากกฎโปรไฟล์ในอุปกรณ์เพื่อคอมไพล์แอปพลิเคชันบางส่วนล่วงหน้าเพื่อปรับปรุงประสิทธิภาพของแอปพลิเคชัน โปรดทราบว่าการดำเนินการนี้จะไม่มีผลกับแอปพลิเคชันที่แก้ไขข้อบกพร่องได้ (Iaa8ef)
  • ปรับปรุงเอกสารประกอบ (I2c051)

เวอร์ชัน 1.0.0-alpha19

23 มีนาคม 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha19 androidx.wear.compose:compose-material:1.0.0-alpha19 และ androidx.wear.compose:compose-navigation:1.0.0-alpha19 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha19 มีคอมมิตเหล่านี้

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

  • เปลี่ยนชื่อ CurvedRow เป็น CurvedLayout และปรับปรุงให้เป็นขอบเขตที่มี DSL การใช้ DSL นี้จะช่วยให้ระบุเลย์เอาต์โค้งที่ซับซ้อนมากขึ้นได้โดยใช้ชุดของ curvedRow และ curvedColumn ที่ซ้อนกัน (ซึ่งเทียบเท่ากับเลย์เอาต์โค้งของแถวและคอลัมน์) ภายในองค์ประกอบเลย์เอาต์เหล่านี้ คุณสามารถใช้องค์ประกอบ 3 อย่าง ได้แก่ curvedComposable (เพื่อเพิ่ม @Composable), basicCurvedText (ข้อความโค้งของ Foundation) และ curvedText (ข้อความโค้งที่รับรู้ถึง Wear Material) (Ib776a)
  • ทำให้ฝั่ง PositionIndicator กำหนดค่าได้ ตอนนี้คุณกำหนดค่าตำแหน่งของ PositionIndicator พื้นฐานให้เป็น End (รับรู้ทิศทางการจัดวาง), OppositeRsb (พิจารณาการหมุนหน้าจอเพื่อวางตำแหน่งตรงข้ามกับ RSB จริง) หรือ Left และ Right แบบสัมบูรณ์ได้แล้ว (I2f1f3)
  • สำหรับ SwipeToDismissBox เราได้เปลี่ยนชื่อ SwipeDismissTarget.Original เป็น SwipeToDismissValue.Default และ SwipeDismissTarget.Dismissal เป็น SwipeToDismissValue.Dismissed นอกจากนี้ เรายังได้ย้าย SwipeToDismissBoxDefaults.BackgroundKey และ SwipeToDismissBoxDefaults.ContentKey ไปยัง SwipeToDismissKeys.Background และ SwipeToDismissKeys.Content ตามลำดับ (I47a36)
  • เราได้เพิ่มโหมดอ่านอย่างเดียวลงใน Picker สำหรับหน้าจอที่มี Picker หลายรายการซึ่งแก้ไขได้ครั้งละ 1 รายการเท่านั้น เมื่อเครื่องมือเลือกเป็นแบบอ่านอย่างเดียว เครื่องมือจะแสดงตัวเลือกที่เลือกอยู่ในปัจจุบันและป้ายกำกับ (หากมี) (I879de)
  • เราได้ปรับโครงสร้าง SwipeToDismissBoxState เพื่อจำกัดขอบเขตของ ExperimentalWearMaterialApi ให้เหลือเพียง Modifier.swipeable และ SwipeableState ซึ่งตอนนี้ใช้ภายในแล้ว ตอนนี้ SwipeToDismissBoxState มีสมาชิก currentValue, targetValue, isAnimationRunning และ snapTo เพื่อรองรับ Use Case ทั่วไป โปรดแจ้งให้เราทราบหากคุณต้องการให้เราเพิ่มพร็อพเพอร์ตี้อื่นๆ นอกจากนี้ ยังแก้ไขลักษณะการทำงานของ SwipeableState ในกรณีที่ออฟเซ็ตการปัดอยู่ภายในข้อผิดพลาดในการปัดเศษของจุดยึดด้วย (I58302)

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

  • ปรับปรุงและแก้ไขโค้ดเพื่อตรวจหาว่าเนื้อหาของ ScalingLazyColumn เลื่อนได้หรือไม่ (ใช้เพื่อตัดสินใจว่าจะแสดงแถบเลื่อนหรือไม่) (I7bce0)
  • แก้ไขข้อบกพร่องในตัวบ่งชี้ตำแหน่งเมื่อใช้กับสถานะมากกว่า 1 สถานะและสลับระหว่างสถานะเหล่านั้น (I320b5)
  • เราได้อัปเดตการจัดรูปแบบข้อความ/แบบอักษรของธีม Compose for Wear OS เริ่มต้นให้สอดคล้องกับคำแนะนำด้าน UX ล่าสุด โปรดทราบว่าตอนนี้ display1 (40.sp) และ display2 (34.sp) มีขนาดเล็กกว่าค่าก่อนหน้า และเราได้ทำการอัปเดตเล็กๆ น้อยๆ อื่นๆ อีกมากมายเกี่ยวกับความสูงของบรรทัดและการเว้นบรรทัด (Ie3077)
  • เราได้เพิ่มความต้านทานให้กับ SwipeToDismissBox เพื่อให้การเคลื่อนไหวเกิดขึ้นเมื่อปัดเพื่อปิดเท่านั้น และไม่เกิดขึ้นในทิศทางตรงกันข้าม (Ifdfb9)
  • เราได้เปลี่ยนค่าพารามิเตอร์เริ่มต้นบางค่าสำหรับฟังก์ชัน CircularProgressIndicator เพื่อให้สอดคล้องกับคำแนะนำ UX ของ Wear Material Design สำหรับเวอร์ชัน Spinner/Indeterminant เราได้อัปเดตขนาด (40->24.dp), indicatorColor (primary->onBackground), ความโปร่งใสของ trackColor (30%->10%) และความกว้างของเส้น (4->3dp) สำหรับเวอร์ชันความคืบหน้า/กำหนดค่าได้ เราได้อัปเดตความโปร่งใสของ trackColor (30%-> 10%) แล้ว (I659cc)
  • เราได้อัปเดตพารามิเตอร์การปรับขนาดเริ่มต้นของ ScalingLazyColumn ให้สอดคล้องกับข้อกำหนด UX ของ Material Design ล่าสุดสำหรับ Wear ในเชิงภาพ การดำเนินการนี้จะส่งผลให้รายการในลิสต์เริ่มมีการปรับขนาดใกล้กับกึ่งกลางของลิสต์มากขึ้น แต่มีการปรับขนาดน้อยลงที่ขอบของลิสต์กว่าเดิม (Ica8f3)
  • การปรับเปลี่ยนบางอย่างใน ScalingLazyColumnDefaults.snapFlingBehavior เพื่อปรับปรุงตอนท้ายของภาพเคลื่อนไหว (If3260)

เวอร์ชัน 1.0.0-alpha18

9 มีนาคม 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha18 androidx.wear.compose:compose-material:1.0.0-alpha18 และ androidx.wear.compose:compose-navigation:1.0.0-alpha18 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha18 มีคอมมิตเหล่านี้

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

  • การปรับปรุง PositionIndicator หลายรายการ: ShowResult เปลี่ยนชื่อเป็น PositionIndicatorVisibility ปรับปรุงประสิทธิภาพบางอย่างเพื่อหลีกเลี่ยงการคำนวณซ้ำเมื่อไม่จำเป็น (Iaed9d)
  • เราได้อัปเดตการระบายสีที่แนะนำสำหรับ SplitToggleChip แล้ว ตอนนี้ SplitToggleChip จะมีพื้นหลังสีทึบเมื่อเลือกหรือยกเลิกการเลือก โดยการกำหนดสีของ ToggleControl จะเป็นตัวบ่งชี้หลักว่าคอมโพเนนต์ได้รับการเลือกหรือไม่ เราได้เพิ่ม ToggleDefaults.splitToggleChipColors() ใหม่เพื่อรองรับรูปแบบสีใหม่ นอกจากนี้ เรายังได้ปรับปรุงtoggleChipColors()วิธีการนำ splitBackgroundOverlayColor (I7e66e) ออก
  • เราได้เพิ่ม unadjustedSize ลงใน ScalingLazyListItemInfo เนื่องจากไม่ปลอดภัยที่จะคำนวณขนาดเดิมของสินค้าโดยใช้ขนาดที่ปรับและปัจจัยการปรับขนาดเนื่องจากความแม่นยำทางคณิตศาสตร์ของจำนวนทศนิยม (I54657, b/221079441)
  • เพิ่ม HorizontalPageIndicator โดยจะแสดงจำนวนหน้าทั้งหมดและหน้าเว็บที่เลือก อาจเป็นเส้นตรงหรือโค้งก็ได้ ขึ้นอยู่กับรูปร่างของอุปกรณ์ นอกจากนี้ยังรองรับรูปร่างตัวบ่งชี้ที่กำหนดเอง ซึ่งจะกำหนดวิธีแสดงตัวบ่งชี้แต่ละรายการด้วยภาพ (Iac898)
  • เราได้อัปเดต PickerState เพื่อให้สามารถอัปเดต numberOfOptions ได้ ซึ่งรองรับกรณีการใช้งาน เช่น DatePicker เมื่อจำนวนวันในเดือนเปลี่ยนแปลงตามเดือนที่เลือก พารามิเตอร์ตัวสร้างสำหรับ PickerState เปลี่ยนเป็น initialNumberOfOptions ตามนั้น (Iad066)
  • ซ่อน PositionIndicator เมื่อเป็นแถบเลื่อนและเลื่อนไม่ได้ (Id0a7f)
  • ตอนนี้คอมโพเนนต์ Dialog แบบเต็มหน้าจอจะแสดง PositionIndicator และ Vignette เพื่อให้สอดคล้องกับ Scaffold นอกจากนี้ เรายังใช้ ScalingLazyColumn แทน Column ซึ่งหมายความว่าตอนนี้เนื้อหาของกล่องโต้ตอบอยู่ใน ScalingLazyListScope (และโดยปกติแล้วจะต้องอยู่ในรายการ { /* content */ }) กล่องโต้ตอบรองรับพารามิเตอร์ verticalArrangement ตามนั้น (Idea13)
  • เราได้เปลี่ยนชื่อพร็อพเพอร์ตี้ ToggleChip และ SplitToggleChip toggleIcon เป็น toggleControl เพื่อให้สอดคล้องกับ Material Design มากขึ้น เพื่อช่วยให้นักออกแบบและนักพัฒนาซอฟต์แวร์ไปยังส่วนต่างๆ ของ API ได้ (If5921, b/220129803)
  • เราได้เพิ่มคำบรรยายใหม่ caption3 ลงใน Typology ของธีม Material สำหรับ Wear โดย Caption3 เป็นแบบอักษรขนาดเล็กที่ใช้สำหรับการเขียนแบบยาวพิเศษ เช่น ข้อความทางกฎหมาย (I74b13, b/220128356)

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

  • หยุดภาพเคลื่อนไหวการสแนปเมื่อเราอยู่ที่นั่น (Idb69d)
  • สร้างภาพเคลื่อนไหวการเปลี่ยนแปลงใน PositionIndicator (I94cb9)
  • เราได้เปลี่ยนScalingLazyColumnการจัดกึ่งกลางอัตโนมัติScalingLazyListState.initialCenterItemIndexตามความคิดเห็นเกี่ยวกับ UI/UX เพื่อให้มีพื้นที่เพียงพอที่จะเลื่อนรายการที่มีดัชนี ScalingLazyListState.initialCenterItemIndex ขึ้นไปให้ถึงกึ่งกลางของ Viewport ได้อย่างเต็มที่ ซึ่งช่วยให้นักพัฒนาแอปวางไอเทม 1 หรือ 2 รายการเกี่ยวกับไอเทมนั้นๆ ไว้ตรงกลางในตอนแรกได้ โดยไอเทมดังกล่าวจะเลื่อนไปตรงกลางไม่ได้ ซึ่งหมายความว่า ScalingLazyColumn ที่มี autoCenter จะเลื่อนเหนือ initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2) ไม่ได้
  • เราได้เพิ่มการสาธิตเครื่องมือเลือกวันที่และแก้ไขข้อบกพร่องใน PickerState ซึ่ง initiallySelectedOption จะไม่ได้รับการใช้จนกว่าจะมีการแสดงเครื่องมือเลือก (Id0d7e)
  • เราได้เพิ่มระยะขอบเนื้อหาแนวนอนเริ่มต้นจาก 8 เป็น 10 dp เพื่อลดการตัดรายการ ScalingLazyColumn ที่กว้างกว่าบนหน้าจอวงกลม (I0d609)
  • ตรวจสอบว่าPositionIndicatorแสดงเมื่อเลื่อน (Ied9a2)

เวอร์ชัน 1.0.0-alpha17

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

androidx.wear.compose:compose-foundation:1.0.0-alpha17 androidx.wear.compose:compose-material:1.0.0-alpha17 และ androidx.wear.compose:compose-navigation:1.0.0-alpha17 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha17 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เราได้เพิ่มการรองรับ Snap ที่ใช้กับ ScalingLazyColumn ได้ ตั้งค่า flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) เพื่อเปิดใช้การรองรับ Snap (I068d3, b/217377069)
  • เราได้เพิ่มการสาธิตสำหรับเครื่องมือเลือกที่ใช้เพื่อ เลือกเวลาในนาฬิกาแบบ 24 ชั่วโมงหรือ 12 ชั่วโมง (Ie5552)

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

  • แก้ไขปัญหาเกี่ยวกับTimeTextแบบอักษรและสไตล์ที่กำหนดเองในอุปกรณ์สี่เหลี่ยมจัตุรัส (Iea76e)
  • ตอนนี้ ScalingLazyListLayoutInfo มีพร็อพเพอร์ตี้ reverseLayout, viewportSize และการวางแนวที่ตรงกับพร็อพเพอร์ตี้จาก LazyListLayoutInfo (I4f258, b/217917020)
  • ตอนนี้ ScalingLazyColumn มีพร็อพเพอร์ตี้ userScrollEnabled ที่ตรงกับพร็อพเพอร์ตี้จาก LazyList (I164d0, b/217912513)
  • ตอนนี้ตัวเลือกจะมีไล่ระดับสีที่ด้านบนและด้านล่างโดยค่าเริ่มต้น (Iab92a)

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

  • เราได้แก้ไข ScalingLazyColumn เพื่อไม่ให้ใช้พื้นที่ทั้งหมดในองค์ประกอบระดับบนสุดอีกต่อไป แต่จะใช้ขนาดจากขนาดของเนื้อหาแทน ซึ่งจะทำให้สอดคล้องกับลักษณะการทำงานของ LazyColumn หากต้องการคืนค่าลักษณะการทำงานแบบเดิม ให้ส่ง Modifier.fillMaxWidth()/width()/widthIn() ไปยัง ScalingLazyColumn (I51bf8)
  • เราได้ปรับปรุงข้อความข้อยกเว้นใน SwipeDismissableNavHost.kt ที่ทริกเกอร์หาก Backstack ของการนำทางว่างเปล่า (I1b1dc)

เวอร์ชัน 1.0.0-alpha16

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

androidx.wear.compose:compose-foundation:1.0.0-alpha16 androidx.wear.compose:compose-material:1.0.0-alpha16 และ androidx.wear.compose:compose-navigation:1.0.0-alpha16 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha16 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เพิ่ม CircularProgressIndicator ตัวบอกสถานะความคืบหน้าจะแสดงระยะเวลาของกระบวนการหรือเวลารอที่ไม่ระบุ รองรับช่องว่าง (รอยบาก) สำหรับ TimeText หรือคอมโพเนนต์อื่นๆ หากใช้แบบเต็มหน้าจอ (Iab8da)

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

  • ตอนนี้ตัวเลือกมีพารามิเตอร์ flingBehavior แล้ว ค่าเริ่มต้นจะทำให้ตัวเลือกสแนปกับตัวเลือกที่ใกล้ที่สุดเมื่อเลื่อน/ปัด (I09000)
  • API จำนวนเต็มเพิ่มเติมสำหรับ InlineSlider และ Stepper (I1b5d6)

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

  • เราได้เปลี่ยน initialCenterItemIndex เริ่มต้นสำหรับ ScalingLazyListState จาก 0 เป็น 1 ซึ่งหมายความว่าหากไม่ได้ลบล้างในการสร้างสถานะด้วย ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =) รายการที่ 2 ในลิสต์ (index == 1) จะอยู่ตรงกลางของวิวพอร์ตเมื่อเริ่มต้น และรายการที่ 1 (index == 0) จะอยู่ก่อนหน้า ซึ่งจะช่วยให้เอฟเฟกต์ภาพเริ่มต้นดีขึ้นทันทีที่ใช้งาน เนื่องจากรายการส่วนใหญ่ในวิวพอร์ตจะเต็มไปด้วยรายการ (I0c623, b/217344252)
  • เราได้ลดScalingLazyColumnค่าเริ่มต้นextraPaddingที่ระบุไว้เพื่อให้มีรายการมากมายให้เลือก (แม้ว่าเราจะลดขนาดบางรายการลง) จาก 10% เป็น 5% วิธีนี้จะช่วยหลีกเลี่ยงการเขียนรายการเพิ่มเติมที่อาจไม่ปรากฏในวิวพอร์ต หากใช้ scalingParams ที่ไม่ใช่มาตรฐาน (เช่น การปรับขนาดที่มากเกินไป) นักพัฒนาแอปสามารถปรับระยะขอบเพิ่มเติมได้โดยใช้ viewportVerticalOffsetResolver (I76be4)
  • แก้ไขปัญหาเกี่ยวกับ TimeText ในหลายบรรทัดบนอุปกรณ์สี่เหลี่ยมจัตุรัส (Ibd3fb)
  • เราได้แก้ไข ScalingLazyColumn เพื่อไม่ให้ใช้พื้นที่ทั้งหมดในองค์ประกอบระดับบนสุดอีกต่อไป แต่จะใช้ขนาดจากขนาดของเนื้อหาแทน ซึ่งจะทำให้สอดคล้องกับลักษณะการทำงานของ LazyColumn หากต้องการคืนค่าลักษณะการทำงานแบบเดิม ให้ส่ง Modifier.fillMaxSize() ไปยัง ScalingLazyColumn - หมายเหตุ: การเปลี่ยนแปลงนี้ยังไม่สมบูรณ์และจะได้รับการแก้ไขในการเปลี่ยนแปลงติดตามในการเผยแพร่เวอร์ชันอัลฟ่าครั้งถัดไป (I3cbfa)

เวอร์ชัน 1.0.0-alpha15

26 มกราคม 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha15 androidx.wear.compose:compose-material:1.0.0-alpha15 และ androidx.wear.compose:compose-navigation:1.0.0-alpha15 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha15 มีคอมมิตต่อไปนี้

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

  • เราได้เพิ่มพร็อพเพอร์ตี้ใหม่ autoCentering ลงใน ScalingLazyColumn เมื่อเป็นจริง (ค่าเริ่มต้น) จะช่วยให้มั่นใจได้ว่ารายการทั้งหมด รวมถึงรายการแรกและรายการสุดท้าย สามารถเลื่อนเพื่อให้มองเห็นได้ตรงกลางของช่องมองภาพรายการ โปรดทราบว่าหากใช้การจัดกึ่งกลางอัตโนมัติ คุณอาจต้องตั้งค่าระยะห่างจากขอบด้านบนและด้านล่างของเนื้อหาเป็น 0.dp หากระบุทั้ง autoCentering และการเว้นที่ว่างเนื้อหาแนวตั้ง ระบบจะเว้นที่ว่างเพิ่มเติมก่อนรายการแรกและหลังรายการสุดท้ายเพื่อให้เลื่อนได้ไกลยิ่งขึ้น (I2a282, b/214922490)
  • เราได้เพิ่มคอมโพเนนต์ Dialog ที่ช่วยให้ Composable ใดๆ สามารถทริกเกอร์กล่องโต้ตอบแบบเต็มหน้าจอที่อยู่ด้านบนของเนื้อหาอื่นๆ ได้ เมื่อแสดง กล่องโต้ตอบจะรองรับการปัดเพื่อปิด และจะแสดงเนื้อหาขององค์ประกอบหลักในพื้นหลังระหว่างท่าทางสัมผัสการปัด เนื้อหาของกล่องโต้ตอบคาดว่าจะเป็น Alert หรือ Confirmation (เปลี่ยนชื่อจากคอมโพเนนต์ก่อนหน้า AlertDialog และ ConfirmationDialog) - Alert, Confirmation และ Dialog ทั้งหมดอยู่ในแพ็กเกจ androidx.wear.compose.material.dialog คุณใช้การแจ้งเตือนและการยืนยันเป็นปลายทางการนำทางได้ นอกจากนี้ ยังเพิ่ม ColumnScope ลงในพารามิเตอร์การแจ้งเตือนและการยืนยันตามที่จำเป็นด้วย (Ia9014)
  • เราได้นำ onSurfaceVariant2 ออกจากสีธีม Material สำหรับ Compose for WearOS และแทนที่การใช้งานในไลบรารีด้วย onSurfaceVariant (Icd592)
  • เพิ่มวิธีการเลือกตัวเลือกแบบเป็นโปรแกรมใน PickerState ตอนนี้คุณยังระบุตัวเลือกที่เลือกไว้ตอนแรกได้เมื่อสร้าง PickerState (I92bdf)
  • เราได้เพิ่มการรองรับการปรับแต่งลักษณะการปัดของ ScalingLazyColumn (I1ad2e, b/208842968)
  • เราได้เพิ่ม NavController.currentBackStackEntryAsState() ลงในคลัง Wear.Compose.Navigation แล้ว (If9028, b/212739653)
  • เพิ่ม Modifier.onRotaryScrollEvent() และ Modifier.onPreRotaryScrollEvent() สำหรับอุปกรณ์ Wear ที่มีปุ่มด้านข้างแบบหมุน (I18bf5, b/210748686)

เวอร์ชัน 1.0.0-alpha14

12 มกราคม 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha14 androidx.wear.compose:compose-material:1.0.0-alpha14 และ androidx.wear.compose:compose-navigation:1.0.0-alpha14 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha14 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เราได้เพิ่มวิธีการหลายอย่างลงใน ScalingLazyListState เพื่อให้ผู้พัฒนาควบคุมการเลื่อนไปยังรายการที่เฉพาะเจาะจง รวมถึงการตั้งค่ารายการเริ่มต้นและออฟเซ็ตได้

    การเปลี่ยนแปลงนี้ยังรวมถึงการแก้ไข ScalingLazyList เพื่อให้วางแนวรอบกึ่งกลางของวิวพอร์ตของ ScalingLazyList แทนที่จะเป็นจุดเริ่มต้นของวิวพอร์ต

    เพิ่มพร็อพเพอร์ตี้ใหม่ anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter ลงใน ScalingLazyList เพื่อควบคุมว่าจะจัดแนวศูนย์ (ScalingLazyListAnchorType.ItemCenter) หรือ Edge (ScalingLazyListAnchorType.ItemStart) ให้ตรงกับเส้นกึ่งกลางของวิวพอร์ตหรือไม่

    ด้วยเหตุนี้ ScalingLazyListItemInfo.offset และ ScalingLazyListItemInfo.adjustedOffset จึงมีการเปลี่ยนแปลง และตอนนี้จะแสดงออฟเซ็ตของรายการที่สัมพันธ์กับทั้งตำแหน่งของรายการในลิสต์และ anchorType ของลิสต์ เช่น สำหรับ ScalingLazyColumn ที่มี anchorType ของ ItemCenter และรายการที่วางตำแหน่งโดยมีกึ่งกลางอยู่บนเส้นกึ่งกลางของวิวพอร์ต ออฟเซ็ตจะเป็น 0

    วิธีการใหม่คือ scrollTo, animatedScrollTo, centerItemIndex และ centerItemOffset (I61b61)

  • เราได้เพิ่มตัวแฮนเดิลปุ่มย้อนกลับไปยัง SwipeDismissableNavHost เพื่อให้การกดปุ่มย้อนกลับเป็นการไปยังระดับก่อนหน้าในลำดับชั้นการนำทาง (I5b086, b/210205624)

เวอร์ชัน 1.0.0-alpha13

15 ธันวาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha13 androidx.wear.compose:compose-material:1.0.0-alpha13 และ androidx.wear.compose:compose-navigation:1.0.0-alpha13 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha13 มีคอมมิตต่อไปนี้

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

  • เราได้เปลี่ยนเป็นRangeIconsภายใน (อ้างอิงภายในโดย InlineSlider และ Stepper) (I927ec)

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

  • แก้ไขปัญหาที่ SwipeDismissableNavHost จะเพิ่มปลายทางลงในลำดับชั้นของ Compose ก่อนที่จะถึงสถานะวงจรการใช้งาน CREATED ซึ่งส่งผลให้เกิด IllegalStateException การแก้ไขนี้เป็นข้อกำหนดเบื้องต้นในการอัปเดตการขึ้นต่อกันใน navigation-compose เป็น 2.4.0-beta02 และเวอร์ชันที่สูงกว่า (I40a2b, b/207328687)

  • เพิ่มคลาสการแจงนับ Drawables เพื่อรับทรัพยากรที่วาดได้ภายในไลบรารี Wear Compose เพื่อให้ไม่ต้องใช้การสะท้อนอีกต่อไป การเปลี่ยนแปลงนี้แก้ไขข้อบกพร่องที่ทำให้ระบบนำ Drawable ของไลบรารีออกเมื่อ minifyEnabled=true หรือ shrinkResources=true (Ib2a98)

  • เพิ่มการทดสอบสำหรับ Stepper ใน Wear Compose (I2d03a)

  • เพิ่มตัวอย่างสำหรับ SwipeDismissableNavHost ในการนำทาง Wear Compose (I85f06)

เวอร์ชัน 1.0.0-alpha12

1 ธันวาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha12 androidx.wear.compose:compose-material:1.0.0-alpha12 และ androidx.wear.compose:compose-navigation:1.0.0-alpha12 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เราได้เพิ่มคอมโพเนนต์ Stepper ซึ่งช่วยให้ผู้ใช้เลือกจากช่วงของค่าได้ Stepper เป็นตัวควบคุมแบบเต็มหน้าจอที่มีปุ่มเพิ่มและลดที่ด้านบนและด้านล่าง รวมถึงมีช่องตรงกลาง (คาดว่าจะใช้ชิปหรือข้อความ) คุณปรับแต่งไอคอนปุ่มได้หากต้องการ (I625fe)

  • เราได้เพิ่ม Composable ใหม่ 2 รายการสำหรับการแสดงกล่องโต้ตอบ ดังนี้ AlertDialog รอการตอบกลับจากผู้ใช้และแสดงชื่อ ไอคอน ข้อความ และ a) ปุ่ม 2 ปุ่มสำหรับตัวเลือกเชิงบวก/เชิงลบอย่างง่าย หรือ b) ชิปที่ซ้อนกันในแนวตั้งหรือชิปสลับสำหรับตัวเลือกที่ยืดหยุ่นมากขึ้น ConfirmationDialog แสดงการรับทราบพร้อมการหมดเวลา กล่องโต้ตอบอย่างง่ายนี้มีช่องสำหรับชื่อและไอคอน (ภาพเคลื่อนไหว) (Ic2cf8)

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

  • เพิ่มหน่วย (มิลลิวินาที) ให้กับค่าระยะเวลาของกล่องโต้ตอบที่แนะนำ (I09b48)

เวอร์ชัน 1.0.0-alpha11

17 พฤศจิกายน 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha11 androidx.wear.compose:compose-material:1.0.0-alpha11 และ androidx.wear.compose:compose-navigation:1.0.0-alpha11 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha11 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เราได้เพิ่มคอมโพเนนต์เครื่องมือเลือกที่ช่วยให้ผู้ใช้เลือกรายการจากรายการที่เลื่อนได้ โดยค่าเริ่มต้น ระบบจะทำซ้ำรายการที่เลือกได้ "อย่างไม่มีที่สิ้นสุด" ในทั้ง 2 ทิศทางเพื่อให้ดูเหมือนกระบอกสูบหมุนเมื่อมองจากด้านข้าง เราจะเพิ่มฟีเจอร์ 2 อย่างในการเปิดตัวครั้งต่อๆ ไป ได้แก่ การสแนปค่าหลังจากปัด/ดีด และการเพิ่มฟังก์ชันลงใน PickerState เพื่อตั้งค่า/เลื่อนไปยังค่าปัจจุบัน (I6461b)

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

  • เพิ่ม ScalingLazyItemScope และตัวแก้ไขใหม่บางรายการ fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight เพื่ออนุญาตให้กำหนดขนาดรายการในรายการตามขนาดของคอนเทนเนอร์ระดับบนสุด คุณตั้งค่าให้รายการเติมขนาดทั้งหมดหรือบางส่วนของขนาดขององค์ประกอบระดับบนได้ ซึ่งจะแสดงฟังก์ชันที่มีอยู่ใน LazyRow/Column (I4612f) อยู่แล้ว
  • เพิ่มการรองรับ ScalingLazyColumn เพื่อให้รายการมีคีย์ได้ นอกจากนี้ยังเพิ่มวิธีการที่สะดวกเพื่ออนุญาตให้เพิ่มรายการจากอาร์เรย์และรายการ (Ic1f89)

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

  • ตัวอย่างเพิ่มเติมสำหรับ TimeText (I8cb64)

เวอร์ชัน 1.0.0-alpha10

3 พฤศจิกายน 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha10 androidx.wear.compose:compose-material:1.0.0-alpha10 และ androidx.wear.compose:compose-navigation:1.0.0-alpha10 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม InlineSlider สำหรับ Wear Compose InlineSlider ช่วยให้ผู้ใช้เลือกจากช่วงของค่าได้ ช่วงของการเลือกจะแสดงเป็นแถบระหว่างค่าต่ำสุดและค่าสูงสุดของช่วง ซึ่งผู้ใช้สามารถเลือกค่าใดค่าหนึ่งได้ (If0148)

  • ดู Codelab ใหม่ของ Compose สำหรับ WearOS

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

  • ตอนนี้ Macrobenchmark มี minSdkVersion ของ 23 แล้ว (If2655)

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

  • อัปเดตการจัดการการเปลี่ยนใน SwipeDismissableNavHost ใน SideEffect (I04994, b/202863359)
  • อัปเดตการจัดการการเปลี่ยนใน SwipeDismissableNavHost (I1cbe0, b/202863359)

เวอร์ชัน 1.0.0-alpha09

27 ตุลาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha09 androidx.wear.compose:compose-material:1.0.0-alpha09 และ androidx.wear.compose:compose-navigation:1.0.0-alpha09 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เราได้เปิดตัวตัวอย่างสำหรับนักพัฒนาแอปของ Compose ใน Wear OS แล้ว โปรดดูบล็อกโพสต์ของเราซึ่งจะรีวิว Composable หลักและลิงก์ไปยังแหล่งข้อมูลเพิ่มเติมเพื่อเริ่มต้นใช้งาน

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

  • เราได้เพิ่มการรองรับให้นักพัฒนาแอปปรับแต่งสีทั้งหมดในธีมสี Material Design ของ Wear ได้ (I4759b, b/199754668)

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

  • เพิ่มตัวอย่าง SwipeToDismissBox ที่คงสถานะ (Ibaffe)
  • เพิ่มลิงก์ไปยังคำแนะนำใน developer.android.com จาก KDocs สำหรับ CurvedText, TimeText และ SwipeToDismissBox (I399d4)
  • ตอนนี้ SwipeDismissableNavHost จะแสดงข้อผิดพลาดหากไม่มีปลายทางปัจจุบัน (ซึ่งบ่งชี้ว่าไม่ได้สร้าง NavGraph ด้วยฟังก์ชันยูทิลิตี wear.compose.navigation.composable) (I91403)
  • เพิ่มเอกสารประกอบและตัวอย่างเพิ่มเติมสำหรับการใช้แหล่งเวลาใน TimeText (I4f6f0)

เวอร์ชัน 1.0.0-alpha08

13 ตุลาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha08 androidx.wear.compose:compose-material:1.0.0-alpha08 และ androidx.wear.compose:compose-navigation:1.0.0-alpha08 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตต่อไปนี้

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

  • เราได้เปลี่ยนชื่อพร็อพเพอร์ตี้ AppCard และ TitleCard เป็น content และย้ายไปไว้ที่ส่วนท้ายของรายการพร็อพเพอร์ตี้เพื่อให้ระบุเป็น Lambda ต่อท้ายได้body นอกจากนี้ เรายังเปลี่ยนชื่อ bodyColor เป็น contentColor เพื่อให้สอดคล้องกับชื่อสล็อตใหม่ด้วย (I57e78)

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

  • เพิ่มลิงก์ไปยังคำแนะนำใน developer.android.com จาก KDocs สำหรับปุ่ม การ์ด ชิป ธีม ตัวบ่งตำแหน่ง และคอมโพเนนต์ Lazy Column ที่ปรับขนาดได้ (I22428)
  • แก้ไขปัญหาที่ WearOS SwipeToDismissBox ไม่จัดการการปัดในบางครั้ง (I9387e)
  • เพิ่มตัวอย่างสำหรับ Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
  • เพิ่มการทดสอบประสิทธิภาพแบบไมโครเบนช์มาร์กสำหรับ Card, Chip, ToggleChip, TimeText และ ScalingLazyColumn (If2fe9)

เวอร์ชัน 1.0.0-alpha07

29 กันยายน 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha07 androidx.wear.compose:compose-material:1.0.0-alpha07 และ androidx.wear.compose:compose-navigation:1.0.0-alpha07 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มคอมโพเนนต์ CurvedText ใน Material ซึ่งเป็นคอมโพเนนต์ที่ช่วยให้นักพัฒนาแอปเขียนข้อความโค้งตามความโค้งของวงกลมได้อย่างง่ายดาย (โดยปกติจะอยู่ที่ขอบของหน้าจอวงกลม) (I19593)

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

  • เพิ่มการทดสอบสำหรับ TimeText (Idfead)
  • เปลี่ยน ArcPaddingValues เป็นอินเทอร์เฟซ (Iecd4c)
  • เพิ่มภาพเคลื่อนไหวลงใน SwipeToDismissBox (I9ad1b)
  • เพิ่มพารามิเตอร์ hasBackground ลงใน SwipeToDismissBox API เพื่อให้ปิดใช้ท่าทางสัมผัสการปัดได้เมื่อไม่มีเนื้อหาพื้นหลังที่จะแสดง (I313d8)
  • rememberNavController() ตอนนี้รับชุดอินสแตนซ์ Navigator ที่ไม่บังคับซึ่งจะเพิ่มลงใน NavController ที่ส่งคืนเพื่อรองรับ Navigator ที่ไม่บังคับได้ดียิ่งขึ้น เช่น Navigator จากสื่อการนำทางของ Accompanist (I4619e)
  • อ้างอิง NamedNavArgument จาก navigation-common และนำสำเนาออกจาก wear.compose.navigation (I43af6)

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

  • แก้ไขความไม่เสถียรของการทดสอบ CurvedRow ในอุปกรณ์ขนาดเล็ก (If7941)
  • แก้ไขการกะพริบที่อาจเกิดขึ้นใน CurvedRow เมื่อเนื้อหาอัปเดต และตรวจสอบว่าได้วัดแถวโค้งอีกครั้ง (Ie4e06)
  • เราได้อัปเดต ChipDefaults.gradientBackgroundChipColors() ให้สอดคล้องกับการเปลี่ยนแปลงข้อกำหนด UX แล้ว ตอนนี้การไล่ระดับสีจะเริ่มต้นด้วย MaterialTheme.colors.primary ที่มีอัลฟ่า 32.5% และสิ้นสุดด้วย MaterialTheme.colors.surface ที่มีอัลฟ่า @ 0% บนพื้นหลังของ MaterialTheme.colors.surface ที่มีอัลฟ่า 75% (Id1548)
  • เราได้อัปเดตสีสำหรับ ToggleChip เมื่ออยู่ในสถานะที่เลือกให้ตรงกับคำแนะนำล่าสุดเกี่ยวกับข้อกำหนด UX ของ Material Design สำหรับ Wear เมื่อเลือกแล้ว ตอนนี้ ToggleChip จะมีพื้นหลังแบบไล่ระดับสีจาก MaterialTheme.color.surface @ 0% alpha ที่ด้านซ้ายบน ไปจนถึง MaterialTheme.color.primary @ 32% alpha ที่ด้านขวาล่าง โดยมีพื้นหลังเป็น MaterialTheme.color.surface @ 75% alpha ซึ่งจะทำให้ ToggleChip มีความแตกต่างระหว่างสถานะที่เลือกและไม่ได้เลือกอย่างชัดเจนยิ่งขึ้น (Idd40b)

เวอร์ชัน 1.0.0-alpha06

15 กันยายน 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha06 androidx.wear.compose:compose-material:1.0.0-alpha06 และ androidx.wear.compose:compose-navigation:1.0.0-alpha06 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เราได้เพิ่ม Scaffold ซึ่งเป็นแอปพลิเคชันระดับบนสุดที่สามารถใช้ร่วมกันได้ ซึ่งมีโครงสร้างสำหรับการจัดการตำแหน่ง PositionIndicators (เช่น Scroll หรือ Volume) พื้นที่ที่ด้านบนของหน้าจอสำหรับแสดงเวลาและสถานะแอปพลิเคชัน และยังรองรับ Vignette เพื่อเบลอขอบด้านบนและด้านล่างของหน้าจอสำหรับเนื้อหาที่เลื่อนได้ พื้นที่หลักของ Scaffold คือที่วางเนื้อหาของแอปพลิเคชัน (I5e0bf)
  • เพิ่มการใช้งาน TimeText สำหรับ Wear Compose (I5654c)

ไลบรารีการนำทางของ Wear Compose

  • เราได้เพิ่มการเปิดตัวครั้งแรกของไลบรารีการนำทาง Wear Compose ซึ่งช่วยให้ผสานรวมระหว่างไลบรารี Wear Compose กับ Androidx Navigation ได้ ซึ่งเป็นวิธีง่ายๆ ในการไปยังฟังก์ชัน @Composable เป็นปลายทางในแอปพลิเคชัน

  • การเปิดตัวครั้งแรกนี้มีฟีเจอร์ต่อไปนี้

    • SwipeDismissableNavHost Composable ที่โฮสต์กราฟการนำทางและให้การนำทางย้อนกลับผ่านท่าทางสัมผัสการปัด
    • NavGraphBuilder.composable ส่วนขยายเพื่อช่วยสร้างกราฟการนำทาง
    • rememberSwipeDismissableNavController() เพื่ออนุญาตสถานะการย้าย
  • ตัวอย่างการใช้งานที่เราสร้าง 2 หน้าจอและไปยังมาระหว่างหน้าจอเหล่านั้น

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Wear Compose Navigation จะรวมอยู่ในแพ็กเกจเป็นไลบรารีแยกต่างหาก เพื่อให้แอปพลิเคชัน Wear Compose แบบง่ายๆ ที่ใช้การนำทางที่สร้างขึ้นเองไม่จำเป็นต้องใช้ไลบรารี Androidx Navigation

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

  • อัปเดต SwipeDismissableNavHost เพื่อรองรับ rememberSaveable โดยการตั้งค่าข้อมูลประจำตัวหลักสำหรับพื้นหลังและเนื้อหา (I746fd)
  • เราได้เพิ่มอะแดปเตอร์ PositionIndicator ที่สามารถจัดการ LazyListState (I21b88)
  • อัปเดต SwipeToDismissBox ให้รองรับ rememberSaveable (Ie728b)
  • เราได้เพิ่มการรองรับ reverseLayout ลงใน ScalingLazyColumn แล้ว ซึ่งจะช่วยให้สามารถย้อนทิศทางการเลื่อนและเลย์เอาต์ได้ (I9e2fc)
  • เลิกใช้งาน performGesture และ GestureScope ซึ่งถูกแทนที่ด้วย performTouchInput และ TouchInjectionScope (Ia5f3f, b/190493367)
  • เราได้เปลี่ยนชื่อ VignetteValue เป็น VignettePosition และเปลี่ยนชื่อ VignetteValue.Both เป็น VignettePosition.TopAndBottom (I57ad7)
  • เราได้เปลี่ยนชื่อ ScalingLazyColumnState เป็น ScalingLazyListState, ScalingLazyColumnItemInfo เป็น ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo เป็น ScalingLazyListLayoutInfo และ ScalingLazyColumnScope เป็น ScalingLazyListScope ในกรณีที่เราตัดสินใจที่จะเพิ่มการใช้งาน ScalingLazyRow ในอนาคต (I22734)

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

  • อัปเดตเอกสารประกอบ CompactChip เพื่ออธิบายสิ่งที่จะเกิดขึ้นหากไม่ได้ระบุทั้งไอคอนและป้ายกำกับ (I4ba88)
  • เราได้ปรับเปลี่ยนคอมโพเนนต์การ์ด Wear บางอย่าง (I6b3d0)
    1. ลดระยะห่างระหว่าง TitleCard กับ Title และ Body จาก 8.dp เป็น 2.dp
    2. เปลี่ยนแบบอักษรส่วนหัวของ TitleCard จาก body เป็น title3
    3. เปลี่ยนการไล่สีพื้นหลังของการ์ดเพื่อให้พื้นหลังดูเข้มขึ้น

เวอร์ชัน 1.0.0-alpha05

1 กันยายน 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha05 และ androidx.wear.compose:compose-material:1.0.0-alpha05 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตต่อไปนี้

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

  • ทำเครื่องหมาย ArcPaddingValues เป็น @Stable (I57deb)
  • ตอนนี้ ScalingLazyColumnState ได้ใช้การติดตั้งใช้งานอินเทอร์เฟซ ScrollableState แล้ว ซึ่งช่วยให้นักพัฒนาแอปเข้าถึงการเลื่อนคอมโพเนนต์แบบเป็นโปรแกรมได้ (I47dbc)

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

  • เราได้ลดระยะห่างระหว่างไอคอนกับข้อความในชิปและ ToggleChip เพื่อให้สอดคล้องกับการอัปเดตข้อกำหนด UX (I83802)

เวอร์ชัน 1.0.0-alpha04

18 สิงหาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha04 และ androidx.wear.compose:compose-material:1.0.0-alpha04 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เพิ่ม SwipeToDismissBox และตัวแก้ไขที่ปัดได้ซึ่งใช้เพื่อ รองรับท่าทางสัมผัสปัดเพื่อปิดจากซ้ายไปขวา แม้ว่าจะไม่ขึ้นอยู่กับคอมโพเนนต์การนำทาง แต่คาดว่าจะใช้เพื่อออกจากหน้าจอหนึ่งและไปยังอีกหน้าจอหนึ่ง เพิ่มการทดสอบการผสานรวมเพื่อสาธิตการปัดเพื่อปิด (I7bbaa)
  • เราได้เพิ่มอินเทอร์เฟซ ScalingLazyColumnItemInfo และ ScalingLazyColumnLayoutInfo ลงในคลาส ScalingLazyColumnState เพื่อช่วยให้นักพัฒนาแอปทราบตำแหน่งและขนาดจริงของรายการใน ScalingLazyColumn หลังจากใช้การปรับขนาดแล้ว นอกจากนี้ เรายังแก้ไขข้อบกพร่องเกี่ยวกับวิธีคำนวณการปรับขนาดเมื่อใช้การเว้นวรรคเนื้อหา "ด้านบน" กับ ScalingLazyColumn (I27c07)

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

  • เพิ่มคลาส CurvedTextStyle เพื่อระบุตัวเลือกการจัดรูปแบบข้อความโค้ง คล้ายกับ TextStyle แต่ตอนนี้รองรับเฉพาะสี fontSize และพื้นหลัง และเราจะเพิ่มตัวเลือกการจัดรูปแบบอื่นๆ ในอนาคต (I96ac3)
  • เราได้เพิ่มอินเทอร์เฟซ ScalingLazyColumnItemInfo และ ScalingLazyColumnLayoutInfo ลงในคลาส ScalingLazyColumnState เพื่อช่วยให้นักพัฒนาแอปทราบตำแหน่งและขนาดจริงของรายการใน ScalingLazyColumn หลังจากใช้การปรับขนาดแล้ว นอกจากนี้ เรายังแก้ไขข้อบกพร่องเกี่ยวกับวิธีคำนวณการปรับขนาดเมื่อใช้การเว้นวรรคเนื้อหา "ด้านบน" กับ ScalingLazyColumn (I27c07)
  • เพิ่ม @ExperimentalWearMaterialApi ไปยังการแจงนับ SwipeDismissTarget ซึ่งเป็นส่วนหนึ่งของ SwipeToDismissBox API (I48b5e)

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

  • เพิ่มสื่อการทดสอบสำหรับ SwipeToDismissBox (I9febc)

เวอร์ชัน 1.0.0-alpha03

4 สิงหาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha03 และ androidx.wear.compose:compose-material:1.0.0-alpha03 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตต่อไปนี้

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

  • เพิ่มคอมโพเนนต์ CurvedText ซึ่งช่วยให้นักพัฒนาแอปเขียนข้อความตาม ความโค้งของวงกลม (มักจะอยู่ที่ขอบของหน้าจอวงกลม) ได้อย่างง่ายดาย (Id1267)
  • เราได้เปลี่ยนชื่อ CardDefaults.imageBackgroundPainter() เป็น CardDefaults.imageWithScrimBackgroundPainter() เพื่อให้ชัดเจนว่าภาพพื้นหลังจะมีเลเยอร์สีทึบวาดทับอยู่ (I53206)
  • เพิ่มคอมโพเนนต์ ScalingLazyColumn ที่มีคอมโพเนนต์รายการสำหรับ Wear Material ซึ่งให้มุมมองฟิชอายโดยที่เนื้อหาของรายการจะลดขนาดลงและโปร่งใสขึ้นเมื่อเลื่อนไปที่ขอบของคอมโพเนนต์ (I7070c)

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

  • เราได้เปลี่ยนสีเริ่มต้นของเนื้อหา appName ใน AppCard เพื่อตอบสนองต่อการอัปเดตข้อกำหนด UX ตอนนี้สีเริ่มต้นสำหรับ appName คือ MaterialTheme.colors.onSurfaceVariant นอกจากนี้ ยังเพิ่มคำอธิบายเอกสารพารามิเตอร์ที่ขาดหายไปสำหรับช่องชื่อ (Ic4ad1)

เวอร์ชัน 1.0.0-alpha02

21 กรกฎาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha02 และ androidx.wear.compose:compose-material:1.0.0-alpha02 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เพิ่มคลาส CurvedRow ใหม่ไปยัง Composable ที่จัดวางในส่วนโค้ง (I29941)
  • เพิ่มการ์ดประเภทใหม่เพื่อใช้ในแอปพลิเคชัน (TitleCard) รวมถึงเพิ่มการรองรับการใช้รูปภาพเป็นพื้นหลังของการ์ดเพื่อเน้นเนื้อหา (I53b0f)

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

  • เพิ่มการรองรับการจัดแนวรัศมีให้กับ CurvedRow (คล้ายกับการ จัดแนวตั้งในแถว) (Id9de5)
  • เพิ่มคลาส CurvedRow ใหม่ไปยัง Composable ที่จัดวางในส่วนโค้ง (I29941)
  • เพิ่มการ์ดประเภทใหม่เพื่อใช้ในแอปพลิเคชัน (TitleCard) รวมถึงเพิ่มการรองรับการใช้รูปภาพเป็นพื้นหลังของการ์ดเพื่อเน้นเนื้อหา (I53b0f)
  • เพิ่มไอคอนสลับ (ช่องทําเครื่องหมาย สวิตช์ และปุ่มตัวเลือก) ลงใน ToggleChipDefaults เพื่อให้นักพัฒนาแอปกําหนดค่า ToggleChip และ SplitToggleChips ได้ง่ายขึ้น (I7b639)
  • เราได้อัปเดตระยะขอบเนื้อหาเริ่มต้นและสิ้นสุดสำหรับชิปเพื่อให้มีขนาด 14.dp อย่างสม่ำเสมอ ไม่ว่าชิปจะมีไอคอนหรือไม่ก็ตาม (ก่อนหน้านี้คือ 12.dp หากมีไอคอน และ 14.dp หากไม่มี) (I34c86)

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

  • เพิ่มการทดสอบสำหรับ CurvedRow (I93cdb)
  • เชื่อมโยงทรัพยากร Dependency ของ Wear Compose กับ Compose 1.0.0-rc01 (Ie6bc9)
  • เปลี่ยนการจัดการการวาดภาพพื้นหลังใน Cards และ Chips เพื่อให้ระบบครอบตัดรูปภาพแทนที่จะยืดรูปภาพเพื่อรักษาขนาดสัดส่วนของรูปภาพ (I29b41)
  • เพิ่มการทดสอบการผสานรวมและการสาธิตเพิ่มเติมสำหรับ Button และ ToggleButton (5e27ed2)
  • เพิ่มการทดสอบชิปเพื่อครอบคลุมสีของเนื้อหาสำหรับ ImageBackgroundChip (Ia9183)

เวอร์ชัน 1.0.0-alpha01

1 กรกฎาคม 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha01 และ androidx.wear.compose:compose-material:1.0.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

Wear Compose เป็นไลบรารีที่ใช้ Kotlin และ Compose ซึ่งรองรับ Material Design สำหรับ Wear ซึ่งเป็นส่วนขยายของ Material Design สำหรับอุปกรณ์ที่สวมใส่ได้ของ WearOS การเปิดตัวเวอร์ชันอัลฟ่าครั้งแรกนี้มีการใช้งานฟังก์ชันเบื้องต้นต่อไปนี้

  • ธีม Material - กำหนดค่าสี การจัดรูปแบบข้อความ และรูปร่างอย่างสอดคล้องกันในคอมโพเนนต์ที่ใช้จากไลบรารีนี้
  • ชิป, CompactChip - ชิปมีรูปร่างเป็นรูปสนามกีฬาและมีรูปแบบต่างๆ ให้เลือกใช้เพื่อนำเนื้อหาไอคอน ป้ายกำกับ และป้ายกำกับรอง
  • - ToggleChip, SplitToggleChip - ชิปประเภทพิเศษที่มีช่องสำหรับไอคอนสลับ 2 สถานะ เช่น ปุ่มตัวเลือกหรือช่องทำเครื่องหมาย นอกจากนี้ SplitToggleChip ยังมีพื้นที่ที่แตะได้ 2 ส่วน ส่วนหนึ่งคลิกได้และอีกส่วนหนึ่งสลับได้
  • Button, CompactButton - ปุ่มมีรูปร่างเป็นวงกลม โดยมีช่องเนื้อหาเดียวสำหรับไอคอนหรือข้อความขนาดเล็ก (สูงสุด 3 อักขระ)
  • ToggleButton - ปุ่มที่เปิดหรือปิดการดำเนินการ โดยมีช่องเดียวสำหรับไอคอนหรือข้อความสั้นๆ (สูงสุด 3 อักขระ)
  • การ์ด, AppCard - รูปสี่เหลี่ยมผืนผ้าที่มีมุมโค้งมน มีช่องสำหรับเนื้อหา เช่น ไอคอนแอป เวลา ชื่อ และเนื้อหา

ในอนาคต เราจะขยายชุดวิดเจ็ตโดยเพิ่มการรองรับตัวเลือก แถบเลื่อน รายการ ตัวบ่งชี้หน้า ไดอะล็อก ตัวบ่งชี้แถบเลื่อน ข้อความแจ้ง และอื่นๆ ของ Material Design สำหรับ Wear

นอกจากนี้ เรายังจะให้การสนับสนุนฟีเจอร์อื่นๆ ที่เฉพาะเจาะจงสำหรับอุปกรณ์ที่สวมใส่ได้ เช่น เลย์เอาต์และข้อความโค้ง รวมถึงโครงสร้างพื้นฐานที่จะช่วยให้นักพัฒนาแอปสร้างแอป/การวางซ้อนสำหรับอุปกรณ์ที่สวมใส่ได้ง่ายขึ้น

Wear Compose Material ออกแบบโดยใช้หลักการเดียวกับ Compose Material แม้ว่าจะมุ่งเป้าไปที่อุปกรณ์ที่สวมใส่ได้ก็ตาม ควรใช้ไลบรารี Material ของ Wear Compose แทนไลบรารี Material ของ Compose เมื่อสร้างแอปสำหรับอุปกรณ์ที่สวมใส่ได้

ไลบรารี "Material" ทั้ง 2 รายการควรพิจารณาว่าไม่สามารถใช้ร่วมกันได้และไม่ควรใช้ร่วมกันในแอปเดียวกัน หากนักพัฒนาแอปพบว่าตนเองรวมไลบรารี Compose Material ไว้ในการอ้างอิง แสดงว่า a) ไลบรารี Wear Compose Material ไม่มีคอมโพเนนต์บางอย่าง โปรดแจ้งให้เราทราบว่าคุณต้องการอะไร หรือ b) คุณกำลังใช้คอมโพเนนต์ที่เราไม่แนะนำให้ใช้ในอุปกรณ์ที่สวมใส่ได้