wear protolayout
| อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| 22 ตุลาคม 2025 | 1.3.0 | - | - | 1.4.0-alpha02 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน wear-protolayout คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ
แอปหรือโมดูล
ดึงดูด
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยเราปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.4
เวอร์ชัน 1.4.0-alpha02
22 ตุลาคม 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มแหล่งที่มาของเหตุการณ์แพลตฟอร์มใหม่ (
isInAmbientMode) ที่อธิบายว่าอุปกรณ์อยู่ในโหมดแอมเบียนท์หรือไม่ (Ief832)
การเปลี่ยนแปลง API
- ตอนนี้
PendingIntentclickableยอมรับการดำเนินการสำรอง (LoadAction/LaunchAction) ที่จะใช้เมื่อPendingIntentไม่รองรับโดยโปรแกรมแสดงผลProtoLayoutระบบจะเลือกการดำเนินการสำรองและวางในการจัดวางโดยอัตโนมัติเมื่อเวอร์ชันของโปรแกรมแสดงผลต่ำกว่าเวอร์ชันที่รองรับPendingIntent(I6eee2, b/450259727) - ตอนนี้เราได้เปลี่ยนฟิลด์
protoLayoutScopeภายในMaterialScopeเป็นNonNullแล้วเพื่อให้ใช้งานได้ง่ายขึ้นเมื่อสร้างMaterialScopeผ่านmaterialScopeWithResourcesนอกจากนี้ ยังมีฟังก์ชันhasProtoLayoutScopeเพื่อตรวจสอบว่ามีอยู่หรือไม่ (I1858f, b/450067019)
เวอร์ชัน 1.4.0-alpha01
24 กันยายน 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มเมธอดตัวช่วยสำหรับ
LayoutModifierซึ่งทำให้องค์ประกอบค่อยๆ ปรากฏขึ้นเมื่อไทล์เริ่มมองเห็นได้ (I38531, b/390345969) - เพิ่ม
materialScopeWithResourcesเพื่อรองรับแนวคิด M3MaterialScopeซึ่งดูแลการลงทะเบียนทรัพยากรโดยอัตโนมัติด้วย ในนั้นได้เพิ่มเมธอดตัวช่วยใหม่สำหรับรูปภาพ (backgroundImageavatarImageและไอคอน) ซึ่งช่วยให้ไม่ต้องลงทะเบียนทรัพยากรในonTileResourceRequestด้วยตนเองเมื่อใช้งาน (I525bd, b/428692714) ProtoLayoutตัวช่วย Kotlin สำหรับImageและImageResourcesสำหรับการใช้งานกับProtoLayoutScopeและการลงทะเบียนทรัพยากรโดยอัตโนมัติ (Iada82, b/430584304)- เพิ่ม Getter สำหรับจำนวนพร็อพเพอร์ตี้ Lottie ที่อนุญาตในการปรับแต่งภาพเคลื่อนไหว Lottie รายการเดียว (I73733, b/436532706)
- เพิ่ม API ใน
AndroidLottieResourceByResIdเพื่ออนุญาตให้ปรับแต่งภาพเคลื่อนไหว Lottie ผ่านพร็อพเพอร์ตี้ และเพิ่ม API สำหรับสร้างพร็อพเพอร์ตี้เพื่อกำหนดธีมให้กับช่องที่มีรหัสช่องเป็นสีที่ระบุ (I301b3, b/423581481) - เพิ่ม API ของผู้ให้บริการเพื่อยอมรับ
PendingIntentเป็นการกระทําเมื่อคลิก (I01978, b/433802488) - เพิ่ม API ใหม่ใน
Image.Builder-setImageResourceเพื่อตั้งค่าออบเจ็กต์ทรัพยากรโดยตรงให้กับรูปภาพในonTileRequestโดยไม่ต้องลงทะเบียนในการแมปในonTileResourcesRequest(Ifa69a, b/428693523) - เพิ่มแนวคิด
ProtoLayoutScopeเพื่อเตรียมพร้อมสำหรับการจัดการทรัพยากรในไทล์ให้ดียิ่งขึ้น (I132ce, b/428692423) - ตอนนี้
ProtoLayoutMaterial3MaterialScopeได้เปิดเผยContextฟิลด์เป็นแบบสาธารณะแล้ว เพื่อใช้ในเมธอดภายในขอบเขตโดยไม่ต้องส่งต่อ (I0e5cc, b/414559956) - ทำให้ API ความหมายของส่วนหัวเป็นแบบสาธารณะ (I75299, b/413653475)
- เปิดเผยค่าคงที่
ARC_DIRECTION_*เป็นแบบสาธารณะเพื่อใช้ในArc/ArcLine/ArcText/DashedArcLine(I83959, b/427556439)
การเปลี่ยนแปลง API
- เราเลิกใช้งานเมธอด
Image.Builder()และImage.Builder.setResourceIdแล้วเพื่อหันมาใช้ API การลงทะเบียนทรัพยากรโดยอัตโนมัติแบบใหม่ ซึ่งพร้อมใช้งานใน APIImage.Builder(ProtoLayoutScope)และImage.Builder.setImageResourceที่ไม่จำเป็นต้องลบล้างonTileResourcesRequest(I7bfe6, b/432758526) - ย้าย API สำหรับสร้าง
ProtoLayoutScopeจากแบบจำกัดเป็นแบบสาธารณะ อย่างไรก็ตาม ไม่ควรใช้ฟีเจอร์นี้เนื่องจากระบบจัดการการเรียกใช้เหล่านั้นอยู่แล้ว (I1d8e8, b/432758251)
การแก้ไขข้อบกพร่อง
- เพิ่มการติดตั้งใช้งานเพื่อรองรับ
PendingIntentในProtoTiles(I38167, b/430610429) - เพิ่ม
invalidateLayoutวิธีการ (Ief898) - ย้าย minSdk เริ่มต้นจาก API 21 ไปยัง API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
- ตอนนี้
ImageResourceมีวิธีการhashCodeและequalsแล้ว (I650ee, b/428692423, b/428693523) - เพิ่มข้อความ Proto ใหม่
PendingIntentActionและเครื่องมือสร้าง Wrapper (Ie2aca, b/427643502) - ลดความถี่ในการสร้างอินสแตนซ์
ZoneId(I284d3) - ใช้คำอธิบายเนื้อหาเริ่มต้นกับช่องเดียว
textButton(I0dc8a, b/415001534) - แก้ไขการคำนวณสำหรับการปรับบรรทัดสูงสุดในฝั่งโปรแกรมแสดงผล (I933bc, b/414353620)
เวอร์ชัน 1.3
เวอร์ชัน 1.3.0
4 มิถุนายน 2025
androidx.wear.protolayout:protolayout-*:1.3.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0
- การออกแบบ Material 3 มาพร้อมกับคอมโพเนนต์และเลย์เอาต์ที่ได้รับการเพิ่มประสิทธิภาพให้เหมาะกับจอแสดงผลทรงกลมและปรับขนาดได้อย่างเหมาะสมตั้งแต่หน้าจอขนาดเล็กไปจนถึงขนาดใหญ่
- ซึ่งรวมถึงไลบรารี
protolayout-material3ที่ใช้ Kotlin เท่านั้นซึ่งมี API ที่คล้าย Compose มากขึ้นสำหรับคอมโพเนนต์และฟีเจอร์ต่อไปนี้ - ธีมสีแบบเปลี่ยนอัตโนมัติจากระบบและหน้าปัดที่มีธีม Material3 ล่าสุดสำหรับสี รูปร่าง และการพิมพ์
MaterialScopeเพื่อดูแลค่าเริ่มต้นทั้งหมดที่กำหนดไว้และปรับแต่งได้ง่ายขึ้นiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- คอมโพเนนต์ทั้งหมดทำงานได้ในทุกระดับ SDK และ
ProtoLayoutเวอร์ชันโปรแกรมแสดงผล โดยจะมีการระบุการทำงานสำรองที่เหมาะสมในกรณีที่เกี่ยวข้อง
- ซึ่งรวมถึงไลบรารี
- API ที่เป็นมิตรกับ Kotlin มากขึ้นและคล้าย Compose สำหรับองค์ประกอบ ProtoLayout พื้นฐาน
LayoutModifierที่มีความสามารถในการเพิ่มตัวแก้ไขส่วนใหญ่เป็นฟังก์ชันที่เชื่อมโยงกัน (padding,contentDescription(รวมถึงclearSemantics),background,clip,opacityฯลฯ) ซึ่งแปลงเป็นออบเจ็กต์Modifiersที่มีอยู่ได้LayoutColorsและLayoutStringเป็นประเภทที่รองรับการใช้ฟิลด์แบบไดนามิกและข้อจำกัดได้ง่ายขึ้นtextและfontStyle- การรองรับแผนที่ที่ดีขึ้นสำหรับ
StateBuilderรวมถึงDynamicDataMapและเมธอดของ Factory เช่นintAppDataKeyเพื่อให้สร้างออบเจ็กต์AppDataKeyได้ง่ายขึ้น
- ภาพเคลื่อนไหว Lottie รองรับตัวเลือกในการตั้งค่าทริกเกอร์ต่างๆ เมื่อควรเริ่มภาพเคลื่อนไหว เช่น เมื่อโหลดเลย์เอาต์หรือเมื่อเลย์เอาต์ปรากฏ
- การรองรับการไล่ระดับสีที่ดียิ่งขึ้น
- API การไล่ระดับสีแบบเส้นตรงซึ่งเป็นส่วนหนึ่งของ
Brushที่ใช้ได้ในตัวแก้ไขBackgroundสำหรับองค์ประกอบต่างๆ เช่นBox,Spacerฯลฯ … - อนุญาตค่าสีแบบไดนามิกใน
ColorStopที่ใช้สำหรับการไล่ระดับสีแบบเส้นตรงและแบบกวาด - ตอนนี้ Sweep Gradient ที่มีอยู่ในออบเจ็กต์ส่วนโค้งรองรับสีแบบไดนามิกและมุมเริ่มต้นและสิ้นสุดแล้ว
- การเชื่อมโยงข้อมูลแพลตฟอร์มใน
protolayout-expressionเพื่อรับข้อมูลทุกครั้งที่มีการเปลี่ยนแปลงระดับการมองเห็นของเลย์เอาต์ ซึ่งอาจใช้เพื่อซ่อนบางส่วนของเลย์เอาต์ในขณะที่ปัดไทล์ไปมาได้ - เพิ่มไลบรารีการทดสอบ -
protolayout-testing- เพื่อรองรับการครอบคลุมการทดสอบหน่วยที่ง่ายขึ้นสำหรับองค์ประกอบ ProtoLayout - องค์ประกอบใหม่
DashedArcLineพร้อมชุดฟีเจอร์ที่ได้รับการปรับปรุงเพื่อให้เส้นมีขีดประแทนที่จะเป็นArcLineที่มีอยู่ ArcSpacerรองรับการตั้งค่าความยาวในมิติข้อมูล DP แทนที่จะเป็นองศา- เพิ่มแกนความกลม
FontSettingที่ใช้ได้กับแบบอักษรบางแบบ
เวอร์ชัน 1.3.0-rc01
20 พฤษภาคม 2025
androidx.wear.protolayout:protolayout-*:1.3.0-rc01 จะเผยแพร่โดยไม่มีการเปลี่ยนแปลงจากรุ่นก่อนหน้า เวอร์ชัน 1.3.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.3.0-beta02
7 พฤษภาคม 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-beta02 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เราได้ทำการปรับปรุงที่สำคัญในค่าการออกแบบ Typography ที่ใช้ใน API 36 ขึ้นไป เนื่องจากตั้งแต่ API 36 เป็นต้นไป การ์ดทั้งหมดจะอยู่ในแบบอักษรของระบบ การเปลี่ยนแปลงนี้จึงช่วยให้แคrousel ของการ์ดมีความสอดคล้องกันมากขึ้น (If316f)
- บิลเดอร์
Text,Spacer,ArcLineและDashedArcLineจะไม่แสดงข้อผิดพลาดหากไม่ได้ตั้งค่าlayoutConstraintsสำหรับค่าแบบไดนามิก โปรดทราบว่าโปรแกรมแสดงผลรุ่นเก่าจะยังคงกำหนดให้ตั้งค่าlayoutConstraintsและจะละเว้นค่าแบบไดนามิกที่ไม่ได้ตั้งค่านี้ (Ic52e8) - เพิ่มตัวแก้ไขความหมายของส่วนหัวเพื่อระบุว่าองค์ประกอบเลย์เอาต์เป็นส่วนหัวของส่วนเนื้อหาเพื่อวัตถุประสงค์ในการช่วยเหลือพิเศษ และทำเครื่องหมายข้อความในช่องชื่อของ
primaryLayoutให้เป็นส่วนหัวสำหรับการช่วยเหลือพิเศษโดยค่าเริ่มต้น (Iae1fb) - ปรับแต่ง UX ขั้นสุดท้ายของ
primaryLayoutโดยลดช่องว่างระหว่างสล็อตชื่อกับสล็อตหลักเป็น 4dp แทน 6dp ในหน้าจอขนาดเล็ก (I0e056) - ใช้คำอธิบายเนื้อหาเริ่มต้นกับ
textEdgeButton(Ifaf8b) - อัปเดตการเว้นที่ว่างภายในของ
avatarButtonเพียงเล็กน้อย (I0910b)
เวอร์ชัน 1.3.0-beta01
9 เมษายน 2025
androidx.wear.protolayout:protolayout-*:1.3.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
การเปิดตัว Wear ProtoLayout เวอร์ชัน 1.3.0-beta01 แสดงให้เห็นว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อกแล้ว (ยกเว้นที่ทำเครื่องหมายเป็นเวอร์ชันทดลอง) Wear ProtoLayout 1.3 มีฟังก์ชันการทำงานและ API ใหม่ต่อไปนี้
- การออกแบบ Material 3 มาพร้อมกับคอมโพเนนต์และเลย์เอาต์ที่ได้รับการเพิ่มประสิทธิภาพให้เหมาะกับจอแสดงผลทรงกลมและปรับขนาดได้อย่างเหมาะสมตั้งแต่หน้าจอขนาดเล็กไปจนถึงขนาดใหญ่
- ซึ่งรวมถึงไลบรารี
protolayout-material3ที่ใช้ Kotlin เท่านั้นซึ่งมี API ที่คล้าย Compose มากขึ้นสำหรับคอมโพเนนต์และฟีเจอร์ต่อไปนี้ - ธีมสีแบบเปลี่ยนอัตโนมัติจากระบบและหน้าปัดที่มีธีม Material3 ล่าสุดสำหรับสี รูปร่าง และการพิมพ์
MaterialScopeเพื่อดูแลค่าเริ่มต้นทั้งหมดที่กำหนดไว้และปรับแต่งได้ง่ายขึ้นiconEdgeButton,textEdgeButtoniconButton,textButton,button,imageButton,avatarButton,compactButtontitleCard,appCard,graphicDataCard,iconDataCard,textDataCardcircularProgressIndicator,segmentedCircularProgressIndicatorprimaryLayout,buttonGroup- คอมโพเนนต์ทั้งหมดทํางานได้ในทุกระดับ SDK และ ProtoLayout Renderer เวอร์ชันต่างๆ โดยจะแสดงข้อมูลสำรองที่เหมาะสมในกรณีที่เกี่ยวข้อง
- ซึ่งรวมถึงไลบรารี
- API ที่เป็นมิตรกับ Kotlin มากขึ้นและคล้าย Compose สำหรับองค์ประกอบ ProtoLayout พื้นฐาน
LayoutModifierที่มีความสามารถในการเพิ่มตัวแก้ไขส่วนใหญ่เป็นฟังก์ชันที่เชื่อมโยงกัน (padding,contentDescription(รวมถึงclearSemantics),background,clip,opacityฯลฯ) ซึ่งแปลงเป็นออบเจ็กต์Modifiersที่มีอยู่ได้LayoutColorsและLayoutStringเป็นประเภทที่รองรับการใช้ฟิลด์แบบไดนามิกและข้อจำกัดได้ง่ายขึ้นtextและfontStyle- การรองรับแผนที่ที่ดีขึ้นสำหรับ
StateBuilderรวมถึงDynamicDataMapและเมธอดของ Factory เช่นintAppDataKeyเพื่อให้สร้างออบเจ็กต์AppDataKeyได้ง่ายขึ้น
- ภาพเคลื่อนไหว Lottie รองรับตัวเลือกในการตั้งค่าทริกเกอร์ต่างๆ เมื่อควรเริ่มภาพเคลื่อนไหว เช่น เมื่อโหลดเลย์เอาต์หรือเมื่อเลย์เอาต์ปรากฏ
- การรองรับการไล่ระดับสีที่ดียิ่งขึ้น
- API การไล่ระดับสีแบบเส้นตรงซึ่งเป็นส่วนหนึ่งของ
Brushที่ใช้ได้ในตัวแก้ไขBackgroundสำหรับองค์ประกอบต่างๆ เช่นBox,Spacerฯลฯ … - อนุญาตค่าสีแบบไดนามิกใน
ColorStopที่ใช้สำหรับการไล่ระดับสีแบบเส้นตรงและแบบกวาด - ตอนนี้ Sweep Gradient ที่มีอยู่ในออบเจ็กต์ส่วนโค้งรองรับสีแบบไดนามิกและมุมเริ่มต้นและสิ้นสุดแล้ว
- การเชื่อมโยงข้อมูลแพลตฟอร์มใน
protolayout-expressionเพื่อรับข้อมูลทุกครั้งที่มีการเปลี่ยนแปลงระดับการมองเห็นของเลย์เอาต์ ซึ่งอาจใช้เพื่อซ่อนบางส่วนของเลย์เอาต์ในขณะที่ปัดไทล์ไปมาได้ - เพิ่มไลบรารีการทดสอบ -
protolayout-testing- เพื่อรองรับการครอบคลุมการทดสอบหน่วยที่ง่ายขึ้นสำหรับองค์ประกอบ ProtoLayout - องค์ประกอบใหม่
DashedArcLineพร้อมชุดฟีเจอร์ที่ได้รับการปรับปรุงเพื่อให้เส้นมีขีดประแทนที่จะเป็นArcLineที่มีอยู่ ArcSpacerรองรับการตั้งค่าความยาวในมิติข้อมูล DP แทนที่จะเป็นองศา- เพิ่มแกนความกลม
FontSettingที่ใช้ได้กับแบบอักษรบางแบบ
เวอร์ชัน 1.3.0-alpha10
12 มีนาคม 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha10 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มฟังก์ชันช่วยสำหรับ Brush ในตัวแก้ไขพื้นหลังของ Kotlin (I995de)
- เราได้เผยแพร่ฟิลด์บริบท Android ที่จำเป็นใน
MaterialScopeเพื่อให้ใช้งานได้ง่ายขึ้นในฟังก์ชันของนักพัฒนาแอปที่สร้างคอมโพเนนต์สำหรับไทล์ Material3 (I7df73)
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ API
platformVisibilityStatusเป็นPlatformEventSources.isLayoutVisibleและเพิ่ม APIPlatformEventSources.isLayoutUpdatePendingเวอร์ชันทดลองใหม่ (Ie1e04)
การแก้ไขข้อบกพร่อง
- ตอนนี้ระบบจะปัดเศษขอบสำหรับ
primaryLayoutอย่างถูกต้องแทน ซึ่งอาจส่งผลต่อเลย์เอาต์บางรายการโดยมีพื้นที่น้อยลงสูงสุด 2dp สำหรับช่องหลัก (I8f5d3) - การชี้แจงธีมสีแบบไดนามิกเริ่มต้นใน
ProtoLayoutคอมโพเนนต์ Material3 (Iff5f3) Typography.NUMERAL_*ไม่ได้อยู่ในรูปแบบตาราง/แบบอักษร Monospace โดยค่าเริ่มต้นอีกต่อไป หากข้อความเคลื่อนไหว ขอแนะนำอย่างยิ่งให้เพิ่มการตั้งค่าFontSetting.tabularNum()ลงในข้อความ ในกรณีอื่นๆ ทั้งหมด คุณไม่จำเป็นต้องใช้ตัวเลือกแบบ Monospace และจะมีอักขระให้ใช้งานมากขึ้นหากไม่ใช้ตัวเลือกนี้ (Id3cd9)- การชี้แจงธีมสีแบบไดนามิกเริ่มต้นใน
ProtoLayoutคอมโพเนนต์ Material3 (I9d831)
เวอร์ชัน 1.3.0-alpha09
26 กุมภาพันธ์ 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha09 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มตัวแก้ไขเวอร์ชันทดลองสำหรับ
enterTransitionและexitTransition(I4a4d6) - เราได้เพิ่มการเชื่อมโยงแพลตฟอร์มเพิ่มเติมเพื่อรับสถานะระดับการเข้าถึงของเลย์เอาต์แบบเต็มทุกครั้งที่มีการเปลี่ยนแปลง (I250c3)
- อนุญาตให้แทรกสถานะแอปทดสอบและข้อมูลแพลตฟอร์มลงใน
LayoutElementAssertionsProviderเพื่อประเมินค่าแบบไดนามิก (Ib5fcb) - เพิ่มตัวกรองมุมลงในไลบรารีการทดสอบ Protolayout (Ie2361)
- ตอนนี้
ButtonColors,CardColorsและProgressIndicatorColorsรองรับวิธีการคัดลอกแล้ว โดยคุณจะเลือกแทนที่พารามิเตอร์บางรายการหรือไม่ก็ได้ (Ie2054)
การเปลี่ยนแปลง API
- เพิ่มการรองรับการเชื่อมโยงข้อมูลแบบไดนามิกลงในไลบรารีการทดสอบ (Ib98de)
- แก้ไข
imageButtonเมื่อใช้กับฟังก์ชันbackgroundImageโดยนำภาพซ้อนทับออก นอกจากนี้ ให้ใช้ฟังก์ชันbackgroundImageเพื่ออนุญาตให้ระบุค่า Null สำหรับสีซ้อนทับ ซึ่งหมายความว่าจะไม่มีการใช้การซ้อนทับ (Ibec3c)
การแก้ไขข้อบกพร่อง
- เปลี่ยนวิธีการ
hasValueOfTypeเริ่มต้นให้ส่งUnsupportedOperationExceptionแทนIllegalArgumentException(Ia36c3) - อัปเดตค่าโทเค็นสีเริ่มต้นให้สอดคล้องกับข้อกำหนดล่าสุด (I75d44)
- การแก้ไขปัญหาการแทนชื่อที่มองเห็นได้ในเส้นโค้งในโปรแกรมแสดงผลไทล์ AndroidX (I88190)
เวอร์ชัน 1.3.0-alpha08
12 กุมภาพันธ์ 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha08 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มพารามิเตอร์รายการ
FontSettingสำหรับข้อความ Material3 (Ic102d) - เพิ่มคลาส
DynamicDataMapซึ่งตอนนี้StateBuilderรองรับ API Kotlin ที่ปลอดภัยยิ่งขึ้นสำหรับสถานะแอป (I012ba) - เพิ่มเมธอดของ Factory เช่น
intAppDataKeyเพื่อให้สร้างออบเจ็กต์AppDataKeyได้ง่ายขึ้น (Icea2a) - ตอนนี้
DynamicDataValueมีเมธอดhasValueOfType(Class<?>)นอกเหนือจากเมธอดhasInt/hasColor/.... (I4f7a6) - เราได้เพิ่ม
errorDimลงใน ProtoLayout ของ Material3ColorSchemeสำหรับข้อผิดพลาดที่มีลำดับความสำคัญสูงหรือการดำเนินการฉุกเฉิน เช่น การแจ้งเตือนด้านความปลอดภัย (Ia17bb) - เราได้เพิ่มการป้องกันไม่ให้เกิดข้อขัดข้องเมื่อเข้าถึงการตั้งค่าลดภาพเคลื่อนไหวส่วนกลาง ซึ่งทริกเกอร์ในบางแพลตฟอร์มที่ไม่มีการตั้งค่าดังกล่าว (I01e2c)
การเปลี่ยนแปลง API
addKeyToValueMappingเปลี่ยนชื่อเป็นaddToStateMapและนำเมธอดDynamicDataMap.putออกเนื่องจากซ้ำซ้อน (Ibe9dd)- ตอนนี้การจัดรูปแบบข้อความ Material3 รองรับแกนตัวแปรความกลมสำหรับแบบอักษรของระบบที่รองรับแกนนี้แล้ว ProtoLayout
FontSettingรองรับแกนความกลมสำหรับแบบอักษรที่รองรับแกนนี้ (I33eb5) - เปลี่ยนชื่อ
multilineAlignmentเป็นการจัดแนวในวิธีการข้อความ Material3 (I2b66b) - อัปเดตตัวบ่งชี้ความคืบหน้าแบบวงกลมให้เป็นประเภทกล่อง และระบุ
mainContentในconstructGraphicให้เป็นประเภทกล่อง (I5a3dc) - รองรับการใช้ตัวบ่งชี้ความคืบหน้าแบบวงกลมในกราฟ (I039db) ได้ดียิ่งขึ้น
การแก้ไขข้อบกพร่อง
- อนุญาตค่าแบบไดนามิกใน
ColorStopและมุมเริ่มต้น/สิ้นสุดในSweepGradient(I0146d) - การแก้ไขในเอกสาร (I4a63a)
- อัปเดตคอมโพเนนต์ Material 3 (
graphicCardและavatarButton) เพื่อให้มีตัวเลือกสำรองเมื่อไม่รองรับweightมิติข้อมูลการขยาย (เช่น ต่ำกว่า API 33) อัปเดตคอมโพเนนต์ข้อความให้กลับไปใช้TEXT_OVERFLOW_ELLIPSIZE_ENDเมื่อตัวแสดงผลไม่รองรับTEXT_OVERFLOW_ELLIPSIZE(I19e2c) - การอัปเดตเอกสารสำหรับ
PrimaryLayoutMargins(Ibaf7b)
เวอร์ชัน 1.3.0-alpha07
29 มกราคม 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha07 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มตัวเลือก API เพื่อตั้งค่าทริกเกอร์ต่างๆ สำหรับภาพเคลื่อนไหว Lottie นอกจากนี้ ยังเพิ่ม API สำหรับทริกเกอร์ที่เริ่มทำงานเมื่อเลย์เอาต์ปรากฏ (I8272d)
- เพิ่มตัวแก้ไข
border,visibilityและopacity(I6d3dd) - เพิ่มปุ่มรูปโปรไฟล์ลงในคอมโพเนนต์ ProtoLayout Material3 (Idb5ae)
- ตอนนี้เราอนุญาตให้ปรับแต่งขอบ (ด้านข้างและด้านล่างในบางกรณี) ใน Material3 ได้แล้ว
primaryLayout(Ib22f6) - เพิ่มตัวแปรที่แบ่งกลุ่มของตัวบ่งชี้ความคืบหน้าแบบวงกลม (I6a648)
- เพิ่มคอมโพเนนต์ปุ่มขนาดกะทัดรัดลงใน ProtoLayout Material3 (Ia3c5c)
- เพิ่มคอมโพเนนต์ปุ่มรูปทรงแคปซูลและปุ่มรูปภาพลงใน ProtoLayout Material3 (Ifb88a)
การเปลี่ยนแปลง API
- ตอนนี้
LayoutModfier.foldInเปลี่ยนชื่อเป็นfoldRightเพื่อให้สอดคล้องกับลักษณะการทำงานที่คาดไว้มากขึ้น (Idf242) VisibleOnceทริกเกอร์อยู่ในเวอร์ชันทดลองแล้ว (Ib2d26)- นำ
withOpacityออกจาก API สาธารณะเนื่องจากมีไลบรารีกราฟิกทางเลือก (I030c2) - เปลี่ยนชื่อเมธอดระดับบนสุดใน
LayoutString.ktและLayoutColor.ktให้มีชื่อที่เหมาะกับ Java (I7aff0) - นำการจัดรูปแบบตัวอักษรที่ไม่ใช่ ProtoLayout ใน Material3 ออก (Idd9ae)
- เพิ่มคำต่อท้าย Color ลงในฟิลด์ใน
*Colorsclasses ใน Material3 (I2d114)
การแก้ไขข้อบกพร่อง
- เพิ่มการใช้งานสำรองของ
EdgeButtonสำหรับโปรแกรมแสดงผลรุ่นเก่าที่ไม่มีการรองรับมุมที่ไม่สมมาตร (I63364) - เพิ่มการใช้งานสำรองของตัวบ่งชี้ความคืบหน้าแบบวงกลมด้วยโปรแกรมแสดงผลรุ่นเก่า (I0f134)
เวอร์ชัน 1.3.0-alpha06
15 มกราคม 2025
androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
LayoutColorเพื่อรองรับทั้งประเภทสีแบบคงที่และแบบไดนามิก (I4c89b)- เพิ่มคอมโพเนนต์
ProtoLayout Material3textButton แล้ว (Id680d) - เพิ่มคอมโพเนนต์
iconButtonProtoLayout Material3 (Ica3f0) - เพิ่มคอมโพเนนต์คอนเทนเนอร์ปุ่ม Material3 ของ ProtoLayout (I17a38)
- เพิ่มการรองรับตัวแก้ไขเชิงความหมายที่เชื่อมโยงได้ใน protolayout-material3 (I4af62)
- เพิ่ม ProtoLayout Material3 single segment
CircularProgressIndicator(I2c8a2) - เพิ่มตัวแก้ไข
padding,metadata(I8720a) - เพิ่มตัวแก้ไข
background,clipและclickable(I35478) - เพิ่ม
LinearGradientไปยังแปรงและอนุญาตให้ใช้ในเครื่องมือแก้ไขพื้นหลัง (Ic4dea) - เพิ่มขนาดเล็กสำหรับ AppCard และ
titleCard(I91f98) - เพิ่มคอมโพเนนต์ ProtoLayout Material3
graphicDataCard(I92be7) - เพิ่มคอมโพเนนต์ ProtoLayout Material3
iconDataCardและtextDataCard(I4e1e4) - เพิ่มคอมโพเนนต์ ProtoLayout Material3
appCard(Id4c57) - สรุป
EdgeButtonColorsถึงButtonColors(I83624) - เพิ่มคอมโพเนนต์ ProtoLayout Material3
titleCard(I2dc72)
การเปลี่ยนแปลง API
- ตอนนี้ ProtoLayout Material3 API ยอมรับ
LayoutStringเพื่อรองรับทั้งข้อความแบบคงที่และแบบไดนามิกแล้ว (I9c24a)
การแก้ไขข้อบกพร่อง
- เพิ่มการติดตั้งใช้งานโปรแกรมแสดงผลสำหรับการขยาย
DashedArcLine(I0c700) - การเปลี่ยนแปลงโปรแกรมแสดงผลเพื่ออนุญาตให้
ArcSpacerใช้ความยาว dp (I1437b)
เวอร์ชัน 1.3.0-alpha05
11 ธันวาคม 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
LayoutStringเพื่อรองรับฟิลด์สตริงเลย์เอาต์ที่เชื่อมโยงได้ (Ida650) - เพิ่มคอมโพเนนต์คอนเทนเนอร์บัตร
ProtoLayout Material3(Ic985a)
การแก้ไขข้อบกพร่อง
- ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง
-Xjspecify-annotations=strict(นี่คือค่าเริ่มต้นที่เริ่มต้นด้วยคอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (Id1f9b, b/326456246)
เวอร์ชัน 1.3.0-alpha04
13 พฤศจิกายน 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha04 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- อัปเดตรูปร่าง Material3 ให้เป็นคลาสที่มีฟิลด์ที่เก็บค่ามุมจริงเหมือนใน Wear Compose (Ied8cd)
- อัปเดตสี Material3 ให้มี
ColorSchemeแนวคิดเช่นเดียวกับใน Wear Compose (If645e) - เพิ่ม Matcher ที่ใช้กันโดยทั่วไปหลายรายการลงในไลบรารีการทดสอบ (Ie5cec)
เวอร์ชัน 1.3.0-alpha03
30 ตุลาคม 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha03 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
LayoutElementAssertionsProvider,LayoutElementAssertionและLayoutElementMatcherลงในไลบรารีการทดสอบ (Id1110)
เวอร์ชัน 1.3.0-alpha02
16 ตุลาคม 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- ไลบรารี Material 3 เวอร์ชันเริ่มต้น รวมถึงคอมโพเนนต์
text,edgeButton,buttonGroupและprimaryLayout
การแก้ไขด้านความปลอดภัย
- นับจากการเปลี่ยนแปลงนี้ androidx จะคอมไพล์กับ protobuf 4.28.2 เพื่อแก้ไข CVE-2024-7254 อัปเกรดทรัพยากร Dependency ใน
androidx.wear.protolayout:protolayout-protoและandroidx.wear.protolayout:protolayout-external-protobufเวอร์ชัน 1.3.0-alpha01 เป็น 1.3.0-alpha02 เพื่อจัดการความเสี่ยงจากช่องโหว่
การมีส่วนร่วมภายนอก
เวอร์ชัน 1.3.0-alpha01
2 ตุลาคม 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ชี้แจงว่าความพร้อมใช้งานของชื่อชุดแบบอักษร Roboto และ Roboto Flex ขึ้นอยู่กับอุปกรณ์ (I193be)
- เปิดใช้ชุดแบบอักษร Roboto Flex ในโปรแกรมแสดงผลไทล์ของ AndroidX (I08e94)
เวอร์ชัน 1.2
เวอร์ชัน 1.2.1
16 ตุลาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.1 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.1 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขด้านความปลอดภัย
- นับจากการเปลี่ยนแปลงนี้ androidx จะคอมไพล์กับ protobuf 4.28.2 เพื่อแก้ไข CVE-2024-7254 อัปเกรดทรัพยากร Dependency ในเวอร์ชัน 1.2.0 ของ
androidx.wear.protolayout:protolayout-protoและandroidx.wear.protolayout:protolayout-external-protobufเป็น 1.2.1 เพื่อจัดการความเสี่ยงจากช่องโหว่
เวอร์ชัน 1.2.0
7 สิงหาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0
FontStyleได้รับการอัปเดตให้รองรับแบบอักษรเพิ่มเติมสำหรับแกนตัวแปรและ API การเลือกแบบอักษรที่ดีขึ้นเพื่อรองรับแบบอักษร Flex ที่กำลังจะเปิดตัว- การรองรับตัวแก้ไขเพิ่มเติม
- ตัวแก้ไขการเปลี่ยนรูปที่เสนอการแปล การหมุน และการปรับขนาดที่มีหรือไม่มีภาพเคลื่อนไหว
- การระบุค่าที่แตกต่างกัน (แนวนอนและแนวตั้ง) สำหรับรัศมีมุมแต่ละมุม
- ปรับปรุงการเข้าถึงเป้าหมายการสัมผัสทั้งหมดโดยขยายพื้นที่ที่แตะได้ขององค์ประกอบที่ใช้ตัวแก้ไขที่คลิกได้ให้มีขนาดอย่างน้อย
48dpx48dp - ปรับปรุง
PrimaryLayoutและEdgeContentLayoutโดยเพิ่มsetResponsiveContentInsetEnabledเพื่อรองรับลักษณะการทำงานที่ปรับเปลี่ยนตามพื้นที่โฆษณาของเลย์เอาต์เหล่านี้ในขนาดหน้าจอต่างๆ ได้ดียิ่งขึ้น และปรับปรุงความสอดคล้องของไทล์ - ปรับปรุงการปรับขนาด/ไม่ปรับขนาดของข้อความ Material สำหรับการปรับขนาดแบบอักษรที่ไม่ใช่แบบเชิงเส้นของ Android 14
- ปรับปรุงการรองรับทิศทางการจัดวางจากขวาไปซ้ายในองค์ประกอบส่วนโค้งทั้งหมด
การเปลี่ยนแปลงเพิ่มเติม
- หากต้องการดูชุดการเปลี่ยนแปลงที่สมบูรณ์ยิ่งขึ้นซึ่งเปิดตัวในเวอร์ชัน 1.1.0 โปรดดูบันทึกประจำรุ่น beta01
เวอร์ชัน 1.2.0-rc01
24 กรกฎาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- เราได้แก้ไขชิป Material มาตรฐานเพื่อให้ใช้เป็นไอคอนได้ก็ต่อเมื่อไม่มีการส่งป้ายกำกับหลักหรือรอง (Iceef9)
- เราได้อัปเดตเอกสารประกอบสำหรับเลย์เอาต์ Material เพื่อรวมภาพจากหน้าเว็บที่เกี่ยวข้องเพื่อให้เข้าใจเลย์เอาต์ได้ง่ายขึ้น (I0256a)
เวอร์ชัน 1.2.0-beta01
10 กรกฎาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
การเปิดตัว Wear ProtoLayout เวอร์ชัน 1.2.0-beta01 แสดงให้เห็นว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อกแล้ว (ยกเว้นที่ทำเครื่องหมายว่าอยู่ในขั้นทดลอง) Wear ProtoLayout 1.2 มีฟังก์ชันการทำงานและ API ใหม่ต่อไปนี้
FontStyleได้รับการอัปเดตให้รองรับแบบอักษรเพิ่มเติมดังนี้- การตั้งค่ารูปแบบแบบอักษรที่แตกต่างกัน เช่น
FontSetting.weightและFontSetting.width - การตั้งค่าความกว้างเดียวกันสำหรับอักขระตัวเลขทั้งหมด - ตัวเลขแบบตาราง (
FontSetting.tnumการตั้งค่าฟีเจอร์แบบอักษร) - ปรับปรุง API การเลือกแบบอักษรเพื่อรองรับแบบอักษรแบบยืดหยุ่นที่กำลังจะเปิดตัวโดยการระบุชื่อชุดแบบอักษรที่ต้องการใช้
- การตั้งค่ารูปแบบแบบอักษรที่แตกต่างกัน เช่น
- ขยายตัวแก้ไข
Cornerเพื่อรองรับการระบุCornerRadiusแต่ละรายการด้วยค่าแนวนอนและแนวตั้งแยกกันเพื่อให้สร้างองค์ประกอบที่มีมุมไม่สมมาตรได้ - เพิ่ม
Transformationตัวปรับแต่งใหม่ที่นำเสนอการแปล การหมุน และการปรับขนาดของLayoutElementการเปลี่ยนรูปแบบเหล่านี้สามารถเคลื่อนไหวได้โดยใช้ค่าแบบไดนามิก - เพิ่ม
setArcDirectionพร้อมตัวเลือกClockwise,CounterClockwiseและNormalลงในองค์ประกอบส่วนโค้งทั้งหมด (Arc,ArcLineและArcText) เพื่อให้รองรับทิศทางการจัดวางต่างๆ ได้ดียิ่งขึ้น (เช่น LTR และ RTL) - ปรับปรุงการเข้าถึงเป้าหมายการสัมผัสทั้งหมดโดยขยายพื้นที่ที่แตะได้ขององค์ประกอบใดก็ตามที่ใช้ตัวปรับแต่ง
Clickableให้มีขนาดอย่างน้อย48dpx48dp - ปรับปรุง
PrimaryLayoutและEdgeContentLayoutโดยเพิ่มsetResponsiveContentInsetEnabledเพื่อรองรับลักษณะการทำงานที่ปรับเปลี่ยนตามพื้นที่โฆษณาของเลย์เอาต์เหล่านี้ในขนาดหน้าจอต่างๆ ได้ดียิ่งขึ้น และปรับปรุงความสอดคล้องของไทล์ เพิ่มคำเตือนของ Linter เพื่อแนะนำการใช้ API เหล่านี้พร้อมการแก้ไขอย่างรวดเร็ว - ปรับปรุงการปรับขนาด/การไม่ปรับขนาดของ Material
Textสำหรับการปรับขนาดแบบอักษรที่ไม่ใช่แบบเชิงเส้นของ Android 14
การเปลี่ยนแปลง API
- นำชื่อชุดแบบอักษรเริ่มต้น (
DEFAULT_SYSTEM_FONT) ออกเนื่องจากเป็นค่าเริ่มต้นเมื่อไม่ได้ใช้preferredFontFamiliesAPI (I39dab) - พารามิเตอร์ที่ส่งไปยัง
FontSetting.widthควรเป็นค่าบวก (I1266f)
เวอร์ชัน 1.2.0-alpha05
26 มิถุนายน 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
hasTextmethod toMaterial.CompactChipเพื่อตรวจสอบว่าได้ตั้งค่าเนื้อหาข้อความแล้วหรือไม่ (I6e8fc)
การเปลี่ยนแปลง API
FontFamilyconst จะย้ายไปอยู่ในFontStyleแทนที่จะอยู่ในคลาส Builder (I06ced)- อัปเดต API
FontSetting.weightและFontSetting.widthให้รวมคำอธิบายประกอบช่วงและเปลี่ยนพารามิเตอร์ของน้ำหนักเป็น int (Ia726c)
การแก้ไขข้อบกพร่อง
- ข้อความที่ปรับขนาดไม่ได้ในไลบรารี Material จะทำงานได้อย่างถูกต้องกับการปรับขนาดแบบอักษรที่ไม่ใช่แบบเชิงเส้นของ Android 14 (I6601e)
เวอร์ชัน 1.2.0-alpha04
29 พฤษภาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha04 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API มุมที่ไม่สมมาตรเพื่อให้ระบุรัศมีของแต่ละมุมแยกกันได้ด้วยค่า 2 ค่า (Icbd69)
- ขยาย
FontSettingAPI ให้รวมถึงข้อมูลต่อไปนี้ - เพิ่ม API ชุดแบบอักษรลงใน
FontStyleเพื่อให้ระบุรายการลำดับของชุดแบบอักษรที่ควรใช้ได้ (Iba9f5) - เปลี่ยนชื่อค่าคงที่สำหรับความสูงของช่องว่างระหว่างเนื้อหากับป้ายกำกับรองใน
LayoutDefaultsของ Material ซึ่งเดิมมีคำนำหน้าว่า "เนื้อหาที่ขอบ" เพื่อให้เป็นค่าทั่วไปมากขึ้นเนื่องจากใช้ได้ทั้งกับPrimaryLayoutและEdgeContentLayout(I4dc32)
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อแกนของแบบอักษรตัวแปรจาก
axisNameเป็นaxisTag(I02ba3)
เวอร์ชัน 1.2.0-alpha03
14 พฤษภาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha03 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม API สำหรับการตั้งค่าค่าน้ำหนักที่กำหนดเองสำหรับ
FontStyle(I7390a)
การแก้ไขข้อบกพร่อง
- แก้ไขความล้มเหลวใน
getTouchDelegateInfoเนื่องจากแผนที่เป้าหมายว่างเปล่า (I2accf)
เวอร์ชัน 1.2.0-alpha02
1 พฤษภาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- เราได้เพิ่มการรองรับการปิดใช้การตอบสนองแบบระลอกบนองค์ประกอบที่คลิกได้แต่ละรายการ (If1ede)
- เราได้นำ API สำหรับการเปลี่ยนรูปแบบออกจาก
ArcModifiersเนื่องจากไม่รองรับฟีเจอร์ดังกล่าว (Ic0827) - ตอนนี้
ArcDirectionPropBuilder คาดหวังค่าในเครื่องมือสร้าง (I76ada) PlatformDataValues.Builder.putAllวิธีนี้จะช่วยให้คุณผสานPlatformDataValueหนึ่งเข้ากับอีกรายการหนึ่งได้ (I50ba3)- เปลี่ยนชื่อ
Text#setIsScalableเป็นText#setScalable(If920e) - ข้อความ Material สามารถตั้งค่าว่าจะใช้ขนาดที่ปรับขนาดได้ (เพิ่มขึ้นเมื่อผู้ใช้เปลี่ยนขนาดแบบอักษร) หรือไม่ (Ibc849)
- เราได้เพิ่มตัวเลือกในการตั้งค่าคำอธิบายเนื้อหาเป็น
TitleChip(I5d21f) - แก้ไข
CompactChipให้ทำงานได้อย่างถูกต้องกับไอคอนเท่านั้นและอัปเดต API เพื่ออนุญาตตัวเลือกนี้ (I6589e)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาข้อมูลแพลตฟอร์มที่อาจซ้ำกันระหว่างการเริ่มต้น (Iba0fd)
- เพิ่มตัวรับค่าใหม่ไปยัง
DynamicDataNodeเพื่อดึงข้อมูลค่าใช้จ่ายของโหนด ระบบจะใช้ต้นทุนเมื่อได้รับโควต้าโหนดแบบไดนามิก ปัจจุบัน โหนดที่มีค่าคงที่จะมีค่าใช้จ่ายเป็น 0 ส่วนโหนดอื่นๆ ทั้งหมดจะมีค่าใช้จ่ายเป็น 1 (Ia33e1) - นำตรรกะการนับออกจาก
NO_OP_QUOTA_MANAGER(Ib50b8) - เราได้เพิ่มกฎการตรวจสอบโค้ดเพื่อรายงานคำเตือนเมื่อมีการใช้
PrimaryLayoutโดยไม่มีsetResponsiveContentInsetEnabledและให้การแก้ไขอย่างรวดเร็ว (I12025) - มีการจำกัดจำนวนโหนดนิพจน์แบบไดนามิก (Iffae8)
เวอร์ชัน 1.2.0-alpha01
6 มีนาคม 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้องค์ประกอบ
ProtoLayout Arcมีตัวเลือกในการเพิ่มArcDirection(Clockwise,CounterclockwiseหรือNormal) ลงในองค์ประกอบแล้ว การเพิ่มลักษณะการทำงานนี้ลงในArc,ArcLineหรือArcTextจะแก้ไขลักษณะการทำงานในเลย์เอาต์ RTL (I90699) - เราได้อัปเดต
EdgeContentLayoutด้วยตัวตั้งค่าsetResponsiveContentInsetEnabledใหม่เพื่อให้สอดคล้องกับหลักเกณฑ์ UX มากขึ้น รวมถึงความสอดคล้องในไทล์โดยมีป้ายกำกับหลักที่ตำแหน่งคงที่ด้านบนและขอบที่ปรับเปลี่ยนตามอุปกรณ์สำหรับป้ายกำกับ (I60175) - เราได้เพิ่ม
PrimaryLayout.setResponsiveContentInsetEnabledซึ่งจะเพิ่มระยะขอบภายในที่ปรับเปลี่ยนตามอุปกรณ์ให้กับป้ายกำกับหลัก ป้ายกำกับรอง และชิปด้านล่างในเลย์เอาต์นี้ เพื่อป้องกันไม่ให้เนื้อหาหลุดออกจากขอบหน้าจอ (I0c457) - เพิ่มเมธอดเพื่อนำขอบด้านนอกออกจาก
CircularProgressIndicatorเพื่อให้ใช้เป็นคอมโพเนนต์ขนาดเล็กได้ (I55c06)
การเปลี่ยนแปลง API
- ตอนนี้โปรแกรมแสดงผลชิ้นส่วนจะยกเว้นการเว้นวรรคแบบอักษรในองค์ประกอบข้อความทั้งหมดโดยค่าเริ่มต้น โดยไม่มีตัวเลือกให้รวม (I3e300)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาการจัดข้อความเมื่อใช้การละข้อความ การเว้นวรรค และการจัดกึ่งกลางกับข้อความ (I716c7)
- เพิ่มวิธีแก้ปัญหาการวาดส่วนโค้งของ Skia (I08f09)
- แก้ไข
ArcLineทิศทางการวาดสำหรับเลย์เอาต์ RTL (I6c141)
เวอร์ชัน 1.1
เวอร์ชัน 1.1.0
7 กุมภาพันธ์ 2024
androidx.wear.protolayout:protolayout-*:1.1.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0
- รองรับการไล่ระดับสีและการแสดงความยาวที่มากกว่า 360 องศาใน
ArcLineได้ดียิ่งขึ้น - การจัดรูปแบบวันที่และเวลารองรับเขตเวลาต่างๆ สำหรับประเภทข้อมูลแบบไดนามิก
- ตัวเลือกการปรับขนาดอัตโนมัติและการใช้เครื่องหมายจุดไข่ปลาสำหรับข้อความที่ดีขึ้น เพื่อจัดการข้อความที่ถูกตัด
- Spacer รองรับมิติข้อมูลที่ขยายพร้อมน้ำหนักที่ไม่บังคับ
- ใส่คำอธิบายประกอบข้อกำหนดของเวอร์ชันสคีมาใน API ทั้งหมดของ
ProtoLayout - ขยายพื้นที่เป้าหมายไปยังองค์ประกอบ
Clickableใดก็ได้เป็น 48 dp x 48 dp เพื่อให้เป็นไปตามข้อกำหนดด้านการช่วยเหลือพิเศษ - การเว้นวรรคแบบอักษรจะปิดอยู่โดยค่าเริ่มต้น และเป็นลักษณะการทำงานเดียวในองค์ประกอบข้อความและคอมโพเนนต์ Material ทั้งหมดที่มีข้อความ
การเปลี่ยนแปลงเพิ่มเติม
- หากต้องการดูชุดการเปลี่ยนแปลงที่สมบูรณ์ยิ่งขึ้นซึ่งเปิดตัวในเวอร์ชัน 1.1.0 โปรดดูบันทึกประจำรุ่น beta01
เวอร์ชัน 1.1.0-rc01
24 มกราคม 2024
androidx.wear.protolayout:protolayout-*:1.1.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
PlatformTimeUpdateNotifierImplทันทีหลังจากเปิดใช้การอัปเดต (I77145)CircularProgressIndicatorได้รับการแก้ไขสำหรับเลย์เอาต์ RTL แล้ว นับจากนี้เป็นต้นไป การหมุนจะหมุนตามเข็มนาฬิกาในทุกกรณี (I95ee3)- เพิ่มวิธีแก้ปัญหาการวาดส่วนโค้งของ Skia (I08f09)
เวอร์ชัน 1.1.0-beta01
10 มกราคม 2024
androidx.wear.protolayout:protolayout-*:1.1.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-beta01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
การเปิดตัว Wear ProtoLayout เวอร์ชัน 1.1.0-beta01 แสดงให้เห็นว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อกแล้ว (ยกเว้นที่ทำเครื่องหมายว่าเป็นเวอร์ชันทดลอง) Wear ProtoLayout 1.1 มีฟังก์ชันการทำงานและ API ใหม่ต่อไปนี้
ArcLineรองรับการไล่ระดับสีแล้วโดยการเพิ่มBrushด้วยSweepGradientและมีเงาที่ส่วนท้ายเพื่อแสดงความยาวที่มากกว่า 360 องศาได้ดียิ่งขึ้นโดยการเพิ่มShadowในStrokeCapที่มีอยู่DynamicInstantรองรับการจัดรูปแบบวันที่และเวลาตามเขตเวลาDynamicInstantและDynamicDurationสามารถใช้เป็นประเภทข้อมูลสถานะหรือแพลตฟอร์มได้- ฟีเจอร์การปรับขนาดอัตโนมัติสำหรับขนาดข้อความที่อนุญาตให้ตั้งค่าหลายขนาดเป็น
FontStyle.setSizesซึ่งขนาดข้อความจะปรับขนาดโดยอัตโนมัติตามพื้นที่ที่มีอยู่ภายในองค์ประกอบหลัก นอกจากนี้ เรายังปรับปรุงตัวเลือกการละข้อความสำหรับข้อความที่ล้นโดยการเพิ่มTEXT_OVERFLOW_ELLIPSIZEและเลิกใช้งานTEXT_OVERFLOW_ELLIPSIZE_END Spacerตอนนี้รองรับมิติข้อมูลแบบขยายที่มีน้ำหนักที่ไม่บังคับแล้ว เราได้เพิ่มเมธอดตัวช่วยDimensionBuilders.weightสำหรับการสร้างExpandedDimensionProp- รองรับการซ่อนและเลิกซ่อนองค์ประกอบเลย์เอาต์แบบไดนามิกด้วย
Modifier.visibleซึ่งรวมถึงการมีค่าแบบไดนามิกในBoolProp - ตอนนี้
ProtoLayoutAPI ทั้งหมดมีคำอธิบายประกอบข้อกำหนดเวอร์ชันสคีมาแล้ว และสามารถตรวจสอบเวอร์ชันก่อนเรียก API ที่ใหม่กว่าได้ - ตอนนี้องค์ประกอบทุกรายการที่มี
Clickableจะมีพื้นที่เป้าหมายขยายเป็นอย่างน้อย 48x48 ในโปรแกรมแสดงผลเพื่อรองรับข้อกำหนดด้านการช่วยเหลือพิเศษได้ดียิ่งขึ้น - เราได้ปิดการเว้นวรรคแบบอักษรโดยค่าเริ่มต้นในองค์ประกอบ
Textทั้งหมดแล้วตามคอมโพเนนต์ Material อื่นๆ และโครงการริเริ่ม Compose นอกจากนี้ เรายังได้นำAndroidTextStyleและตัวตั้งค่าที่เกี่ยวข้องออกจาก API สาธารณะ พร้อมการแก้ไขข้อบกพร่องต่อไปนี้ - เพิ่มตัวตั้งค่าสำหรับการจัดตำแหน่งเนื้อหาที่ขอบใน
EdgeContentLayoutเพื่อให้จัดตำแหน่งก่อนเนื้อหาอื่นๆ ได้ - แสดงข้อยกเว้นอย่างสม่ำเสมอเมื่อพบค่า enum ที่ไม่รู้จัก
- ทำให้ผลลัพธ์ของนิพจน์ไม่ถูกต้องเมื่อให้ค่าตัวเลขที่ไม่ถูกต้อง (NaN หรืออนันต์) หรือแสดง
ArithmeticException
การเปลี่ยนแปลง API
- อัปเดต
SweepGradientAPI เพื่ออนุญาตให้ยอมรับสีหรือColorStopsในตัวสร้าง (I6676f)
การแก้ไขข้อบกพร่อง
- เพิ่มการรองรับ API และโปรแกรมแสดงผลที่จำกัดสำหรับการตั้งค่าทิศทางที่วาดองค์ประกอบส่วนโค้ง (Idef5a)
RoundModeจะมีค่าเริ่มต้นเป็นFloorในFloatToInt32Nodeเมื่อไม่ได้ระบุ โหนดจะยังคงส่งข้อยกเว้นหากไม่รู้จักRoundModeที่ระบุ (I1b2d8)
เวอร์ชัน 1.1.0-alpha04
13 ธันวาคม 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- คลาส
VersionInfoไม่ได้ใช้Comparableอินเทอร์เฟซ (I8d13c) - ตอนนี้โปรแกรมแสดงผลรองรับ
TEXT_OVERFLOW_ELLIPSIZEแล้ว (I7f085)
การเปลี่ยนแปลง API
- ตัวเลือกข้อความล้น
TEXT_OVERFLOW_ELLIPSIZE_ENDเลิกใช้งานแล้ว โปรดใช้ API ใหม่TEXT_OVERFLOW_ELLIPSIZEซึ่งมีลักษณะการทำงานที่คล้ายกันมาก (I822d8) - เราได้ปิดระยะห่างจากขอบของแบบอักษรโดยค่าเริ่มต้นในองค์ประกอบข้อความทั้งหมดแล้ว ตามคอมโพเนนต์ Material อื่นๆ และโครงการริเริ่ม Compose นอกจากนี้ เรายังได้นำ
AndroidTextStyleและตัวตั้งค่าที่เกี่ยวข้องออกจาก API สาธารณะแล้ว (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hiddenถูกแทนที่ด้วยModifier.visible(I56902)FontStyle#setSizesตอนนี้ยอมรับอาร์กิวเมนต์ int แทนSpPropแล้ว (I02b37)
การแก้ไขข้อบกพร่อง
- ส่งข้อยกเว้นเมื่อพบค่า Enum ที่ไม่รู้จักหรือไม่ระบุ (I9d2cf)
- ปรับโครงสร้างโค้ด
DynamicTypeBindingRequest(I27b57) - ทำให้ผลลัพธ์ของนิพจน์ไม่ถูกต้องเมื่อให้ค่าตัวเลขที่ไม่ถูกต้อง (NaN หรืออนันต์) หรือแสดง
ArithmeticException(I681ae)
เวอร์ชัน 1.1.0-alpha03
29 พฤศจิกายน 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha03 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับการทดลองสำหรับการซ่อน/เลิกซ่อนองค์ประกอบเลย์เอาต์แบบไดนามิก (I64a78)
- เพิ่มการรองรับค่าแบบไดนามิกลงใน
BoolProp(I2fe96) - เพิ่มคำอธิบายประกอบข้อกำหนดของเวอร์ชันสคีมาลงใน
ProtoLayoutAPI (I0f03c) - ขยาย API ด้วยตัวเลือกใหม่ใน
TextOverflowสำหรับการใช้จุดไข่ปลาในข้อความในคอนเทนเนอร์หลักแบบคงที่ แม้ว่าจะยังไม่ถึงจำนวนบรรทัดสูงสุด (แต่มีพื้นที่ไม่เพียงพอสำหรับข้อความ) (I110a9) - เพิ่มเมธอดตัวช่วย
DimensionBuilders.weightสำหรับสร้างExpandedDimensionPropที่มีน้ำหนัก (I4f72b) DynamicInstantและDynamicDurationสามารถใช้เป็นประเภทข้อมูลสถานะหรือแพลตฟอร์มได้ (I6819f)
การเปลี่ยนแปลง API
- อัปเดต API เพื่อซ่อน
DynamicZonedDateTimeและย้ายการดำเนินการทั้งหมดไปยังDyanamicInstant(I34b94) - ตอนนี้ Spacer รองรับมิติข้อมูลแบบขยายสำหรับความกว้าง/ความสูงแล้ว (Ie7c94)
- รองรับส่วนขยายพื้นที่เป้าหมายการคลิกใน Renderer (I39c79)
เวอร์ชัน 1.1.0-alpha02
15 พฤศจิกายน 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มฟิลด์
ArcLineStrokeCapShadowลงใน API (I830ec) - ขยาย API เพื่อให้ระบุความกว้างหรือความสูงของ Spacer เพื่อขยายได้ (I757ca)
- เราได้เพิ่ม API เวอร์ชันทดลองเพื่อปรับขนาดข้อความโดยอัตโนมัติตามพื้นที่ที่มีอยู่ภายในองค์ประกอบหลัก (Ibbe63)
- รองรับขนาดขั้นต่ำที่คลิกได้ (I178e3)
- เพิ่มการรองรับโปรแกรมแสดงผลสำหรับ
StrokeCapShadow(I48b17) - เพิ่มการรองรับโปรแกรมแสดงผลสำหรับ Sweep Gradient ใน
ArcLine(I4d5bb)
เวอร์ชัน 1.1.0-alpha01
18 ตุลาคม 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มตัวเลือกแปรงไปยัง
ArclineโดยรองรับSweepGradient(Ie7ce3) - เพิ่มการรองรับการจัดรูปแบบวันที่และเวลาตามเขตเวลา (Ibfae0)
- เพิ่ม Proto และ Java Wrapper ที่จำเป็นสำหรับการจัดรูปแบบวันที่และเวลาแบบโซน (I97126)
- เพิ่ม Getter สำหรับอ่านค่าที่จัดเก็บไว้ใน
DynamicDataValue(Ie6cea) - เพิ่มตัวตั้งค่าสำหรับการจัดตำแหน่งเนื้อหาที่ขอบใน
EdgeContentLayoutเพื่อให้จัดตำแหน่งก่อนเนื้อหาอื่นๆ ได้ (Ie8e8a)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การอัปเดตนิพจน์ที่มีการลงทะเบียนแหล่งข้อมูลเวลาหลายรายการไม่เกิดขึ้นทันที (I8e1a8)
- แก้ไขข้อบกพร่องเพื่อจัดองค์ประกอบรูทให้อยู่ตรงกลางระหว่างการอัปเดต Diff (Ie48f7)
- ระบบจะไม่ละเว้นค่าข้อจํากัดของเลย์เอาต์ที่ไม่ได้ตั้งค่า (หรือว่างเปล่า) อีกต่อไป (Ibc785)
- ลดความล่าช้าระหว่างเลย์เอาต์ที่มองเห็นได้กับโหนดไปป์ไลน์ที่เริ่มต้น (I38d4e)
รุ่น 1.0
เวอร์ชัน 1.0.0
9 สิงหาคม 2023
androidx.wear.protolayout:protolayout-*:1.0.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0 มีคอมมิตเหล่านี้
ฟีเจอร์หลักของเวอร์ชัน 1.0.0
ไลบรารี ProtoLayout มี API สำหรับสร้างเลย์เอาต์และนิพจน์ที่ใช้ได้ในแพลตฟอร์ม Wear OS ต่างๆ ตัวอย่างเช่น ไลบรารีวิดเจ็ตใช้ API เหล่านี้เพื่อรองรับการเชื่อมโยงข้อมูลแพลตฟอร์ม (เพื่อการอัปเดตข้อมูลวิดเจ็ตที่เร็วขึ้น) และภาพเคลื่อนไหว
เวอร์ชัน 1.0.0-rc01
26 กรกฎาคม 2023
androidx.wear.protolayout:protolayout-*:1.0.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-rc01 มีคอมมิตเหล่านี้
- หากต้องการย้ายข้อมูลจาก Tiles ไปยัง
ProtoLayoutโปรดทำตามวิธีการที่นี่
การเปลี่ยนแปลง API
- เราได้นำเมธอด
setLayoutConstraintForDynamicAnchorAngleและgetLayoutConstraintForDynamicAnchorAngleออกจากองค์ประกอบ Arc แล้ว เราได้เพิ่มวิธีการเหล่านี้โดยไม่ได้ตั้งใจ และวิธีการเหล่านี้ไม่มีผลต่อเลย์เอาต์ที่ระบุ (If7d01) - เราจำกัดความลึกสูงสุดที่เลย์เอาต์ของ
ProtoLayoutจะมีได้ไว้ที่ 30LayoutElementsที่ซ้อนกัน (I8a74b)
การแก้ไขข้อบกพร่อง
- เราได้เพิ่มการตรวจสอบเพื่อแสดงข้อผิดพลาดหากมีการตั้งค่า
DynamicColorสำหรับSpanText(I0e5bc) - มีการชี้แจงว่า
DAILY_CALORIESหน่วยแหล่งข้อมูลคือกิโลแคลอรี (Iaa785)
เวอร์ชัน 1.0.0-beta01
21 มิถุนายน 2023
androidx.wear.protolayout:protolayout-*:1.0.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- อนุญาตให้ตั้งค่านาฬิกาสำหรับการทดสอบการเชื่อมเวลา (I05622)
การเปลี่ยนแปลง API
- ตอนนี้
PlatformDataReceiver.onData()และStateBuilders.Builder.addKeyToValueMappingยอมรับการแมปDynamicDataKeyกับDynamicDataValueที่ปลอดภัยตามประเภทแทนที่จะเป็น Generics ที่ไม่ปลอดภัย ซึ่งหมายความว่าตอนนี้คุณจะพิมพ์DynamicDataValueด้วยDynamicTypeได้แล้วHEART_RATE_ACCURACY_Xค่าคงที่ย้ายไปที่รูทของPlatformHealthSourcesเพื่อให้ตรงกับการวางตำแหน่งค่าคงที่อื่นๆ ของ Android ตอนนี้ระบบจะใช้ค่าคงที่HEART_RATE_ACCURACY_Xint ในDynamicHeartRateAccuracy.constant()และDynamicHeartRateAccuracy.dynamicDataValueOf()โดยตรงแทนค่าคงที่ (I82ff5) PlatformHealthSources.Constantsคลาสสร้างอินสแตนซ์ได้โดยไม่ได้ตั้งใจ ตอนนี้ปัญหาได้รับการแก้ไขแล้ว (Icb849)- ตอนนี้
PlatformTimeUpdateNotifier#setReceiverจะได้รับฟังก์ชันRunnableแทนฟังก์ชันSupplierและExecutorเพื่อแจ้งเตือน (I9d938) - เราได้เปลี่ยนประเภทพารามิเตอร์ใน
PlatformTimeUpdateNotifier#setReceiverจากCallableเป็นSupplier(I664bf) - ตอนนี้
CompactChipและTitleChipรองรับการเพิ่มไอคอนแล้ว (I5a01e)
การแก้ไขข้อบกพร่อง
- อัปเดตข้อความ Prop ด้วยฟิลด์แบบไดนามิกเพื่อใช้ oneof แทน (I81739)
- นำการใช้งานตัวตั้งค่ากลับมาใช้ใหม่สำหรับการโอเวอร์โหลดที่มีตัวตั้งค่า (Ied70c)
- บันทึกลายนิ้วมืออย่างถูกต้องใน Setter ที่มีการโอเวอร์โหลด (I86ed2)
เวอร์ชัน 1.0.0-alpha11
7 มิถุนายน 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha11 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เราได้เพิ่ม
PlatformDataKeyเพื่อความแม่นยำของอัตราการเต้นของหัวใจ (I7f9b8)
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
StateBuilders#getIdToValueMappingเป็นgetKeyToValueMappingและเปลี่ยนประเภทการคืนค่าเป็นMap<<AppDataKey<?>,DynamicDataValue>(Iaa7ae) - ทำให้
StateStoreเป็นชั้นเรียนสุดท้าย (I408ca) TimeGatewayได้รับการแทนที่ด้วยPlatformTimeUpdateNotifierในไลบรารีprotolayout-expression-pipelineซึ่งให้ความถี่ที่ต้องการสำหรับการอัปเดตข้อมูลเวลา (I60869)- เปลี่ยนชื่อ
register/unregisterForDataในPlatformDataProviderเป็นset/clearReceiver(I14b02) - ในข้อความ Material เราได้เปลี่ยนชื่อ
getExcludeFontPaddingเป็นhasExcludeFontPaddingแล้ว (Iea01d) - เพิ่ม Setter สำหรับการจัดแนวป้ายกำกับอย่างสมบูรณ์ลงในคอมโพเนนต์ชิปทั้งหมด ตอนนี้ชิปทั้งหมดมีเป้าหมายที่แตะได้ขั้นต่ำแล้ว (I8ae92)
- เปลี่ยนชื่อ
LayoutDefaults#BUTTON_MAX_NUMBERเป็นMAX_BUTTONSแล้ว (I84788) - เปลี่ยนชื่อ
DAILY_DISTANCEเป็นDAILY_DISTANCE_M(I4f758)
การแก้ไขข้อบกพร่อง
- อัปเดตเอกสารประเภทพร็อพเพื่อชี้แจงเหตุผลที่ต้องใช้ค่าคงที่ ระบุมูลค่าเริ่มต้นที่จะใช้หากไม่ได้ระบุมูลค่าแบบคงที่ (I155aa)
PlatformDataKeyเนมสเปซควรตั้งชื่อตามรูปแบบ Java (I47bda)
เวอร์ชัน 1.0.0-alpha10
24 พฤษภาคม 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
AppDataKeyสำหรับการเข้าถึงสถานะที่แอปพุช เพิ่มPlatformDataKeyสำหรับการเข้าถึงข้อมูลแพลตฟอร์ม เพิ่มการรองรับเนมสเปซในStateStore(I7985e) - รองรับการดำเนินการ
EqualและNotEqualสำหรับDynamicBool(I6a0c1)
การเปลี่ยนแปลง API
- ตอนนี้ชั้นเรียน
FontStylesเสร็จสมบูรณ์แล้ว (Iaa2ea) LayoutElementBuilders#FontStylesเลิกใช้งานแล้ว โปรดใช้androidx.wear.protolayout.Typographyหรือสร้างFontStyleของคุณเอง (Ic929b)- ซ่อนอินเทอร์เฟซที่ซ้อนกันของ
Action#Builderจากอินเทอร์เฟซของActionคลาสLoadActionและLaunchActionมีการใช้งาน Builder อยู่แล้ว (I1d70c) - อนุญาตให้ใช้
DynamicFloatกับFloatPropโปรดทราบว่าFloatPropไม่จำเป็นต้องมีข้อจำกัดของเลย์เอาต์เนื่องจากไม่ได้ใช้เป็นพร็อพที่เปลี่ยนเลย์เอาต์ (I286ac) - เราได้นำการดำเนินการ
LoalActionและSetStateActionออกเนื่องจากยังไม่รองรับการดำเนินการดังกล่าว (I5d6a6) - เพิ่มการรองรับรูปแบบ ARGB_8888 สำหรับทรัพยากรรูปภาพในบรรทัด (I8a07c)
- เปลี่ยนชื่อ
StateEntryValueเป็นDynamicDataValueและอัปเดต API สถานะให้ใช้DynamicDataKey(If1c01) - เราจำกัดจำนวนรายการที่อนุญาตใน
StateStoreเพื่อให้มั่นใจว่าการใช้หน่วยความจำและเวลาในการอัปเดตสถานะจะได้รับการควบคุมและจัดการอย่างดีสำหรับแต่ละอินสแตนซ์ของStateStoreด้วยเหตุนี้ นักพัฒนาแอปจึงต้องตรวจสอบว่ามีรายการในแผนที่ไม่เกินMAX_STATE_ENTRY_COUNTรายการ มิฉะนั้นจะได้รับIllegalStateExceptionเมื่อสร้างหรืออัปเดตStateStore(Ibadb3) - ซ่อนชั้นเรียน
OnLoadTriggerและOnConditionMetTriggerแล้วเปลี่ยนชื่อsetTriggerเป็นsetConditionสำหรับOnConditionMetTrigger(Ibf629) - เนื่องด้วยเหตุผลด้านประสิทธิภาพและความเข้ากันได้ ตัวแสดงผล
ProtoLayoutจึงไม่รองรับฟีเจอร์ทั้งหมดในแหล่งข้อมูลAnimatedVectorDrawableเราจะทําเครื่องหมาย API เหล่านั้นเป็นเวอร์ชันทดลองจนกว่าจะกําหนดชุดที่รองรับได้ (Ic6daf) - เพิ่มประเภทแบบไดนามิกสำหรับระยะทางรายวัน แคลอรี่รายวัน และชั้นรายวัน ตอนนี้คีย์สำหรับแหล่งข้อมูลด้านสุขภาพของแพลตฟอร์มอยู่ภายใต้
PlatformHealthSources.Keys(Ib7637) Easing.cubicBezierจะมาแทนที่CubicBezierEasing.BuilderระบบจะนำEasingFunctionชั้นเรียนออกและตอนนี้คุณจะเข้าถึงค่าคงที่ของการผ่อนคลายจากชั้นเรียนนั้นได้โดยตรงจากอินเทอร์เฟซของEasingนอกจากนี้setInfiniteRepeatableยังถูกแทนที่ด้วยINFINITE_REPEATABLE_WITH_RESTARTและINFINITE_REPEATABLE_WITH_REVERSE(Ib41e7)- ใช้
PlatformDataProviderเพื่อระบุอัตราการเต้นของหัวใจและจำนวนก้าวรายวันSensorGatewayอินเทอร์เฟซถูกนำออกจาก API สาธารณะ (I55b84) - เพิ่ม
PlatformDataProviderและอัปเดตStateStoreเพื่อลงทะเบียนกับPlatformDataProviderเมื่อไคลเอ็นต์ต้องการคีย์ที่ผู้ให้บริการรองรับจากไปป์ไลน์นิพจน์ (Ib616a) SensorGatewayไม่ใช่Closeableอีกต่อไปเนื่องจากไม่ได้เก็บสถานะใดๆ ไว้ (I6b4f7)- อนุญาตให้ใช้
FloatPropกับDynamicFloatเพื่อดูความคืบหน้าในCircularProgressIndicatorซึ่งรองรับสำหรับโปรแกรมแสดงผลที่รองรับเวอร์ชัน 1.2 โปรแกรมแสดงผลรุ่นเก่าจะกลับไปใช้staticValueหากมี หรือไม่เช่นนั้นจะใช้ 0 (I0d91b) - ค่าคงที่
MultiButtonLayoutได้รับการปรับโครงสร้างใหม่เป็นคลาสLayoutDefaults.MultiButtonLayoutDefaultsซึ่งตอนนี้มีค่าคงที่สำหรับขนาดปุ่มโดยขึ้นอยู่กับจำนวนปุ่มในเลย์เอาต์ (I13973) - รองรับการใช้
StringPropกับDynamicStringในข้อความ Material ซึ่งรองรับสำหรับโปรแกรมแสดงผลที่รองรับเวอร์ชัน 1.2 โปรแกรมแสดงผลรุ่นเก่าจะกลับไปใช้ค่าคงที่ที่ระบุ อัปเดตประเภทการคืนค่าของText#getTextจากStringเป็นStringProp(I7275b)
เวอร์ชัน 1.0.0-alpha09
10 พฤษภาคม 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เราได้เพิ่มองค์ประกอบเลย์เอาต์ส่วนขยายทดลองแล้ว โปรดทราบว่าคุณจะใช้ฟีเจอร์นี้โดยค่าเริ่มต้นไม่ได้ และต้องมีส่วนขยายโปรแกรมแสดงผลที่เข้าใจองค์ประกอบเลย์เอาต์ (I6581d)
- เพิ่มการรองรับ
StrokeCapสำหรับArcLineแล้ว (I94951) - เพิ่มการรองรับการดำเนินการแบบทันทีตามเงื่อนไข (I489a7)
- เพิ่มการรองรับการดำเนินการระยะเวลาตามเงื่อนไข (Iab469)
- เพิ่มการรองรับการสร้างระยะเวลาจากวินาที (Ib5fa1)
การเปลี่ยนแปลง API
- ระบบได้นำวิธีการ
enable/disablePlatformSourceออกจากDynamicTypeEvaluatorแล้ว ผู้โทรควรเป็นผู้รับผิดชอบในการอัปเดต (I78c6d) - อนุญาตให้จำกัดขนาดของประเภทข้อมูลที่เชื่อมโยง (Ie2966)
- เพิ่มการรองรับคำอธิบายเนื้อหาแบบไดนามิกใน
protolayout-material(I62c8e) - ใช้
@IntRangeและ@IntRangeสำหรับระยะเวลาและการหน่วงเวลาใน AnimationParameters (I388b6)
เวอร์ชัน 1.0.0-alpha08
19 เมษายน 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
AndroidTextStyleถูกเพิ่มในLayoutElementBuilders(I8d967)- เราได้เพิ่มการรองรับการตั้งค่าการยกเว้นการเว้นวรรคแบบอักษรใน
ProtoLayoutข้อความ Material (I17f5d) - ตอนนี้เรารองรับ ARGB_8888 สำหรับรูปภาพในบรรทัดแล้ว (I18c1e)
- ตอนนี้
DynamicColorรองรับการดำเนินการonConditionแล้ว (I10927)
การเปลี่ยนแปลง API
- รองรับระยะเวลาที่กำหนดเองสำหรับภาพเคลื่อนไหวแบบย้อนกลับ (I3251f)
- เราได้เพิ่มตัวแก้ไข
SemanticDescriptionนอกจากนี้ContentDescriptionยังผูกมัดไม่ได้ (I3f1d) - ตอนนี้เราได้แทนที่เมธอด
DynamicBool.isFalse()ด้วยDynamicBool.negate()และนำDynamicBool.isTrue()ออกแล้ว นอกจากนี้ ค่า NaNDynamicFloatและการจำกัดDynamicInt32ให้เป็นDynamicFloatจะทำให้เกิดผลลัพธ์แบบไดนามิกที่ไม่ถูกต้อง (I6ac1e) - ตอนนี้ Formatter ของ Int และ Float ใช้รูปแบบ Builder แล้ว (Ieb213)
การแก้ไขข้อบกพร่อง
- นำค่าคงที่สำรองออกจากช่องที่เคลื่อนไหวได้แล้ว (Ifcb01)
- นำ
DynamicTypeValueReceiver#onPreUpdateออกแล้ว (I2dc35) - ตอนนี้เราได้จำกัดความยาวของสตริงในนิพจน์แบบไดนามิกแล้ว (I4c93)
- ตอนนี้ระบบได้ตั้งค่าทรัพยากร Dependency ของ Gradle เป็น
apiแทนimplementationอย่างถูกต้องแล้วเมื่อจำเป็น (I40503)
เวอร์ชัน 1.0.0-alpha07
5 เมษายน 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับค่าแบบไดนามิกลงใน
StringProp(I04342) - ทำเครื่องหมายองค์ประกอบเลย์เอาต์ที่เชื่อมโยงได้ (Ia110b)
การเปลี่ยนแปลง API
sensorGateway#registerSensorGatewayConsumerใช้ประเภทข้อมูลเป็นพารามิเตอร์แทนเมธอดใน Consumer (Icf314)- เปลี่ยนชื่อ
ObservableStateStoreเป็นStateStoreแล้ว (Ieb0e2) - เพิ่ม
DynamicTypeEvaluator.Builderแทนอาร์กิวเมนต์ของตัวสร้างเพื่อให้มีอาร์กิวเมนต์ที่ไม่บังคับมากขึ้น รวมถึงObservableStateStoreซึ่งตอนนี้มีค่าเริ่มต้นเป็นที่เก็บข้อมูลว่าง (I6f832) - ปรับโครงสร้างลำดับพารามิเตอร์ใน
DynamicTypeEvaluator(Ic1ba4)
การแก้ไขข้อบกพร่อง
- ส่งต่อสัญญาณจากแหล่งที่มาของเซ็นเซอร์แพลตฟอร์มไปยังโหนดดาวน์สตรีมอย่างถูกต้อง (I5a922)
เวอร์ชัน 1.0.0-alpha06
22 มีนาคม 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เราได้เพิ่ม API เวอร์ชันทดลองสำหรับการใช้อัตราการเต้นของหัวใจและจำนวนก้าวในแต่ละวันในนิพจน์แบบไดนามิก (Ifd711)
- เราได้เพิ่มการรองรับการหน่วงเวลาไปข้างหน้าและย้อนกลับสำหรับภาพเคลื่อนไหว (Ic25f7)
- เราได้เพิ่มการรองรับ
DynamicColorให้กับเส้นขอบและพื้นหลัง - เราได้เพิ่มการรองรับค่าแบบไดนามิกลงในประเภทใน
DimensionBuilder - เลย์เอาต์และคอมโพเนนต์จาก
tiles-materialจะย้ายไปที่protolayout-material
การเปลี่ยนแปลง API
LoadActionListenerถูกเพิ่มในProtoLayoutViewInstance(If7806)
การแก้ไขข้อบกพร่อง
- เพิ่ม
FloatNodesTest(Id7281) - แก้ไขการขัดข้องของโปรแกรมแสดงผลเมื่อโหลดบิตแมปที่มีโครงสร้างไม่ได้
เวอร์ชัน 1.0.0-alpha05
8 มีนาคม 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เราได้เพิ่มภาพเคลื่อนไหว "อัปเดตเนื้อหา" เวอร์ชันทดลองลงในออบเจ็กต์
Modifiersภาพเคลื่อนไหวนี้จะทริกเกอร์เมื่อใดก็ตามที่องค์ประกอบ (ที่มีตัวแก้ไขนี้) หรือองค์ประกอบย่อยรายการใดรายการหนึ่งมีการเปลี่ยนแปลงระหว่างการอัปเดตเลย์เอาต์ (bd03e5d)
การเปลี่ยนแปลง API
- เราได้เพิ่ม
forwardRepeatDelayMillisและreverseRepeatDelayMillisลงในRepeatableแล้ว นอกจากนี้ เรายังเปลี่ยนชื่อdelayMillisในAnimationSpecเป็นstartDelayMillis(Ifb266) ด้วย DynamicTypeEvaluator.bindตอนนี้เมธอดต่างๆ ยอมรับ Executor แล้ว (I346ab)- เราได้เพิ่ม
startEvaluationเมธอดลงในBoundDynamicTypeเพื่อทริกเกอร์การประเมินหลังจากผูกประเภทแบบไดนามิกแล้ว (I19908)
การแก้ไขข้อบกพร่อง
- ระบบจะนำออบเจ็กต์ Animator กลับมาใช้ซ้ำสำหรับภาพเคลื่อนไหวขององค์ประกอบเดียวในภายหลัง (Ia3be9)
เวอร์ชัน 1.0.0-alpha04
22 กุมภาพันธ์ 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้
ObservableStateStoreจะแจ้งให้ผู้ฟังทราบเมื่อมีการนำคีย์ออกด้วย - เราได้เพิ่มเวอร์ชันสคีมาของเครื่องมือแสดงผลและขนาดแบบอักษรลงใน
DeviceParameters(ซึ่งใช้เพื่อสร้างเลย์เอาต์แบบมีเงื่อนไขในการตอบสนองต่อเวอร์ชันและการตั้งค่าแบบอักษรต่างๆ ได้) - เราได้เพิ่มการรองรับการเคลื่อนไหวค่า
DynamicInt32(I05485) - เราได้เพิ่มทริกเกอร์
OnLoadและOnConditionalMetซึ่งใช้เพื่อเริ่มภาพเคลื่อนไหวที่รองรับทริกเกอร์ได้ - เราได้เพิ่มน้ำหนักเลย์เอาต์สำหรับมิติข้อมูลที่ขยาย และขนาดขั้นต่ำสำหรับมิติข้อมูลที่ตัด
- เราได้เพิ่มประเภทแบบไดนามิกแบบระยะเวลาและแบบทันที ซึ่งใช้เพื่อแสดงช่วงเวลาหรือระยะเวลาในนิพจน์แบบไดนามิกได้
- เราได้เพิ่มการรองรับ
AnimatedVectorDrawableและSeekableAnimatedVectorDrawableเป็นทรัพยากรเลย์เอาต์
การเปลี่ยนแปลง API
- ข้อมูลเซ็นเซอร์ต้องใช้ API 29 ขึ้นไป (I8099e)
- เราได้เพิ่ม
launchActionเมธอดตัวช่วย (สำหรับการเปิดใช้กิจกรรม) 2 รายการ
การแก้ไขข้อบกพร่อง
- เปลี่ยนชื่อ
set/getSpecเป็นset/getAnimationSpecในภาพเคลื่อนไหวของการ์ด (I3d74b)
เวอร์ชัน 1.0.0-alpha03
8 กุมภาพันธ์ 2023
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เราได้เพิ่ม
toByteArray()และfromByteArray()ลงในประเภทแบบไดนามิกในไลบรารี protolayout-express - เราได้เพิ่ม
toString()ลงในประเภทแบบไดนามิกในไลบรารี protolayout-expression - เราได้เพิ่มการรองรับการประเมินสำหรับประเภทแบบไดนามิก คลาส
DynamicTypeEvaluatorจากไลบรารี protolayout-expression-pipeline สามารถใช้เพื่อประเมิน (และรับค่าที่อัปเดตแล้ว) สำหรับประเภทไดนามิกที่สร้างไว้ก่อนหน้า (DynamicString,DynamicFloat, …) - เมื่อเล่นภาพเคลื่อนไหวไม่ได้ (เนื่องจากผู้ประเมินปิดใช้ หรือจำนวนภาพเคลื่อนไหวที่กำลังทำงานถึงขีดจำกัดที่ตั้งไว้) ระบบจะใช้ค่าคงที่ที่ตั้งไว้ในโหนดที่เคลื่อนไหวได้เพื่อแทนที่ภาพเคลื่อนไหว
เวอร์ชัน 1.0.0-alpha02
25 มกราคม 2023
androidx.wear.protolayout:protolayout:1.0.0-alpha02 androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 และ androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 ออกอากาศแล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เครื่องมือสร้างเลย์เอาต์จาก
androidx.wear.tiles:tilesจะย้ายไปที่androidx.wear.protolayout:protolayoutส่วนฟีเจอร์ในandroidx.wear.tiles:tilesจะเลิกใช้งานในรุ่นอัลฟ่ารุ่นใดรุ่นหนึ่งถัดไป
เวอร์ชัน 1.0.0-alpha01
11 มกราคม 2023
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 และ androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- การเปิดตัวนี้จะแนะนำไลบรารีใหม่ "นิพจน์ ProtoLayout" สำหรับการสร้างนิพจน์จากตัวแปรแบบไดนามิก