wear protolayout

  
ไลบรารีนี้ช่วยให้กำหนดชุดเลย์เอาต์ UI และนิพจน์ที่ไม่ใช่ UI เพื่อแสดงผล/ประเมินบนพื้นผิวระยะไกลได้
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
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 เพื่อรองรับแนวคิด M3 MaterialScope ซึ่งดูแลการลงทะเบียนทรัพยากรโดยอัตโนมัติด้วย ในนั้นได้เพิ่มเมธอดตัวช่วยใหม่สำหรับรูปภาพ (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 Material3 MaterialScope จะแสดงฟิลด์ Context เป็นแบบสาธารณะเพื่อให้ใช้ในเมธอดภายในขอบเขตได้โดยไม่ต้องส่งต่อ (I0e5cc, b/414559956)
  • ทําให้ API ความหมายของส่วนหัวเป็นแบบสาธารณะ (I75299, b/413653475)
  • เปิดเผยค่าคงที่ ARC_DIRECTION_* เป็นแบบสาธารณะเพื่อใช้ใน Arc/ArcLine/ArcText/DashedArcLine (I83959, b/427556439)

การเปลี่ยนแปลง API

  • เราเลิกใช้งานเมธอด Image.Builder() และ Image.Builder.setResourceId แล้วเพื่อหันมาใช้ API การลงทะเบียนทรัพยากรโดยอัตโนมัติแบบใหม่ ซึ่งพร้อมใช้งานใน API Image.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 และเพิ่ม API PlatformEventSources.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 ของ Material3 ColorScheme สำหรับข้อผิดพลาดที่มีลำดับความสำคัญสูงหรือการดำเนินการฉุกเฉิน เช่น การแจ้งเตือนด้านความปลอดภัย (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 x 48dp
  • ปรับปรุง 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 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 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 ให้รวมถึงข้อมูลต่อไปนี้
    • การตั้งค่าฟีเจอร์แบบอักษร เช่น การตั้งค่าแบบอักษรให้เป็นแบบตาราง (If12b7)
    • การตั้งค่าตัวแปรแบบอักษร เช่น การตั้งค่าความกว้างที่กำหนดเองสำหรับแบบอักษรแบบแปรผัน (I2b36d)
  • เพิ่ม 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 จะมีได้ไว้ที่ 30 LayoutElements ที่ซ้อนกัน (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() ออกแล้ว นอกจากนี้ ค่า NaN DynamicFloat และการจำกัด 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" สำหรับการสร้างนิพจน์จากตัวแปรแบบไดนามิก