wear protolayout
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
11 ธันวาคม 2024 | 1.2.1 | - | - | 1.3.0-alpha05 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มการอ้างอิง wear-protolayout คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha04" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0-alpha04" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0-alpha04") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0-alpha04") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมในเอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.3
เวอร์ชัน 1.3.0-alpha05
11 ธันวาคม 2024
androidx.wear.protolayout:protolayout-*:1.3.0-alpha05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha05 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
LayoutString
เพื่อรองรับช่องสตริงเลย์เอาต์ที่เชื่อมโยงได้ (Ida650) - เพิ่มคอมโพเนนต์คอนเทนเนอร์บัตร
ProtoLayout Material3
(Ic985a)
การแก้ไขข้อบกพร่อง
- ตอนนี้ไลบรารีนี้ใช้แอตทริบิวต์ JSpecify nullness ซึ่งเป็นการใช้ประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(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) - เพิ่มตัวจับคู่ที่ใช้กันโดยทั่วไปหลายรายการลงในไลบรารีการทดสอบ (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 ของ
androidx.wear.protolayout:protolayout-proto
และandroidx.wear.protolayout:protolayout-external-protobuf
เวอร์ชัน 1.2.0 เป็น 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
- ปรับปรุงการรองรับทิศทางการจัดวาง RTL ในองค์ประกอบส่วนโค้งทั้งหมด
การเปลี่ยนแปลงเพิ่มเติม
- ดูชุดการเปลี่ยนแปลงทั้งหมดที่เปิดตัวในเวอร์ชัน 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 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
เวอร์ชัน 1.2.0-beta01 ของ Wear ProtoLayout บ่งบอกว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ API ถูกล็อก (ยกเว้นกรณีที่ทำเครื่องหมายว่าเวอร์ชันทดลอง) Wear ProtoLayout 1.2 มีฟังก์ชันการทำงานและ API ใหม่ต่อไปนี้
FontStyle
ได้รับการอัปเดตให้รองรับแบบอักษรเพิ่มเติมดังต่อไปนี้- การตั้งค่าแบบอักษรรูปแบบต่างๆ เช่น
FontSetting.weight
และFontSetting.width
- การตั้งค่าความกว้างเดียวกันสำหรับอักขระตัวเลขทั้งหมด - ตัวเลขในตาราง (
FontSetting.tnum
การตั้งค่าฟีเจอร์แบบอักษร) - ปรับปรุง API การเลือกแบบอักษรเพื่อรองรับแบบอักษร Flex ที่กําลังจะมีให้บริการ โดยระบุชื่อชุดแบบอักษรที่ต้องการใช้
- การตั้งค่าแบบอักษรรูปแบบต่างๆ เช่น
- ตัวแก้ไข
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
ลงในMaterial.CompactChip
เพื่อตรวจสอบว่าได้ตั้งค่าเนื้อหาข้อความแล้วหรือยัง (I6e8fc)
การเปลี่ยนแปลง API
- ย้าย
FontFamily
const ไปไว้ในFontStyle
แทนคลาส Builder (I06ced) - อัปเดต
FontSetting.weight
และFontSetting.width
API ให้ใส่คำอธิบายประกอบช่วง และเปลี่ยนพารามิเตอร์ของน้ำหนักเป็น 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 ให้รวมข้อมูลต่อไปนี้ - เพิ่ม Font Family API ลงใน
FontStyle
เพื่ออนุญาตให้ระบุรายการลําดับชุดแบบอักษรที่ควรใช้ (Iba9f5) - เปลี่ยนชื่อค่าคงที่สำหรับความสูงของพื้นที่ว่างระหว่างเนื้อหากับป้ายกำกับรองใน
LayoutDefaults
ของ Material ซึ่งเดิมมีคำนำหน้า "Edge content" ให้เป็นค่าทั่วไปมากขึ้นเนื่องจากนำไปใช้กับทั้ง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
ตอนนี้เครื่องมือสร้างจะคาดหวังค่าในเครื่องมือสร้าง (I76ada)- วิธี
PlatformDataValues.Builder.putAll
จะช่วยให้ผสานPlatformDataValue
รายการหนึ่งเข้ากับอีกรายการหนึ่งได้ (I50ba3) - เปลี่ยนชื่อ
Text#setIsScalable
เป็นText#setScalable
(If920e) - Material Text สามารถตั้งค่าได้ว่าจะใช้ขนาดที่ปรับขนาดได้หรือไม่ (ขยายขนาดเมื่อผู้ใช้เปลี่ยนขนาดแบบอักษร) (Ibc849)
- เราได้เพิ่มตัวเลือกในการตั้งค่าคำอธิบายเนื้อหาเป็น
TitleChip
(I5d21f) - แก้ไข
CompactChip
ให้ทำงานอย่างถูกต้องกับไอคอนเท่านั้น และอัปเดต API เพื่ออนุญาตตัวเลือกนี้ (I6589e)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาข้อมูลแพลตฟอร์มที่อาจซ้ำกันระหว่างการเริ่มต้น (Iba0fd)
- แนะนำ getter ใหม่ให้กับ
DynamicDataNode
เพื่อดึงข้อมูลต้นทุนของโหนด ระบบจะใช้ค่าใช้จ่ายนี้เมื่อได้รับโควต้าโหนดแบบไดนามิก ปัจจุบันโหนดที่มีค่าคงที่จะมีต้นทุน 0 ส่วนโหนดอื่นๆ ทั้งหมดจะมีต้นทุน 1 (Ia33e1) - นำตรรกะการนับออกจาก
NO_OP_QUOTA_MANAGER
(Ib50b8) - เราได้เพิ่มกฎ lint เพื่อรายงานคำเตือนเมื่อใช้
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
ได้ดียิ่งขึ้น - การจัดรูปแบบวันที่และเวลารองรับเขตเวลาต่างๆ สําหรับประเภทข้อมูลที่เป็นแบบไดนามิก
- ตัวเลือกการปรับขนาดข้อความอัตโนมัติและการลบข้อความบางส่วนที่ดีขึ้นเพื่อจัดการข้อความที่ถูกตัด
- ตัวเว้นวรรครองรับมิติข้อมูลที่ขยายโดยมีน้ำหนักหรือไม่ก็ได้
- กำกับเนื้อหาข้อกำหนดเวอร์ชันสคีมาสำหรับ 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 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
เวอร์ชัน 1.1.0-beta01 ของ Wear ProtoLayout บ่งบอกว่าไลบรารีเวอร์ชันนี้มีฟีเจอร์ครบถ้วนและ 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
รองรับมิติข้อมูลที่ขยายที่มีน้ำหนักซึ่งไม่บังคับแล้ว สำหรับบิลด์ExpandedDimensionProp
เราได้เพิ่มเมธอดตัวช่วยDimensionBuilders.weight
- รองรับการซ่อนและเลิกซ่อนองค์ประกอบเลย์เอาต์แบบไดนามิกด้วย
Modifier.visible
ซึ่งรวมถึงการมีค่าแบบไดนามิกในBoolProp
- ตอนนี้
ProtoLayout
API ทั้งหมดมีคำอธิบายประกอบข้อกำหนดเวอร์ชันสคีมาและสามารถตรวจสอบเวอร์ชันก่อนเรียกใช้ API เวอร์ชันใหม่ได้ - ตอนนี้องค์ประกอบทุกรายการที่มี
Clickable
จะมีพื้นที่เป้าหมายขยายเป็นอย่างน้อย 48x48 ในโปรแกรมแสดงผลเพื่อรองรับข้อกำหนดการช่วยเหลือพิเศษได้ดียิ่งขึ้น - ตามโปรเจ็กต์ริเริ่มอื่นๆ ของคอมโพเนนต์ Material และ Compose ตอนนี้เราได้ปิดการเยื้องแบบอักษรไว้โดยค่าเริ่มต้นในองค์ประกอบ
Text
ทั้งหมดแล้ว นอกจากนี้ เราได้นำ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) - ตอนนี้ตัวเว้นวรรครองรับมิติข้อมูลที่ขยายสำหรับความกว้าง/ความสูงแล้ว (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) - เพิ่มการรองรับโปรแกรมแสดงผลสําหรับการไล่สีแบบไล่เฉดใน
ArcLine
(I4d5bb)
เวอร์ชัน 1.1.0-alpha01
18 ตุลาคม 2023
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มตัวเลือกแปรงลงใน
Arcline
ซึ่งรองรับSweepGradient
(Ie7ce3) - เพิ่มการรองรับการจัดรูปแบบวันที่และเวลาตามเขตเวลา (Ibfae0)
- เพิ่มโปรโตคอลและ 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 มีการคอมมิตเหล่านี้
- หากต้องการย้ายข้อมูลจากการ์ดไปยัง
ProtoLayout
โปรดทําตามวิธีการที่นี่
การเปลี่ยนแปลง API
- เราได้นําเมธอด
setLayoutConstraintForDynamicAnchorAngle
และgetLayoutConstraintForDynamicAnchorAngle
ออกจากองค์ประกอบ Arc แล้ว วิธีการเหล่านี้เพิ่มเข้ามาโดยไม่ได้ตั้งใจและไม่มีผลกระทบใดๆ เลยต่อเลย์เอาต์ที่ระบุ (If7d01) - เราได้จำกัดความลึกสูงสุดของเลย์เอาต์
ProtoLayout
ไว้ที่LayoutElements
ที่ฝังอยู่ 30 รายการ (I8a74b)
การแก้ไขข้อบกพร่อง
- เราได้เพิ่มการตรวจสอบเพื่อแสดงข้อผิดพลาดหากมีการตั้งค่า
DynamicColor
สําหรับSpanText
(I0e5bc) - โปรดทราบว่าหน่วยของแหล่งข้อมูล
DAILY_CALORIES
คือ kcal (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
แทนการใช้ทั่วไปที่ไม่ปลอดภัย ซึ่งหมายความว่าตอนนี้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)
- ใช้ตัวตั้งค่าซ้ำสําหรับการโอเวอร์โหลดที่มีตัวตั้งค่า (Ied70c)
- บันทึกลายนิ้วมือในเซตเตอร์ที่มีการโอเวอร์โหลดอย่างถูกต้อง (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 Text
getExcludeFontPadding
ได้เปลี่ยนชื่อเป็นhasExcludeFontPadding
(Iea01d) - เพิ่มตัวตั้งค่าสำหรับการจัดตำแหน่งป้ายกำกับให้ตรงกันอย่างสมบูรณ์ในคอมโพเนนต์ชิปทั้งหมด ตอนนี้ชิปทั้งหมดใช้เป้าหมายที่แตะได้ขั้นต่ำแล้ว (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) - ใช้ long และ
@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()
method ด้วยDynamicBool.negate()
และนําDynamicBool.isTrue()
ออกแล้ว นอกจากนี้ ค่า NaNDynamicFloat
และการจํากัดDynamicInt32
ให้แคบลงเป็นDynamicFloat
จะแสดงผลลัพธ์แบบไดนามิกที่ไม่ถูกต้อง (I6ac1e) - ตอนนี้เครื่องมือจัดรูปแบบ Int และ Float ใช้รูปแบบ Builder แล้ว (Ieb213)
การแก้ไขข้อบกพร่อง
- นําค่าคงที่สำรองออกจากช่องที่เคลื่อนไหวได้ (Ifcb01)
- นำ
DynamicTypeValueReceiver#onPreUpdate
ออกแล้ว (I2dc35) - ตอนนี้เราจำกัดความยาวของสตริงในนิพจน์แบบไดนามิกแล้ว (I4c93)
- ตอนนี้การตั้งค่า 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 - เราได้เพิ่มการรองรับการประเมินสำหรับประเภทแบบไดนามิก คลาส
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" สำหรับการสร้างนิพจน์จากตัวแปรแบบไดนามิก