Wear Compose
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
---|---|---|---|---|
13 สิงหาคม 2025 | 1.4.1 | 1.5.0-rc02 | - | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Wear คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูลของคุณ
ดึงดูด
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.1" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.1" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.1" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.1") // 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.4.1") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.1") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.1") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.1") // 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.5
เวอร์ชัน 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
รองรับทิศทางข้อความจากขวาไปซ้ายแล้ว (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
- อัปเดต Hierarchical Focus API - เปลี่ยนชื่อ
Modifier.hierarchicalFocus
เป็นModifier.hierarchicalFocusGroup
และนำพารามิเตอร์การเรียกกลับออก นำการโอเวอร์โหลดของModifier.hierarchicalFocusRequester
ออกด้วยพารามิเตอร์FocusRequester
สร้างCompositionLocal
,LocalScreenIsActive
ใหม่เพื่อให้คอมโพเนนต์สามารถแจ้งและตรวจสอบว่าหน้าจอใดที่ใช้งานอยู่ (I5ff7c) - เลิกใช้งาน
SwipeToReveal
จาก Wear Compose Foundation เพื่อให้ใช้ APISwipeToReveal
ใน Wear Compose Material และ Wear Compose Material3 แทน โปรดแทนที่การนำเข้า Wear FoundationSwipeToReveal
ด้วยการนำเข้า Wear Compose Material/ Wear Compose Material3 เพื่อใช้ API ต่อไป (Ia147d) - ย้ายการอ้างอิง
SwipeToReveal
ของ Wear Compose Material3 ใน 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
ลงใน ComposableSwipeToReveal
; นำความสามารถในการปรับแต่ง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 แทนเพื่อจดจำฟังก์ชัน LambdacontentDescription
ล่าสุด (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
- การอ้างอิงทั้งหมดของ Material
SwipeToReveal
ใน FoundationSwipeToReveal
ได้ย้ายไปที่แพ็กเกจ 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
ตอนนี้ลักษณะการทำงานเริ่มต้นของ FoundationSwipeToReveal
คือการไม่อนุญาตให้ปัดเมื่อท่าทางสัมผัสเริ่มต้นจากขอบ ตอนนี้ลักษณะการทำงานเริ่มต้นของ Material3SwipeToReveal
คือการไม่อนุญาตให้ปัดเมื่อท่าทางสัมผัสเริ่มต้นจากขอบ เมื่อตั้งค่าSwipeDirection
เป็นทิศทางเดียว (I32ef0) - ตอนนี้ TLC ใช้ contentPadding ที่ว่างเปล่าโดยค่าเริ่มต้นแทนการวางรายการแรกและรายการสุดท้ายไว้ตรงกลาง (I77ab7)
การแก้ไขข้อบกพร่อง
- ไลบรารี Wear Compose ได้รับการอัปเดตเป็นคอมไพเลอร์ Kotlin 2.0 แล้ว (I2de79)
- แก้ไขตัวอย่าง
LetterSpacing
โค้งบนรองพื้น (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
ด้วยพารามิเตอร์ IntmaxFlingPages
ซึ่งใช้เพื่อระบุจำนวนหน้าสูงสุดที่ 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) - เราได้เพิ่มการป้องกันไม่ให้เกิดข้อขัดข้องเมื่อเข้าถึงการตั้งค่า reducemotion (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)
- เราได้กำหนดให้พารามิเตอร์ภาพเคลื่อนไหวการสแนปของ Pager เป็นส่วนหนึ่งของ
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
ผู้โทรปิดใช้การมอร์ฟอัตโนมัติได้โดยใช้ WrapperTransformExclusion
ใหม่ (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 FoundationLazyColumn
ได้ชัดเจนยิ่งขึ้น (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
เมื่อตั้งค่าสถานะ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 พร้อมด้วย APILazyColumnState
และ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 OSSwipeDismissableNavHost
ตอนนี้มีภาพเคลื่อนไหวเมื่อกดเข้าสำหรับการเปลี่ยนฉากในแอปแล้วPositionIndicator
จะแสดงโดยค่าเริ่มต้นเมื่อหน้าจอแสดงเป็นครั้งแรก
การเปลี่ยนแปลงเพิ่มเติม
- หากต้องการดูชุดการเปลี่ยนแปลงที่สมบูรณ์ยิ่งขึ้นซึ่งเปิดตัวในเวอร์ชัน 1.3.0 โปรดดูบันทึกประจำรุ่นเบต้า 01
เวอร์ชัน 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)
- เราได้เพิ่มฉบับร่างภายในของการรองรับการตอบสนองแบบสัมผัส ซึ่งเป็นส่วนหนึ่งของความพยายามที่ยิ่งใหญ่กว่าในการย้ายลักษณะการทำงานแบบหมุนไปยัง 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 นี้จะสร้างการลบล้างตัวแก้ไขมากกว่าที่จำเป็น ดังนั้นเราจึงไม่แนะนำให้ใช้ 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
ภายในคอมโพเนนต์หากจำเป็น การเปลี่ยนเป็น null จะทำให้คอมโพเนนต์บางอย่างไม่จัดสรร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
ใน ComposableSwipeDismissableNavHost
และใส่ปุ่มที่อนุญาตให้ผู้ใช้ไปที่หน้าจอก่อนหน้า - หากต้องการปิดภาพเคลื่อนไหวสำหรับตัวบ่งชี้ตำแหน่งระหว่างภาพเคลื่อนไหวแบบค่อยๆ ปรากฏและเปลี่ยนตำแหน่งภายในรายการที่เลื่อนได้ ให้ใช้ออบเจ็กต์
SnapSpec
- ขณะรอให้แอปสื่อโหลดเนื้อหาสำหรับการเล่น ให้แสดง Composable ที่ว่างเปล่า
Placeholder
- หากต้องการสร้างคอลเล็กชันของรายการที่ขยายได้ตามต้องการ ให้ลองใช้คลาส
ExpandableStateMapping
เวอร์ชันทดลอง
เวอร์ชัน 1.3.0-rc01
10 มกราคม 2024
androidx.wear.compose:compose-*:1.3.0-rc01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-rc01 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
-
เราได้อัปเดต
MaterialTheme
รูปร่างขนาดใหญ่ให้ใช้รัศมีมุมโค้ง 26dp และตอนนี้ชิปและ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
จะปิดการเว้นวรรคแบบอักษรเพื่อให้สอดคล้องกันในแพลตฟอร์ม AndroidChip
และToggleChip
จะปรับความสูงให้พอดีกับเนื้อหาที่ขยายเนื่องจากแบบอักษรขนาดใหญ่เพื่อการช่วยเหลือพิเศษ- ตอนนี้
PositionIndicator
มีข้อกำหนดของภาพเคลื่อนไหวแต่ละรายการสำหรับภาพเคลื่อนไหวแบบจางเข้า จางออก และเปลี่ยนตำแหน่งแล้ว เราขอแนะนำให้ปิดการจางเข้าและการเปลี่ยนตำแหน่งเมื่อใช้กับรายการที่เลื่อนได้เพื่อประสิทธิภาพ ExpandableStateMapping
มีวิธีใหม่ในการสร้างExpandableStates
เมื่อจำเป็นต้องสร้างตามความต้องการและไม่จำเป็นต้องมีขอบเขต@Composable
Placeholder
ตอนนี้อนุญาตให้รีเซ็ตได้หากเนื้อหาไม่อยู่ในสถานะพร้อมใช้งานอีกต่อไป นอกจากนี้ การตั้งค่าลดการเคลื่อนไหวจะมีผลกับเอฟเฟกต์ระยิบระยับและการเคลื่อนไหวแบบเช็ดออกในPlaceholder
ด้วย
ปัญหาที่ทราบ
PositionIndicator
จะไม่แสดงในตอนแรกเมื่อหน้าจอแสดงเป็นครั้งแรก เราตั้งใจที่จะทำการเปลี่ยนแปลงในเวอร์ชัน 1.4 อัลฟ่าช่วงต้นเพื่อให้แสดงในตอนแรก แต่จะไม่มีภาพเคลื่อนไหว
การเปลี่ยนแปลง API
- เราได้เปลี่ยนชื่อระดับพื้นฐาน
SwipeToDismissBox
เป็นBasicSwipeToDismissBox
ซึ่งจะทำให้เห็นความแตกต่างระหว่างคอมโพเนนต์ระดับ Foundation กับระดับ Material ได้ชัดเจนยิ่งขึ้นSwipeToDismissBox
โดยตัวหลังจะดึงสีจากMaterialTheme
เพื่อใช้ในเลเยอร์กึ่งโปร่งใสและมอบหมายการติดตั้งใช้งานที่เหลือให้กับBasicSwipeToDismissBox
(Ibecfc) - เราได้ทําเครื่องหมาย
rememberExpandableStateMapping
เป็นเวอร์ชันทดลองและปรับปรุงประสิทธิภาพของexpandableItem
(I5f6bc) - เราได้แทนที่คลาส
SwipeToRevealAction
ใน MaterialSwipeToReveal
Card และ Chip API ด้วย API ที่อิงตามสล็อตโดยใช้ ComposableSwipeToRevealPrimaryAction
,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
กับรายการที่เลื่อนได้ เราขอแนะนำให้ปิดใช้ FlagshowFadeInAnimation
และ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
กับรายการที่เลื่อนได้ เราขอแนะนำให้ปิดใช้ FlagshowFadeInAnimation
และ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) - เราได้เพิ่มตัวอย่างสำหรับวัสดุ
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 แล้ว การใช้งาน MaterialSwipeToDismissBox
จะส่งต่อข้อมูลไปยัง 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)

- โดยจะไม่มีการแสดงอีกต่อไปเมื่อปิดการเว้นวรรคแบบอักษร

- เราได้อัปเดต
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
- เปิดตัว Compose สำหรับ Wear OS 1.2.0 เวอร์ชันเสถียร (อ่านเพิ่มเติม)
- ดูรายการการเปลี่ยนแปลงที่สำคัญใน Wear Compose 1.2 ได้ในบันทึกประจำรุ่นสำหรับ (Compose สำหรับ Wear OS 1.2 Beta01)
เวอร์ชัน 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 ที่มีอยู่เป็นจริง สำหรับข้อมูลพื้นฐาน โปรดดูแก้ไขการเว้นวรรคแบบอักษรใน Compose เราจะเปลี่ยน DefaultTextStyle เพื่อปิดการเว้นวรรคแบบอักษรในเวอร์ชันอัลฟ่า 1.3 ช่วงต้น เพื่อให้สอดคล้องกันในแพลตฟอร์ม Android การดำเนินการนี้จะช่วยแก้ปัญหาข้อความบางส่วนที่ถูกตัดออกเมื่อใช้ขนาดแบบอักษรขนาดใหญ่ และอาจส่งผลต่อเลย์เอาต์หน้าจอด้วย ดังนั้นคุณจึงต้องอัปเดตการทดสอบภาพหน้าจอ เช่น เมื่อใช้ขนาดแบบอักษรขนาดใหญ่ เราจะเห็นข้อความถูกตัดดังนี้

- โดยจะไม่มีการแสดงอีกต่อไปเมื่อปิดการเว้นวรรคแบบอักษร

คุณใช้การตั้งค่าใหม่ได้แล้วตอนนี้โดยการลบล้างการจัดรูปแบบตัวอักษรในธีม ดูโค้ดตัวอย่าง
เวอร์ชัน 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 โดยจะจัดการโฟกัสระหว่างเครื่องมือเลือกต่างๆ เปิดใช้การจัดกึ่งกลางอัตโนมัติของเครื่องมือเลือกตามพารามิเตอร์ และอนุญาตให้นักพัฒนาแอปเปลี่ยนโฟกัสระหว่างเครื่องมือเลือกต่างๆ ขณะจัดการเหตุการณ์จากกลุ่ม ในโหมด TalkbackPickerGroup
จะจัดการโฟกัสของ 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 ที่กำหนดเป้าหมายเป็น MaterialScalingLazyColumn
ถูกเลิกใช้งานแล้ว โปรดอัปเดตเป็นFoundation.Lazy ScalingLazyColumn
นอกจากนี้ ยังได้เพิ่มฟิลด์anchorType
ลงในScalingLazyListLayoutInfo
ด้วย (I29d95)ScalingLazyColumn
ได้รับการทำเครื่องหมายว่าเลิกใช้งานแล้วในแพ็กเกจ Wear Compose Material (I16d34)- เราได้อัปเดตตัวแก้ไข
ScrollAway
เพื่อใช้ScalingLazyListState
จาก Wear ComposeFoundation.Lazy
และเลิกใช้งานการโอเวอร์โหลดที่ใช้ScalingLazyListState
จาก Wear Compose Material (Ifc42c) - เราได้อัปเดต Dialog API ให้ใช้
ScalingLazyListState
จากFoundation.Lazy
และเลิกใช้งานการโอเวอร์โหลดที่ใช้ MaterialScalingLazyListState
(Ic8960) - เราได้อัปเดต Picker API ให้ใช้
ScalingParams
จากFoundation.Lazy
และเลิกใช้งานโอเวอร์โหลดที่ใช้ MaterialScalingParams
แล้ว (Idc3d8)
การแก้ไขข้อบกพร่อง
- เราได้แก้ไขข้อบกพร่องที่ทำให้เกิดการจัดองค์ประกอบใหม่ที่ไม่จำเป็นใน
ScalingLazyListState.centerItemIndex
โดยตรวจสอบว่าระบบจะพุชการอัปเดตก็ต่อเมื่อค่ามีการเปลี่ยนแปลงจริง (Ia9f38) - เราได้ปรับปรุงประสิทธิภาพของ
SwipeToDismissBox
(I3933b) - เพิ่มการทดสอบเปรียบเทียบสำหรับ
ScalingLazyColumn
ใน Wear Compose Foundation (Ie00f9) - เราได้อัปเดตเมธอดของคลาส
ScalingLazyColumn
ภายในบางรายการใน Material เพื่อใช้เมธอดที่เทียบเท่าจากFoundation.Lazy
(I38aab) - เราได้แก้ไขปัญหาบางอย่างในการทดสอบ Picker และเพิ่มการทดสอบเพิ่มเติมเพื่อตรวจสอบการเลื่อนด้วยออฟเซ็ต (I6ac34)
- เราได้ย้ายข้อมูล
ScalingLazyColumn
การสาธิตการผสานรวมให้ขึ้นอยู่กับFoundation.Lazy
แทนที่จะเป็น MaterialScalingLazyColumn
(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
- เราได้เพิ่ม
HierarchicalFocusCoordinator
composable เพื่อให้ทำเครื่องหมายซับทรีของ Composition เป็นเปิดใช้โฟกัสหรือปิดใช้โฟกัสได้(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
- เปิดตัว Compose สำหรับ Wear OS 1.1.0 เวอร์ชันเสถียร (อ่านเพิ่มเติม)
- ดูรายการการเปลี่ยนแปลงที่สำคัญใน Wear Compose 1.1 ได้ในบันทึกประจำรุ่นสำหรับ (Compose สำหรับ Wear OS 1.1 Beta01)
ฟีเจอร์ใหม่
- เราได้อัปเดตฟังก์ชันการทำงานของตัวยึดตำแหน่งเวอร์ชันทดลองเพื่อให้ระบบใช้เอฟเฟกต์ "เช็ดออก" ทันทีเมื่อเนื้อหาพร้อมใช้งาน แทนที่จะรอให้ลูปภาพเคลื่อนไหวถัดไปเริ่ม นอกจากนี้ เรายังได้อัปเดตภาพเคลื่อนไหวแบบกากเพชรและแบบเช็ดออกด้วย (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 สำหรับ 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
เขียนแล้ว (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
constructor taking aTextStyle
now also respects thefontWeight
(This may be added to the constructor and copy methods in future revisions of the 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 - ใช้แทน Compose สำหรับอุปกรณ์เคลื่อนที่
MaterialTheme
โดยมีสี รูปร่าง และการพิมพ์สำหรับสร้างคอมโพเนนต์ในอุปกรณ์ที่สวมใส่ได้ซึ่งใช้หลักเกณฑ์ UX ของ Material Design สำหรับ Wear โดยไม่ต้องดัดแปลง 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 ด้านล่าง) - ข้อความ - การใช้งานข้อความ Compose Material ใน 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
DSLbasicCurvedText
ช่วยให้นักพัฒนาแอปเขียนข้อความโค้งตามความโค้งของวงกลมได้อย่างง่ายดาย (โดยปกติจะอยู่ที่ขอบของหน้าจอวงกลม)basicCurvedText
สร้างได้ภายในCurvedLayout
เท่านั้นเพื่อให้ได้รับประสบการณ์ที่ดีที่สุด เช่น การระบุตำแหน่ง และการใช้CurvedModifiers
โปรดทราบว่าในกรณีส่วนใหญ่ คุณควรใช้ curvedText แทน เนื่องจากใช้การจัดธีม MaterialcurvedComposable - ห่อหุ้มเนื้อหาที่ใช้ได้กับ 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 รอบเนื้อหาของตัวเลือกเมื่อวาดด้วยการไล่ระดับสีเพื่อป้องกันการสั่นของข้อความที่เห็นเมื่อปัด (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
ซึ่งคล้ายกับตัวแก้ไขในฟีเจอร์เขียน คุณใช้แอตทริบิวต์นี้กับองค์ประกอบย่อยของ curvedRow และ CurvedLayout (สำหรับความกว้าง) รวมถึงองค์ประกอบย่อยของ curvedColumn (สำหรับความสูง) ได้ (I8abbd) - เพิ่มตัวแก้ไข
CurvedModifier.size
,.angularSize
และ.radialSize
เพื่อระบุขนาดขององค์ประกอบโค้ง (I623c7)
การเปลี่ยนแปลง API
- จัดเรียงพารามิเตอร์ใหม่เพื่อให้พื้นหลังอยู่ก่อนสีอย่างสม่ำเสมอใน Wear Compose API (I43208)
- นำพารามิเตอร์
insideOut
และ clockwise ออก แล้วแทนที่ด้วยค่าคงที่ที่มีรายละเอียดมากขึ้นในคลาสใหม่ ตอนนี้เลย์เอาต์โค้งสามารถรับรู้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()
ซึ่งจะช่วยให้นักพัฒนาแอปสร้าง ComposableIcon()
ของตนเองด้วยชุด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 หลายรายการซึ่งแก้ไขได้ทีละรายการเท่านั้น เมื่อเครื่องมือเลือกเป็นแบบอ่านอย่างเดียว เครื่องมือจะแสดงตัวเลือกที่เลือกอยู่ในปัจจุบันและป้ายกำกับ (หากมี) (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 ของ Material Design สำหรับ Wear สำหรับเวอร์ชัน 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 ในลิสต์ (ดัชนี == 1) จะอยู่ตรงกลาง Viewport เมื่อเริ่มต้น และรายการแรก (ดัชนี == 0) จะอยู่ก่อนรายการที่ 2 ซึ่งจะช่วยให้เอฟเฟกต์ภาพเริ่มต้นดีขึ้นทันทีที่ใช้งาน เนื่องจากรายการส่วนใหญ่ในวิวพอร์ตจะเต็มไปด้วยรายการ (I0c623, b/217344252) - เราได้ลด
ScalingLazyColumn
ค่าเริ่มต้นextraPadding
ที่ให้ไว้เพื่อให้มีรายการในลิสต์จำนวนมากเพียงพอที่จะดึงมาใช้ (แม้ว่าเราจะลดขนาดบางรายการลง) จาก 10% เป็น 5% วิธีนี้จะช่วยหลีกเลี่ยงการเขียนรายการเพิ่มเติมที่อาจไม่ปรากฏใน Viewport หากใช้ 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 สำหรับ 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)
การเปลี่ยนแปลง 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
body
เป็นcontent
และย้ายไปไว้ที่ส่วนท้ายของรายการพร็อพเพอร์ตี้เพื่อให้ระบุเป็น Lambda ต่อท้ายได้ นอกจากนี้ เรายังเปลี่ยนชื่อbodyColor
เป็นcontentColor
เพื่อให้สอดคล้องกับชื่อสล็อตใหม่ด้วย (I57e78)
การแก้ไขข้อบกพร่อง
- เพิ่มลิงก์ไปยังคำแนะนำใน developer.android.com จาก KDocs สำหรับปุ่ม การ์ด ชิป ธีม ตัวบ่งตำแหน่ง และคอมโพเนนต์ LazyColumn ที่ปรับขนาดได้ (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 ของ Wear Material Design เมื่อเลือกแล้ว ตอนนี้ 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 (เช่น การเลื่อนหรือระดับเสียง) พื้นที่ที่ด้านบนของหน้าจอสำหรับแสดงเวลาและสถานะแอปพลิเคชัน และยังรองรับ 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
การเปลี่ยนแปลง 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)
- ลดระยะห่างระหว่าง TitleCard กับ Title และ Body จาก 8.dp เป็น 2.dp
- เปลี่ยนแบบอักษรส่วนหัวของ TitleCard จาก body เป็น title3
- เปลี่ยนการไล่สีพื้นหลังของการ์ดเพื่อให้พื้นหลังดูเข้มขึ้น
เวอร์ชัน 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 ซึ่งให้มุมมอง Fisheye โดยเนื้อหาของรายการจะลดขนาดลงและโปร่งใสขึ้นเมื่อเลื่อนไปที่ขอบของคอมโพเนนต์ (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) คุณกำลังใช้คอมโพเนนต์ที่เราไม่แนะนำให้ใช้ในอุปกรณ์ที่สวมใส่ได้