wear protolayout

  
ไลบรารีนี้ช่วยให้คุณกำหนดชุดเลย์เอาต์ UI และนิพจน์ที่ไม่ใช่ UI เพื่อแสดงผล/ประเมินในแพลตฟอร์มระยะไกลได้
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
13 พฤศจิกายน 2024 1.2.1 - - 1.3.0-alpha04

การประกาศทรัพยากร 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-alpha05"

    // Use to implement support for Wear ProtoLayout
    implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha05"

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation "androidx.wear.protolayout:protolayout-material:1.3.0-alpha05"
}

Kotlin

dependencies {
    // Use to implement support for Wear ProtoLayout Expressions
    implementation("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha05")

    // Use to implement support for Wear ProtoLayout
    implementation("androidx.wear.protolayout:protolayout:1.3.0-alpha05")

    // Use to utilize components and layouts with Material design in your ProtoLayout
    implementation("androidx.wear.protolayout:protolayout-material:1.3.0-alpha05")
}

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

ความคิดเห็น

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

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

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

เวอร์ชัน 1.3

เวอร์ชัน 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 x 48dp
  • ปรับปรุง PrimaryLayout และ EdgeContentLayout โดยเพิ่ม setResponsiveContentInsetEnabled เพื่อรองรับลักษณะการทํางานแบบปรับเปลี่ยนตามพื้นที่โฆษณาของเลย์เอาต์เหล่านี้ในหน้าจอขนาดต่างๆ ได้ดียิ่งขึ้น และปรับปรุงความสอดคล้องของการ์ด
  • ปรับปรุงการปรับขนาด/การปรับขนาดของข้อความ Material สำหรับการปรับขนาดแบบอักษรที่ไม่ใช่แบบเชิงเส้นของ Android 14
  • ปรับปรุงการรองรับทิศทางการจัดวาง RTL ในองค์ประกอบส่วนโค้งทั้งหมด

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

เวอร์ชัน 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 x 48dp
  • ปรับปรุง 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 ให้รวมข้อมูลต่อไปนี้
    • การตั้งค่าฟีเจอร์แบบอักษร เช่น การตั้งค่าแบบอักษรเป็นแบบตาราง (If12b7)
    • การตั้งค่ารูปแบบแบบอักษร เช่น การตั้งค่าความกว้างที่กำหนดเองสำหรับแบบอักษรแบบผันแปร (I2b36d)
  • เพิ่ม 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 สามารถตั้งค่าได้ว่าจะใช้ขนาดที่ปรับขนาดได้หรือไม่ (ขยายขนาดเมื่อผู้ใช้เปลี่ยนขนาดแบบอักษร) (Ibc849)
  • เราได้เพิ่มตัวเลือกในการตั้งค่าคำอธิบายเนื้อหาเป็น TitleChip แล้ว (I5d21f)
  • แก้ไข CompactChip ให้ทำงานอย่างถูกต้องกับไอคอนเท่านั้น และอัปเดต API เพื่ออนุญาตตัวเลือกนี้ (I6589e)

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

  • แก้ไขปัญหาข้อมูลแพลตฟอร์มที่อาจซ้ำกันระหว่างการเริ่มต้น (Iba0fd)
  • แนะนำ getter ใหม่ให้กับ 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 ได้ดียิ่งขึ้น
  • การจัดรูปแบบวันที่และเวลารองรับเขตเวลาต่างๆ สําหรับประเภทข้อมูลที่เป็นแบบไดนามิก
  • ตัวเลือกการปรับขนาดข้อความอัตโนมัติและการลบส่วนเกินของข้อความที่ดียิ่งขึ้นเพื่อจัดการข้อความที่ถูกตัด
  • ตัวเว้นวรรครองรับมิติข้อมูลที่ขยายโดยมีน้ำหนักหรือไม่ก็ได้
  • กำกับเนื้อหาข้อกำหนดเวอร์ชันสคีมาสำหรับ API ของ ProtoLayout ทั้งหมด
  • ขยายพื้นที่เป้าหมายขององค์ประกอบ Clickable เป็น 48 dp x 48 dp เพื่อให้เป็นไปตามข้อกำหนดการช่วยเหลือพิเศษ
  • ระบบจะปิดการเว้นวรรคของแบบอักษรไว้โดยค่าเริ่มต้น และเป็นลักษณะการทำงานเดียวขององค์ประกอบข้อความและคอมโพเนนต์ Material ทั้งหมดที่มีข้อความ

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

เวอร์ชัน 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)

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

  • แสดงข้อยกเว้นเมื่อพบค่าที่ไม่รู้จักหรือค่าที่ไม่ระบุ (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)
  • แก้ไขข้อบกพร่องในการจัดองค์ประกอบรูทให้อยู่ตรงกลางระหว่างการอัปเดตความแตกต่าง (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() ออกแล้ว นอกจากนี้ ค่า NaN DynamicFloat และการจํากัด 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" สำหรับการสร้างนิพจน์จากตัวแปรแบบไดนามิก