wear protolayout
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
---|---|---|---|---|
24 กันยายน 2025 | 1.3.0 | - | - | 1.4.0-alpha01 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน wear-protolayout คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับ
แอปหรือโมดูล
Groovy
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-alpha01
24 กันยายน 2025
androidx.wear.protolayout:protolayout-*:1.4.0-alpha01
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มเมธอดตัวช่วยสำหรับ
LayoutModifier
ซึ่งทำให้องค์ประกอบค่อยๆ ปรากฏขึ้นเมื่อไทล์เริ่มมองเห็นได้ (I38531, b/390345969) - เพิ่ม
materialScopeWithResources
เพื่อรองรับแนวคิด M3MaterialScope
ซึ่งดูแลการลงทะเบียนทรัพยากรโดยอัตโนมัติด้วย ในนั้นได้เพิ่มเมธอดตัวช่วยใหม่สำหรับรูปภาพ (backgroundImage
avatarImage
และไอคอน) ซึ่งช่วยให้ไม่ต้องลงทะเบียนทรัพยากรใน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) ProtoLayout
Material3MaterialScope
จะแสดงฟิลด์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
,textEdgeButton
iconButton
,textButton
,button
,imageButton
,avatarButton
,compactButton
titleCard
,appCard
,graphicDataCard
,iconDataCard
,textDataCard
circularProgressIndicator
,segmentedCircularProgressIndicator
primaryLayout
,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
,textEdgeButton
iconButton
,textButton
,button
,imageButton
,avatarButton
,compactButton
titleCard
,appCard
,graphicDataCard
,iconDataCard
,textDataCard
circularProgressIndicator
,segmentedCircularProgressIndicator
primaryLayout
,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
รองรับ Kotlin API ที่ปลอดภัยยิ่งขึ้นสำหรับสถานะแอป (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 ลงในฟิลด์ใน
*Colors
classes ใน 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 Material3
textButton แล้ว (Id680d) - เพิ่มคอมโพเนนต์
iconButton
ProtoLayout 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 ที่กำลังจะเปิดตัว- การรองรับตัวแก้ไขเพิ่มเติม
- ตัวแก้ไขการเปลี่ยนรูปที่เสนอการแปล การหมุน และการปรับขนาดที่มีหรือไม่มีภาพเคลื่อนไหว
- การระบุค่าที่แตกต่างกัน (แนวนอนและแนวตั้ง) สำหรับรัศมีมุมแต่ละมุม
- ปรับปรุงการเข้าถึงเป้าหมายการสัมผัสทั้งหมดโดยขยายพื้นที่ที่แตะได้ขององค์ประกอบใดก็ตามที่ใช้ตัวแก้ไขที่คลิกได้ให้มีขนาดอย่างน้อย
48dp
x48dp
- ปรับปรุง
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
ให้มีขนาดอย่างน้อย48dp
x48dp
- ปรับปรุง
PrimaryLayout
และEdgeContentLayout
โดยเพิ่มsetResponsiveContentInsetEnabled
เพื่อรองรับลักษณะการทำงานที่ปรับเปลี่ยนตามพื้นที่โฆษณาของเลย์เอาต์เหล่านี้ในขนาดหน้าจอต่างๆ ได้ดียิ่งขึ้น และปรับปรุงความสอดคล้องของไทล์ เพิ่มคำเตือนของ Linter เพื่อแนะนำการใช้ API เหล่านี้พร้อมการแก้ไขอย่างรวดเร็ว - ปรับปรุงการปรับขนาด/การไม่ปรับขนาดของ Material
Text
สำหรับการปรับขนาดแบบอักษรที่ไม่ใช่แบบเชิงเส้นของ Android 14
การเปลี่ยนแปลง API
- นำชื่อชุดแบบอักษรเริ่มต้น (
DEFAULT_SYSTEM_FONT
) ออกเนื่องจากเป็นค่าเริ่มต้นเมื่อไม่ได้ใช้preferredFontFamilies
API (I39dab) - พารามิเตอร์ที่ส่งไปยัง
FontSetting.width
ควรเป็นค่าบวก (I1266f)
เวอร์ชัน 1.2.0-alpha05
26 มิถุนายน 2024
androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
hasText
method ไปยังMaterial.CompactChip
เพื่อตรวจสอบว่าได้ตั้งค่าเนื้อหาข้อความแล้วหรือไม่ (I6e8fc)
การเปลี่ยนแปลง API
FontFamily
const จะย้ายไปอยู่ใน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)
- ขยาย
FontSetting
API ให้รวมถึงข้อมูลต่อไปนี้ - เพิ่ม 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) - ตอนนี้
ArcDirectionProp
Builder คาดหวังค่าในเครื่องมือสร้าง (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
- ตอนนี้
ProtoLayout
API ทั้งหมดมีคำอธิบายประกอบข้อกำหนดเวอร์ชันสคีมาแล้ว และสามารถตรวจสอบเวอร์ชันก่อนเรียก API ที่ใหม่กว่าได้ - ตอนนี้องค์ประกอบทุกรายการที่มี
Clickable
จะมีพื้นที่เป้าหมายขยายเป็นอย่างน้อย 48x48 ในโปรแกรมแสดงผลเพื่อรองรับข้อกำหนดด้านการช่วยเหลือพิเศษได้ดียิ่งขึ้น - เราได้ปิดการเว้นวรรคแบบอักษรโดยค่าเริ่มต้นในองค์ประกอบ
Text
ทั้งหมดแล้วตามคอมโพเนนต์ Material อื่นๆ และการริเริ่ม Compose นอกจากนี้ เรายังได้นำAndroidTextStyle
และตัวตั้งค่าที่เกี่ยวข้องออกจาก API สาธารณะ พร้อมการแก้ไขข้อบกพร่องต่อไปนี้ - เพิ่มตัวตั้งค่าสำหรับการจัดตำแหน่งเนื้อหาที่ขอบใน
EdgeContentLayout
เพื่อให้จัดตำแหน่งก่อนเนื้อหาอื่นๆ ได้ - แสดงข้อยกเว้นอย่างสม่ำเสมอเมื่อพบค่า enum ที่ไม่รู้จัก
- ทำให้ผลลัพธ์ของนิพจน์ไม่ถูกต้องเมื่อให้ค่าตัวเลขที่ไม่ถูกต้อง (NaN หรืออนันต์) หรือแสดง
ArithmeticException
การเปลี่ยนแปลง API
- อัปเดต
SweepGradient
API เพื่ออนุญาตให้ยอมรับสีหรือ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) - เพิ่มคำอธิบายประกอบข้อกำหนดของเวอร์ชันสคีมาลงใน
ProtoLayout
API (I0f03c) - ขยาย API ด้วยตัวเลือกใหม่ใน
TextOverflow
สำหรับการใช้จุดไข่ปลาในข้อความในคอนเทนเนอร์หลักแบบคงที่ แม้ว่าจะยังไม่ถึงจำนวนบรรทัดสูงสุด (แต่มีพื้นที่ไม่เพียงพอสำหรับข้อความ) (I110a9) - เพิ่มเมธอดตัวช่วย
DimensionBuilders.weight
สำหรับสร้างExpandedDimensionProp
ที่มีน้ำหนัก (I4f72b) DynamicInstant
และDynamicDuration
สามารถใช้เป็นประเภทข้อมูลสถานะหรือแพลตฟอร์มได้ (I6819f)
การเปลี่ยนแปลง API
- อัปเดต API เพื่อซ่อน
DynamicZonedDateTime
และย้ายการดำเนินการทั้งหมดไปยังDyanamicInstant
(I34b94) - ตอนนี้ Spacer รองรับมิติข้อมูลแบบขยายสำหรับความกว้าง/ความสูงแล้ว (Ie7c94)
- รองรับส่วนขยายพื้นที่เป้าหมายการคลิกในการสนับสนุนในเครื่องมือแสดงผล (I39c79)
เวอร์ชัน 1.1.0-alpha02
15 พฤศจิกายน 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มฟิลด์
ArcLine
StrokeCap
Shadow
ลงใน API (I830ec) - ขยาย API เพื่อให้ระบุความกว้างหรือความสูงของ Spacer เพื่อขยายได้ (I757ca)
- เราได้เพิ่ม API เวอร์ชันทดลองเพื่อปรับขนาดข้อความโดยอัตโนมัติตามพื้นที่ที่มีภายในองค์ประกอบหลัก (Ibbe63)
- รองรับขนาดขั้นต่ำที่คลิกได้ (I178e3)
- เพิ่มการรองรับโปรแกรมแสดงผลสำหรับ
StrokeCap
Shadow
(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_X
int ใน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)
- นำการใช้งาน Setter กลับมาใช้ใหม่สำหรับการโอเวอร์โหลดที่มี Setter (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" สำหรับการสร้างนิพจน์จากตัวแปรแบบไดนามิก