wear protolayout
Bản cập nhật mới nhất | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
---|---|---|---|---|
Ngày 1 tháng 5 năm 2024 | 1.1.0 | - | - | 1.2.0-alpha02 |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc trên wear-protolayout, bạn phải thêm kho lưu trữ Maven của Google vào dự án. Hãy đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle
cho ứng dụng hoặc mô-đun:
Groovy
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0-alpha02" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0-alpha02" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0-alpha02") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0-alpha02") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0-alpha02") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về công cụ theo dõi lỗi để biết thêm thông tin.
Phiên bản 1.2
Phiên bản 1.2.0-alpha02
Ngày 1 tháng 5 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
. Phiên bản 1.2.0-alpha02 bao gồm các thay đổi sau.
Các thay đổi về API
- Chúng tôi đã thêm tính năng hỗ trợ để tắt phản hồi gợn sóng trên các phần tử có thể nhấp riêng lẻ. (If1ede)
- API để chuyển đổi đã bị xoá khỏi
ArcModifiers
vì không hỗ trợ tính năng đó (Ic0827) ArcDirectionProp
Trình tạo giờ đây chờ đợi một giá trị trong hàm khởi tạo. (I76ada)- Phương thức
PlatformDataValues.Builder.putAll
sẽ cho phép hợp nhất mộtPlatformDataValue
vào một công cụ khác. (I50ba3) Text#setIsScalable
đổi tên thànhText#setScalable
. (If920e)- Material Text có thể thiết lập xem có sử dụng kích thước có thể mở rộng (tăng khi cỡ chữ của người dùng thay đổi) hay không. (Ibc849)
- Chúng tôi thêm tuỳ chọn thiết lập phần mô tả nội dung thành
TitleChip
. (I5d21f) - Khắc phục để
CompactChip
chỉ hoạt động chính xác với biểu tượng và cập nhật API để cho phép tuỳ chọn này. (I6589e)
Sửa lỗi
- Khắc phục vấn đề dữ liệu nền tảng có thể bị trùng lặp trong quá trình khởi chạy. (Iba0fd)
- Ra mắt một phương thức getter mới cho
DynamicDataNode
để truy xuất chi phí của nút. Chi phí này được sử dụng khi lấy hạn mức nút động. Hiện tại, các Nút có giá trị cố định sẽ có chi phí bằng 0, tất cả các nút khác sẽ có giá trị bằng 1. (Ia33e1) - Xoá logic tính khỏi
NO_OP_QUOTA_MANAGER
. (Ib50b8) - Chúng tôi đã thêm quy tắc tìm lỗi mã nguồn để báo cáo cảnh báo khi sử dụng
PrimaryLayout
mà không cósetResponsiveContentInsetEnabled
và cung cấp bản sửa lỗi nhanh. (I12025) - Có giới hạn cho số nút biểu thức động. (Iffae8)
Phiên bản 1.2.0-alpha01
Ngày 6 tháng 3 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
. Phiên bản 1.2.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Các phần tử
ProtoLayout Arc
hiện có tuỳ chọn để thêmArcDirection
(Clockwise
,Counterclockwise
hoặcNormal
) vào đó. Việc thêm hành vi này vàoArc
,ArcLine
hoặcArcText
sẽ sửa hành vi của chúng trên bố cục RTL. (I90699) EdgeContentLayout
đã được cập nhật bằng một phương thức settersetResponsiveContentInsetEnabled
mới để phù hợp hơn với các nguyên tắc về trải nghiệm người dùng, tính nhất quán trong Thẻ thông tin nhờ có nhãn chính ở vị trí cố định ở trên cùng và phần lồng ghép thích ứng cho các nhãn. (I60175)- Chúng tôi đã thêm
PrimaryLayout.setResponsiveContentInsetEnabled
để thêm phần lồng ghép thích ứng vào nhãn chính, nhãn phụ và khối dưới cùng trong bố cục này, để tránh nội dung bị lệch ra khỏi cạnh màn hình. (I0c457) - Thêm phương thức để xoá lề bên ngoài khỏi
CircularProgressIndicator
để có thể sử dụng lề này như một thành phần nhỏ hơn. (I55c06)
Các thay đổi về API
- Theo mặc định, trình kết xuất thẻ thông tin hiện loại trừ khoảng đệm phông chữ trên tất cả thành phần văn bản và không có lựa chọn để thêm khoảng đệm đó. (I3e300)
Sửa lỗi
- Sửa lỗi căn chỉnh Văn bản khi kích thước elip, khoảng cách chữ cái và căn giữa đều được sử dụng trên Văn bản. (I716c7)
- Thêm biện pháp khắc phục sự cố vẽ hồ cung Skia. (I08f09)
- Sửa hướng vẽ
ArcLine
cho bố cục RTL. (I6c141)
Phiên bản 1.1
Phiên bản 1.1.0
Ngày 7 tháng 2 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.1.0
. Phiên bản 1.1.0 bao gồm các thay đổi sau.
Thay đổi quan trọng kể từ phiên bản 1.0.0
- Hỗ trợ chuyển màu và trình bày tốt hơn về độ dài lớn hơn 360 độ trong
ArcLine
. - Định dạng ngày giờ hỗ trợ nhiều múi giờ cho các loại dữ liệu động.
- Các tuỳ chọn tự động định cỡ và dấu ba chấm văn bản tốt hơn để xử lý văn bản bị cắt bớt.
- Dấu cách hỗ trợ kích thước mở rộng với trọng số không bắt buộc.
- Chú giải yêu cầu về phiên bản giản đồ cho tất cả API
ProtoLayout
. - Mở rộng vùng nhắm mục tiêu tới mọi phần tử
Clickable
thành 48 dp x 48 dp để đáp ứng các yêu cầu về hỗ trợ tiếp cận. - Khoảng đệm phông chữ bị tắt theo mặc định và là hành vi duy nhất trên tất cả các thành phần Văn bản và thành phần Material chứa văn bản.
Thay đổi bổ sung
- Để biết tập hợp đầy đủ hơn các thay đổi được giới thiệu trong phiên bản 1.1.0, hãy xem ghi chú phát hành beta01.
Phiên bản 1.1.0-rc01
Ngày 24 tháng 1 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.1.0-rc01
. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.
Sửa lỗi
PlatformTimeUpdateNotifierImpl
sẽ đánh dấu ngay sau khi bật tính năng cập nhật. (I77145)- Sửa lỗi
CircularProgressIndicator
cho bố cục RTL. Từ giờ trở đi, mọi trường hợp đều sẽ đi theo chiều kim đồng hồ. (I95ee3) - Thêm biện pháp khắc phục sự cố vẽ hồ cung Skia. (I08f09)
Phiên bản 1.1.0-beta01
Ngày 10 tháng 1 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.1.0-beta01
. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.
Tính năng mới
Bản phát hành 1.1.0-beta01 của Wear ProtoLayout cho biết bản phát hành này của thư viện hoàn thiện về tính năng và API bị khoá (ngoại trừ trường hợp được đánh dấu là thử nghiệm). Wear ProtoLayout 1.1 có các chức năng và API mới sau đây:
ArcLine
hiện hỗ trợ tính năng chuyển màu bằng cách thêmBrush
vớiSweepGradient
và đổ bóng trên phần mũ để thể hiện chính xác hơn chiều dài lớn hơn 360 độ bằng cách thêmShadow
trênStrokeCap
hiện có.DynamicInstant
hỗ trợ định dạng ngày giờ được phân vùng. Bạn có thể dùngDynamicInstant
vàDynamicDuration
làm loại dữ liệu trạng thái hoặc nền tảng.- Tính năng tự động định cỡ đối với kích thước văn bản cho phép đặt nhiều kích thước thành
FontStyle.setSizes
, trong đó cỡ chữ sẽ tự động điều chỉnh tỷ lệ dựa trên không gian bên trong thành phần mẹ. Ngoài ra, chúng tôi đã cải thiện các tuỳ chọn dấu ba chấm cho văn bản bị tràn bằng cách thêmTEXT_OVERFLOW_ELLIPSIZE
và ngừng sử dụngTEXT_OVERFLOW_ELLIPSIZE_END
. Spacer
hiện hỗ trợ việc mở rộng kích thước với trọng số không bắt buộc. Để tạoExpandedDimensionProp
, chúng tôi đã thêm phương thức trợ giúpDimensionBuilders.weight
.- Hỗ trợ ẩn và hiện linh động các phần tử bố cục bằng
Modifier.visible
. Điều này bao gồm cả việc sử dụng các giá trị động trongBoolProp
. - Tất cả API
ProtoLayout
hiện đều có chú thích yêu cầu về phiên bản giản đồ và bạn có thể kiểm tra phiên bản trước khi gọi API mới hơn. - Giờ đây, mỗi phần tử có
Clickable
đều có vùng mục tiêu được mở rộng tối thiểu là 48x48 trong trình kết xuất để hỗ trợ tốt hơn các yêu cầu về hỗ trợ tiếp cận. - Theo các sáng kiến khác về Compose và thành phần Material, giờ đây, chúng tôi đã tắt tính năng đệm phông chữ theo mặc định trên tất cả các phần tử
Text
. Ngoài ra,AndroidTextStyle
và các phương thức setter liên quan đã bị xoá khỏi API công khai, kèm theo các bản sửa lỗi sau: - Thêm phương thức setter để định vị nội dung cạnh trong
EdgeContentLayout
để nội dung này có thể được định vị trước nội dung khác. - Liên tục gửi trường hợp ngoại lệ khi gặp giá trị enum không nhận dạng được.
- Vô hiệu hoá kết quả của một biểu thức khi biểu thức đó mang lại một giá trị số không hợp lệ (NaN hoặc vô hạn) hoặc trả về một
ArithmeticException
.
Các thay đổi về API
- Cập nhật API
SweepGradient
để cho phép chấp nhận màu hoặcColorStops
trong hàm khởi tạo. (I6676f)
Sửa lỗi
- Thêm tính năng hỗ trợ API và trình kết xuất bị hạn chế để thiết lập hướng vẽ các phần tử vòng cung. (Idef5a)
RoundMode
mặc định làFloor
trongFloatToInt32Node
khi không được chỉ định. Nút này sẽ vẫn gửi một trường hợp ngoại lệ nếu không nhận dạng đượcRoundMode
đã cung cấp. (I1b2d8)
Phiên bản 1.1.0-alpha04
Ngày 13 tháng 12 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
. Phiên bản 1.1.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- Lớp
VersionInfo
không triển khai giao diệnComparable
. (I8d13c) - Trình kết xuất hiện hỗ trợ tuỳ chọn
TEXT_OVERFLOW_ELLIPSIZE
. (I7f085)
Các thay đổi về API
- Tuỳ chọn mục bổ sung văn bản
TEXT_OVERFLOW_ELLIPSIZE_END
hiện không còn được dùng nữa. Vui lòng sử dụng APITEXT_OVERFLOW_ELLIPSIZE
mới với hành vi tương tự như vậy. (I822d8) - Theo các sáng kiến khác về Compose và thành phần Material, chúng tôi hiện đã tắt khoảng đệm phông chữ theo mặc định trên tất cả các thành phần Văn bản. Ngoài ra,
AndroidTextStyle
và các phương thức setter liên quan đã bị xoá khỏi API công khai. (I79094, Ib0b03, I32959, Iaf7d5, Ifa298, I0a4ae, Ida9d3) Modifier.hidden
được thay thế bằngModifier.visible
(I56902)FontStyle#setSizes
hiện chấp nhận đối số int thay vìSpProp
. (I02b37)
Sửa lỗi
- Gửi một ngoại lệ khi gặp giá trị enum không xác định hoặc không nhận dạng được. (I9d2cf)
- Tái cấu trúc
DynamicTypeBindingRequest
. (I27b57) - Vô hiệu hoá kết quả của một biểu thức khi biểu thức đó mang lại một giá trị số không hợp lệ (NaN hoặc vô hạn) hoặc trả về một
ArithmeticException
. (I681ae)
Phiên bản 1.1.0-alpha03
Ngày 29 tháng 11 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
. Phiên bản 1.1.0-alpha03 bao gồm các thay đổi sau.
Tính năng mới
- Thêm tính năng hỗ trợ thử nghiệm để tự động ẩn/hiện các phần tử bố cục (I64a78)
- Thêm tuỳ chọn hỗ trợ giá trị động vào
BoolProp
(I2fe96) - Thêm chú giải yêu cầu về phiên bản giản đồ vào các API
ProtoLayout
(I0f03c) - Mở rộng API bằng tuỳ chọn mới trong
TextOverflow
để tạo dấu ba chấm cho Văn bản trong một vùng chứa mẹ cố định ngay cả khi không đạt đến số dòng tối đa (nhưng không có đủ không gian cho Văn bản). (I110a9) - Thêm phương thức trợ giúp
DimensionBuilders.weight
để tạoExpandedDimensionProp
có trọng số. (I4f72b) - Bạn có thể dùng
DynamicInstant
vàDynamicDuration
làm loại dữ liệu trạng thái hoặc nền tảng. (I6819f)
Các thay đổi về API
- Cập nhật API để ẩn
DynamicZonedDateTime
và di chuyển tất cả hoạt động của API này sangDyanamicInstant
(I34b94) - Dấu cách hiện hỗ trợ Kích thước mở rộng cho chiều rộng/chiều cao. (Ie7c94)
- Hỗ trợ phần mở rộng về khu vực mục tiêu của lượt nhấp trong Trình kết xuất (I39c79)
Phiên bản 1.1.0-alpha02
Ngày 15 tháng 11 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
. Phiên bản 1.1.0-alpha02 bao gồm các thay đổi sau.
Tính năng mới
- Thêm trường
ArcLine
StrokeCap
Shadow
vào API. (I830ec) - Mở rộng API để có thể chỉ định chiều rộng hoặc chiều cao của Spacer để mở rộng. (I757ca)
- Chúng tôi đã thêm một API thử nghiệm để tự động điều chỉnh kích thước văn bản dựa trên không gian văn bản có trong thành phần mẹ. (Ibbe63)
- Hỗ trợ kích thước có thể nhấp tối thiểu (I178e3)
- Thêm tính năng hỗ trợ trình kết xuất cho
StrokeCap
Shadow
. (I48b17) - Thêm tính năng hỗ trợ trình kết xuất cho Sweep gradient trong
ArcLine
. (I4d5bb)
Phiên bản 1.1.0-alpha01
Ngày 18 tháng 10 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Thêm tuỳ chọn bút vẽ vào
Arcline
, có hỗ trợSweepGradient
. (Ie7ce3) - Thêm tính năng hỗ trợ cho định dạng ngày giờ được phân vùng. (Ibfae0)
- Thêm proto và Trình bao bọc Java cần thiết cho định dạng ngày giờ được phân vùng. (I97126)
- Thêm phương thức getter để đọc lại giá trị được lưu trữ trong
DynamicDataValue
. (Ie6cea) - Thêm phương thức setter để định vị nội dung cạnh trong
EdgeContentLayout
để nội dung này có thể được định vị trước nội dung khác. (Ie8e8a)
Sửa lỗi
- Khắc phục vấn đề khi một biểu thức có lượt đăng ký nguồn dữ liệu nhiều thời gian không được cập nhật ngay lập tức. (I8e1a8)
- Sửa lỗi căn giữa phần tử gốc trong quá trình cập nhật điểm khác biệt. (Ie48f7)
- Các giá trị ràng buộc bố cục chưa đặt (hoặc trống) sẽ không bị bỏ qua nữa. (Ibc785)
- Giảm độ trễ giữa thời điểm một bố cục hiển thị và các nút quy trình của bố cục được khởi chạy. (I38d4e)
Phiên bản 1.0
Phiên bản 1.0.0
Ngày 9 tháng 8 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0
. Phiên bản 1.0.0 bao gồm các thay đổi sau.
Các tính năng chính của phiên bản 1.0.0
Thư viện ProtoLayout giới thiệu các API để tạo bố cục và biểu thức có thể sử dụng trên nhiều nền tảng Wear OS. Ví dụ: Thư viện thẻ thông tin sử dụng các API này để hỗ trợ liên kết dữ liệu nền tảng (để cập nhật dữ liệu thẻ thông tin nhanh hơn) và ảnh động.
Phiên bản 1.0.0-rc01
Ngày 26 tháng 7 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-rc01
. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.
- Để di chuyển từ Thẻ thông tin sang
ProtoLayout
, vui lòng làm theo hướng dẫn tại đây.
Các thay đổi về API
- Chúng tôi đã xoá các phương thức
setLayoutConstraintForDynamicAnchorAngle
vàgetLayoutConstraintForDynamicAnchorAngle
khỏi phần tử Arc. Các phương thức này được thêm vào do nhầm lẫn và không ảnh hưởng gì đến bố cục được cung cấp. (If7d01) - Chúng tôi đã giới hạn chiều sâu tối đa mà bố cục của
ProtoLayout
có thể có là 30LayoutElements
lồng nhau. (I8a74b)
Sửa lỗi
- Chúng tôi thêm một bước kiểm tra để gửi nếu
DynamicColor
đã được thiết lập choSpanText
. (I0e5bc) - Giải thích rõ rằng đơn vị nguồn dữ liệu của
DAILY_CALORIES
là kcal. (Iaa785)
Phiên bản 1.0.0-beta01
Ngày 21 tháng 6 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-beta01
. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.
Tính năng mới
- Cho phép đặt đồng hồ cho các kiểm thử liên kết thời gian. (I05622)
Các thay đổi về API
PlatformDataReceiver.onData()
vàStateBuilders.Builder.addKeyToValueMapping
hiện chấp nhận ánh xạ an toàn về kiểu củaDynamicDataKey
đếnDynamicDataValue
thay vì các thành phần chung không an toàn. Tức làDynamicDataValue
hiện được nhập bằngDynamicType
. Di chuyển các hằng sốHEART_RATE_ACCURACY_X
sang gốc củaPlatformHealthSources
để phù hợp với việc định vị các hằng số Android khác. Hằng số intHEART_RATE_ACCURACY_X
hiện được dùng trực tiếp trongDynamicHeartRateAccuracy.constant()
vàDynamicHeartRateAccuracy.dynamicDataValueOf()
thay vì hằng số giá trị. (I82ff5)- Do nhầm lẫn, lớp
PlatformHealthSources.Constants
có thể được tạo thực thể. Lỗi này hiện đã được khắc phục. (Icb849) PlatformTimeUpdateNotifier#setReceiver
hiện nhậnRunnable
thay vì hàmSupplier
vàExecutor
để thông báo về việc này. (I9d938)- Chúng tôi đã thay đổi loại tham số trong
PlatformTimeUpdateNotifier#setReceiver
từCallable
thànhSupplier
. (I664bf) CompactChip
vàTitleChip
hiện hỗ trợ thêm biểu tượng vào đó. (I5a01e)
Sửa lỗi
- Cập nhật thông báo Prop có các trường động để sử dụng một trong số đó (I81739)
- Sử dụng lại phương thức triển khai phương thức setter cho các phương thức nạp chồng có phương thức setter (Ied70c)
- Ghi lại đúng dấu vân tay trong phương thức setter có phương thức nạp chồng (I86ed2)
Phiên bản 1.0.0-alpha11
Ngày 7 tháng 6 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
. Phiên bản 1.0.0-alpha11 chứa những cam kết này.
Tính năng mới
- Chúng tôi đã thêm
PlatformDataKey
để đo lường độ chính xác của nhịp tim. (I7f9b8)
Các thay đổi về API
- Đổi tên
StateBuilders#getIdToValueMapping
thànhgetKeyToValueMapping
rồi thay đổi loại dữ liệu trả về thànhMap<<AppDataKey<?>,DynamicDataValue>
. (Iaa7ae) - Đặt
StateStore
làm lớp cuối cùng (I408ca) - Giao diện
TimeGateway
đã được thay thế bằngPlatformTimeUpdateNotifier
trong thư việnprotolayout-expression-pipeline
, cung cấp tần suất cập nhật mong muốn cho dữ liệu thời gian. (I60869) - Đổi tên
register
/unregisterForData
trongPlatformDataProvider
thànhset
/clearReceiver
(I14b02) - Trong Material Text,
getExcludeFontPadding
được đổi tên thànhhasExcludeFontPadding
. (Iea01d) - Phương thức setter để căn chỉnh hoàn hảo nhãn đã được thêm vào tất cả thành phần của khối. Tất cả các khối hiện đã áp dụng mục tiêu có thể nhấn tối thiểu. (I8ae92)
LayoutDefaults#BUTTON_MAX_NUMBER
đổi tên thànhMAX_BUTTONS
(I84788)DAILY_DISTANCE
đổi tên thànhDAILY_DISTANCE_M
. (I4f758)
Sửa lỗi
- Cập nhật tài liệu về các loại Prop để làm rõ lý do thực thi giá trị tĩnh. Hãy chỉ định giá trị mặc định được dùng nếu không cung cấp giá trị tĩnh. (I155aa)
- Không gian tên
PlatformDataKey
phải tuân theo cách đặt tên kiểu Java. (I47bda)
Phiên bản 1.0.0-alpha10
Ngày 24 tháng 5 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
. Phiên bản 1.0.0-alpha10 bao gồm các thay đổi sau.
Tính năng mới
- Thêm
AppDataKey
để truy cập vào trạng thái được đẩy của ứng dụng; ThêmPlatformDataKey
để truy cập dữ liệu nền tảng; Thêm hỗ trợ không gian tên trongStateStore
. (I7985e) - Hỗ trợ các thao tác
Equal
vàNotEqual
choDynamicBool
. (I6a0c1)
Các thay đổi về API
- Lớp
FontStyles
hiện đã là lớp chính thức (Iaa2ea) - Ngừng sử dụng
LayoutElementBuilders#FontStyles
. Vui lòng sử dụngandroidx.wear.protolayout.Typography
hoặc tạoFontStyle
của riêng bạn. (Ic929b) - Ẩn giao diện lồng
Action#Builder
khỏi giao diệnAction
. Các phương thức triển khai Builder hiện đã được cung cấp bởi các lớpLoadAction
vàLaunchAction
. (I1d70c) - Cho phép sử dụng
DynamicFloat
bằng tài khoảnFloatProp
. Lưu ý rằngFloatProp
không yêu cầu các điều kiện ràng buộc về bố cục vì không được dùng như một tuyên bố thay đổi bố cục. (I286ac) - Các thao tác
LoalAction
vàSetStateAction
bị xoá vì chúng chưa thực sự được hỗ trợ. (I5d6a6) - Thêm tính năng hỗ trợ cho định dạng ARGB_8888 cho các tài nguyên hình ảnh cùng dòng. (I8a07c)
- Đổi tên
StateEntryValue
thànhDynamicDataValue
và cập nhật API trạng thái để sử dụngDynamicDataKey
(If1c01) - Chúng tôi sẽ giới hạn số mục được phép trong
StateStore
để đảm bảo mức sử dụng bộ nhớ và thời gian cập nhật trạng thái được kiểm soát và quản lý chặt chẽ cho từng thực thể củaStateStore
. Do đó, nhà phát triển cần đảm bảo không có nhiều hơn mục nhậpMAX_STATE_ENTRY_COUNT
trong bản đồ, nếu không sẽ nhận đượcIllegalStateException
khi tạo hoặc cập nhậtStateStore
. (Ibadb3) - Ẩn các lớp
OnLoadTrigger
vàOnConditionMetTrigger
, đồng thời đổi tênsetTrigger
thànhsetCondition
choOnConditionMetTrigger
. (Ibf629) - Vì lý do về hiệu suất và khả năng tương thích, trình kết xuất
ProtoLayout
sẽ không hỗ trợ toàn bộ tính năng trong tài nguyênAnimatedVectorDrawable
. Chúng tôi sẽ đánh dấu các API đó là thử nghiệm cho đến khi có thể xác định tập hợp được hỗ trợ. (Ic6daf) - Thêm các loại động cho quãng đường hằng ngày, lượng calo hằng ngày và sàn nhà hằng ngày. Khoá cho các nguồn tình trạng của nền tảng hiện có trong
PlatformHealthSources.Keys
(Ib7637) - Phương thức
Easing.cubicBezier
thay thếCubicBezierEasing.Builder
. Bằng cách đó, lớpEasingFunction
sẽ bị xoá và bạn có thể truy cập trực tiếp các hằng số gia tốc của lớp đó qua giao diệnEasing
. Ngoài ra,setInfiniteRepeatable
được thay thế bằngINFINITE_REPEATABLE_WITH_RESTART
vàINFINITE_REPEATABLE_WITH_REVERSE
(Ib41e7) - Triển khai
PlatformDataProvider
để cung cấp thông tin về nhịp tim và số bước hằng ngày. Giao diệnSensorGateway
bị xoá khỏi API công khai. (I55b84) - Thêm
PlatformDataProvider
và cập nhậtStateStore
để đăng kýPlatformDataProvider
khi cần có khoá được hỗ trợ của trình cung cấp cho nút trong quy trình biểu thức. (Ib616a) SensorGateway
không còn làCloseable
vì không còn duy trì bất kỳ trạng thái nào. (I6b4f7)- Cho phép sử dụng
FloatProp
bằngDynamicFloat
để xem tiến trình trongCircularProgressIndicator
. Tính năng này được hỗ trợ cho các trình kết xuất hỗ trợ phiên bản 1.2. Các trình kết xuất cũ sẽ dự phòng lạistaticValue
nếu được cung cấp, nếu không, sẽ là 0 (I0d91b) - Hằng số
MultiButtonLayout
đã được tái cấu trúc thành lớpLayoutDefaults.MultiButtonLayoutDefaults
. Lớp này hiện chứa các kích thước nút tuỳ thuộc vào số lượng nút trong bố cục. (I13973) - Hỗ trợ sử dụng
StringProp
vớiDynamicString
trong Material Text. Tính năng này được hỗ trợ cho các trình kết xuất hỗ trợ phiên bản 1.2. Các trình kết xuất cũ sẽ quay lại giá trị tĩnh được cung cấp. Cập nhật loại dữ liệu trả vềText#getText
từString
thànhStringProp
. (I7275b)
Phiên bản 1.0.0-alpha09
Ngày 10 tháng 5 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
. Phiên bản 1.0.0-alpha09 bao gồm các thay đổi sau.
Tính năng mới
- Chúng tôi đã thêm một phần tử bố cục tiện ích thử nghiệm. Lưu ý rằng bạn không thể sử dụng tính năng này theo mặc định và cần có tiện ích kết xuất đồ hoạ có thể hiểu phần tử bố cục. (I6581d)
- Thêm tính năng hỗ trợ
StrokeCap
choArcLine
. (I94951) - Thêm tính năng hỗ trợ cho thao tác Tức thì có điều kiện. (I489a7)
- Thêm tính năng hỗ trợ cho toán tử Thời lượng có điều kiện. (Iab469)
- Thêm tính năng hỗ trợ tạo thời lượng từ giây. (Ib5fa1)
Các thay đổi về API
- Xoá các phương thức
enable/disablePlatformSource
khỏiDynamicTypeEvaluator
. Phương thức gọi phải chịu trách nhiệm cập nhật thông tin. (I78c6d) - Cho phép giới hạn kích thước của các loại dữ liệu liên kết. (Ie2966)
- Thêm tính năng hỗ trợ cho phần mô tả nội dung động trong
protolayout-material
. (I62c8e) - Sử dụng long và
@IntRange
cho thời lượng và độ trễ trong AnimationParameters. (I388b6)
Phiên bản 1.0.0-alpha08
Ngày 19 tháng 4 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
. Phiên bản 1.0.0-alpha08 bao gồm các thay đổi sau.
Tính năng mới
AndroidTextStyle
đã được thêm vàoLayoutElementBuilders
. (I8d967)- Chúng tôi đã thêm tính năng hỗ trợ cài đặt loại trừ khoảng đệm phông chữ trong
ProtoLayout
Material Text. (I17f5d) - ARGB_8888 hiện đã được hỗ trợ cho hình ảnh cùng dòng. (I18c1e)
DynamicColor
hiện hỗ trợ thao táconCondition
. (I10927)
Các thay đổi về API
- Hỗ trợ thời lượng tuỳ chỉnh cho ảnh động đảo ngược (I3251f)
- Chúng tôi đã thêm đối tượng sửa đổi
SemanticDescription
. Ngoài ra,ContentDescription
không thể liên kết. (I3f1d) - Phương thức
DynamicBool.isFalse()
hiện đã được thay thế bằngDynamicBool.negate()
vàDynamicBool.isTrue()
sẽ bị xoá. Ngoài ra, các giá trịDynamicFloat
của NaN và việc thu hẹpDynamicInt32
thànhDynamicFloat
hiện sẽ phát ra một kết quả động không hợp lệ. (I6ac1e) - Các trình định dạng int và float hiện sử dụng mẫu Builder. (Ieb213)
Sửa lỗi
- Giá trị tĩnh dự phòng đã bị xoá khỏi các trường có thể tạo ảnh động. (Ifcb01)
- Xoá
DynamicTypeValueReceiver#onPreUpdate
. (I2dc35) - Độ dài của chuỗi trong biểu thức động hiện đã được giới hạn. (I4c93)
- Các phần phụ thuộc gradle hiện được đặt chính xác thành
api
thay vìimplementation
khi cần. (I40503)
Phiên bản 1.0.0-alpha07
Ngày 5 tháng 4 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
. Phiên bản 1.0.0-alpha07 bao gồm các thay đổi sau.
Tính năng mới
- Thêm tuỳ chọn hỗ trợ giá trị động vào
StringProp
(I04342) - Đánh dấu các phần tử bố cục có thể liên kết (Ia110b)
Các thay đổi về API
sensorGateway#registerSensorGatewayConsumer
lấy loại dữ liệu làm tham số thay vì phương thức trong Consumer. (Icf314)ObservableStateStore
đổi tên thànhStateStore
(Ieb0e2)- Thêm
DynamicTypeEvaluator.Builder
thay vì các đối số hàm khởi tạo để cho phép thêm nhiều đối số không bắt buộc, bao gồm cảObservableStateStore
hiện đặt mặc định là kho lưu trữ trống. (I6f832) - Thứ tự tái cấu trúc của các tham số trong
DynamicTypeEvaluator
. (Ic1ba4)
Sửa lỗi
- Truyền chính xác tín hiệu từ các nguồn cảm biến nền tảng đến các nút hạ nguồn (I5a922)
Phiên bản 1.0.0-alpha06
Ngày 22 tháng 3 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.
Tính năng mới
- Chúng tôi đã thêm một API thử nghiệm để sử dụng nhịp tim và số bước hằng ngày trong biểu thức động (Ifd711)
- Chúng tôi đã thêm tính năng hỗ trợ độ trễ đảo ngược và chuyển tiếp cho ảnh động. (Ic25f7)
- Chúng tôi đã thêm tính năng hỗ trợ
DynamicColor
cho đường viền và nền - Chúng tôi đã thêm tính năng hỗ trợ giá trị động cho các loại trong
DimensionBuilder
- Bố cục và các thành phần từ
tiles-material
đang di chuyển sangprotolayout-material
Các thay đổi về API
LoadActionListener
đã được thêm vàoProtoLayoutViewInstance
. (If7806)
Sửa lỗi
- Thêm
FloatNodesTest
(Id7281) - Khắc phục sự cố trình kết xuất khi không thể tải bitmap có cấu trúc.
Phiên bản 1.0.0-alpha05
Ngày 8 tháng 3 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
- Chúng tôi thêm ảnh động "cập nhật nội dung" thử nghiệm vào đối tượng
Modifiers
. Ảnh động này sẽ kích hoạt bất cứ khi nào phần tử (với đối tượng sửa đổi này) hoặc một trong các phần tử con của phần tử đó thay đổi trong quá trình cập nhật bố cục. (bd03e5d)
Các thay đổi về API
- Chúng tôi đã thêm
forwardRepeatDelayMillis
vàreverseRepeatDelayMillis
vàoRepeatable
. Chúng tôi cũng đã đổi têndelayMillis
trongAnimationSpec
thànhstartDelayMillis
(Ifb266) - Các phương thức
DynamicTypeEvaluator.bind
hiện chấp nhận Executor. (I346ab) - Chúng tôi thêm phương thức
startEvaluation
vàoBoundDynamicType
để kích hoạt việc đánh giá sau khi kiểu động được liên kết. (I19908)
Sửa lỗi
- Đối tượng Animator sẽ được sử dụng lại cho các ảnh động tiếp theo của một phần tử. (Ia3be9)
Phiên bản 1.0.0-alpha04
Ngày 22 tháng 2 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- Giờ đây,
ObservableStateStore
cũng sẽ thông báo cho trình nghe khi một khoá bị xoá. - Chúng tôi đã thêm phiên bản giản đồ kết xuất đồ hoạ và tỷ lệ phông chữ vào
DeviceParameters
(có thể dùng để tạo bố cục theo điều kiện nhằm phản hồi nhiều phiên bản và chế độ cài đặt phông chữ). - Chúng tôi đã thêm tính năng hỗ trợ tạo ảnh động cho các giá trị
DynamicInt32
(I05485) - Chúng tôi đã thêm điều kiện kích hoạt
OnLoad
vàOnConditionalMet
. Bạn có thể dùng chúng để bắt đầu tạo ảnh động hỗ trợ điều kiện kích hoạt. - Chúng tôi đã thêm trọng số bố cục cho thứ nguyên mở rộng và kích thước tối thiểu cho thứ nguyên được bao bọc.
- Chúng tôi đã thêm các loại động thời điểm và khoảng thời gian. Bạn có thể dùng chúng để biểu thị một thời điểm hoặc khoảng thời gian trong một biểu thức động.
- Chúng tôi đã thêm tính năng hỗ trợ
AnimatedVectorDrawable
vàSeekableAnimatedVectorDrawable
dưới dạng tài nguyên bố cục.
Các thay đổi về API
- Dữ liệu cảm biến yêu cầu API 29 trở lên. (I8099e)
- Chúng tôi đã thêm 2 phương thức trợ giúp
launchAction
(để chạy Hoạt động).
Sửa lỗi
- Đổi tên
set/getSpec
thànhset/getAnimationSpec
trong ảnh động Thẻ thông tin (I3d74b)
Phiên bản 1.0.0-alpha03
Ngày 8 tháng 2 năm 2023
Phát hành androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Tính năng mới
- Chúng tôi thêm
toByteArray()
vàfromByteArray()
vào các loại Dynamic trong thư viện protolayout-express. - Chúng tôi thêm
toString()
vào các loại Dynamic trong thư viện protolayout-expression. - Chúng tôi thêm tính năng hỗ trợ đánh giá cho các loại Dynamic. Bạn có thể sử dụng lớp
DynamicTypeEvaluator
từ thư viện protolayout-expression-pipeline để đánh giá (và nhận các giá trị cập nhật) cho một loại Dynamic tạo trước đó (DynamicString
,DynamicFloat
...) - Khi không thể phát ảnh động (do trình đánh giá đã tắt hoặc số ảnh động đang chạy đã đạt đến giới hạn đã đặt), các giá trị tĩnh được đặt trên nút có thể tạo ảnh động sẽ được dùng để thay thế ảnh động.
Phiên bản 1.0.0-alpha02
Ngày 25 tháng 1 năm 2023
Phát hành androidx.wear.protolayout:protolayout:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
và androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Tính năng mới
- Các trình xây dựng bố cục từ
androidx.wear.tiles:tiles
sẽ chuyển sangandroidx.wear.protolayout:protolayout
. Bản phát hành alpha tiếp theo sẽ không còn dùng các phần tử trongandroidx.wear.tiles:tiles
nữa.
Phiên bản 1.0.0-alpha01
Ngày 11 tháng 1 năm 2023
Phát hành androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
và androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Bản phát hành này giới thiệu một thư viện mới có tên "Biểu thức ProtoLayout" để tạo biểu thức từ các biến động.