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 7 tháng 8 năm 2024 | 1.2.0 | - | - | - |
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" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.0" }
Kotlin
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.0") }
Để 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
Ngày 7 tháng 8 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0
. Phiên bản 1.2.0 chứa. các thay đổi này.
Thay đổi quan trọng kể từ phiên bản 1.1.0
FontStyle
đã được cập nhật để bổ sung khả năng hỗ trợ phông chữ cho các trục biến và API lựa chọn phông chữ tốt hơn nhằm hỗ trợ các phông chữ Flex sắp tới.- Hỗ trợ thêm đối tượng sửa đổi:
- Đối tượng sửa đổi chuyển đổi cung cấp tính năng dịch, xoay và chia tỷ lệ (có hoặc không có ảnh động).
- Chỉ định các giá trị khác nhau (ngang và dọc) cho mỗi bán kính góc.
- Cải thiện khả năng hỗ trợ tiếp cận của tất cả đích chạm bằng cách mở rộng vùng có thể nhấn của bất kỳ phần tử nào sử dụng Đối tượng sửa đổi có thể nhấp ra ít nhất
48dp
x48dp
. - Cải thiện
PrimaryLayout
vàEdgeContentLayout
bằng cách thêmsetResponsiveContentInsetEnabled
để hỗ trợ tốt hơn hành vi thích ứng của những bố cục này trên nhiều kích thước màn hình, đồng thời cải thiện tính nhất quán của Thẻ thông tin. - Cải thiện việc điều chỉnh tỷ lệ/không điều chỉnh tỷ lệ của Văn bản Material cho tỷ lệ phông chữ phi tuyến tính của Android 14.
- Cải thiện tính năng hỗ trợ cho hướng bố cục RTL trên tất cả phần tử vòng cung.
Các nội dung thay đổi khác
- Để biết tập hợp các thay đổi hoàn chỉnh hơn đượ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.2.0-rc01
Ngày 24 tháng 7 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0-rc01
. Phiên bản 1.2.0-rc01 bao gồm các thay đổi sau.
Sửa lỗi
- Chúng tôi đã sửa Chip Material tiêu chuẩn để chỉ có thể dùng Chip này làm biểu tượng khi không có nhãn chính hoặc nhãn phụ nào được truyền vào. (Iceef9)
- Tài liệu về bố cục Material đã được cập nhật để bao gồm hình ảnh từ trang có liên quan để giúp bạn dễ hiểu hơn về bố cục. (I0256a)
Phiên bản 1.2.0-beta01
Ngày 10 tháng 7 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0-beta01
. Phiên bản 1.2.0-beta01 bao gồm các thay đổi sau.
Tính năng mới
Bản phát hành 1.2.0-beta01 của Wear ProtoLayout cho biết rằng bản phát hành thư viện này đã hoàn thiện về tính năng và API bị khoá (ngoại trừ những điểm được đánh dấu là thử nghiệm). Wear ProtoLayout 1.2 bao gồm các chức năng và API mới sau đây:
FontStyle
đã được cập nhật để bổ sung khả năng hỗ trợ phông chữ như sau:- Đặt chế độ cài đặt biến thể phông chữ khác nhau, chẳng hạn như
FontSetting.weight
vàFontSetting.width
- Đặt cùng một chiều rộng cho tất cả các ký tự số – chữ số trong bảng (chế độ cài đặt tính năng phông chữ
FontSetting.tnum
) - Cải thiện các API lựa chọn phông chữ để hỗ trợ các phông chữ linh hoạt sắp tới bằng cách chỉ định tên bộ phông chữ ưu tiên sẽ được sử dụng.
- Đặt chế độ cài đặt biến thể phông chữ khác nhau, chẳng hạn như
- Mở rộng đối tượng sửa đổi
Corner
để hỗ trợ việc chỉ định mỗiCornerRadius
có các giá trị ngang và dọc riêng biệt nhằm cho phép các phần tử toà nhà có góc bất đối xứng. - Thêm một đối tượng sửa đổi
Transformation
mới cung cấp tính năng dịch, xoay và điều chỉnh theo tỷ lệLayoutElement
. Bạn có thể tạo ảnh động cho các phép biến đổi này bằng cách sử dụng các giá trị động. - Thêm
setArcDirection
cùng với các tuỳ chọnClockwise
,CounterClockwise
vàNormal
cho tất cả phần tử vòng cung (Arc
,ArcLine
vàArcText
) để hỗ trợ tốt hơn theo nhiều hướng bố cục (chẳng hạn như LTR và RTL). - Cải thiện khả năng hỗ trợ tiếp cận của tất cả đích chạm bằng cách mở rộng vùng có thể nhấn của bất kỳ phần tử nào sử dụng đối tượng sửa đổi
Clickable
thành ít nhất48dp
x48dp
. - Cải thiện
PrimaryLayout
vàEdgeContentLayout
bằng cách thêmsetResponsiveContentInsetEnabled
để hỗ trợ tốt hơn hành vi thích ứng của những bố cục này trên nhiều kích thước màn hình, đồng thời cải thiện tính nhất quán của Thẻ thông tin. Thêm cảnh báo linter để đề xuất việc sử dụng các API này cùng với bản sửa lỗi nhanh. - Cải thiện việc điều chỉnh tỷ lệ/không điều chỉnh tỷ lệ của Material
Text
cho tỷ lệ phông chữ phi tuyến tính của Android 14.
Thay đổi về API
- Tên bộ phông chữ mặc định (
DEFAULT_SYSTEM_FONT
) sẽ bị xoá vì ngụ ý do không sử dụng APIpreferredFontFamilies
. (I39dab) - Thông số được truyền vào
FontSetting.width
phải là số dương. (I1266f)
Phiên bản 1.2.0-alpha05
Ngày 26 tháng 6 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
. Phiên bản 1.2.0-alpha05 bao gồm các thay đổi sau.
Tính năng mới
- Thêm phương thức
hasText
vàoMaterial.CompactChip
để kiểm tra xem nội dung văn bản đã được thiết lập hay chưa. (I6e8fc)
Thay đổi về API
- Cấu trúc
FontFamily
được chuyển sangFontStyle
thay vì lớp Builder. (Đã đổi tên) - Cập nhật API
FontSetting.weight
vàFontSetting.width
để thêm Chú thích dải ô và thay đổi tham số của trọng số thành số nguyên. (Ia726c)
Sửa lỗi
- Văn bản không thể mở rộng trong thư viện Material hiện hoạt động chính xác với tỷ lệ phông chữ phi tuyến tính của Android 14. (I6601e)
Phiên bản 1.2.0-alpha04
Ngày 29 tháng 5 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
. Phiên bản 1.2.0-alpha04 bao gồm các thay đổi sau.
Thay đổi về API
- Thêm API góc bất đối xứng để có thể chỉ định bán kính riêng của mỗi góc bằng 2 giá trị. (Icbd69)
- Mở rộng API
FontSetting
để thêm: - Thêm API bộ phông chữ vào
FontStyle
để cho phép chỉ định danh sách thứ tự các bộ phông chữ sẽ được sử dụng. (Iba9f5) - Đổi tên các hằng số cho chiều cao không gian giữa nội dung và nhãn phụ trong
LayoutDefaults
của Material mà ban đầu được thêm tiền tố là "Nội dung Edge" để mang tính tổng quát hơn vì có thể áp dụng cho cảPrimaryLayout
vàEdgeContentLayout
. (I4dc32)
Sửa lỗi
- Đổi tên tên cho các trục phông chữ biến từ
axisName
thànhaxisTag
. (I02ba3)
Phiên bản 1.2.0-alpha03
Ngày 14 tháng 5 năm 2024
Phát hành androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
. Phiên bản 1.2.0-alpha03 bao gồm các thay đổi sau.
Tính năng mới
- Thêm API để đặt giá trị trọng số tuỳ chỉnh cho
FontStyle
. (I7390a)
Sửa lỗi
- Khắc phục lỗi trong
getTouchDelegateInfo
do bản đồ mục tiêu trống. (I2accf)
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.
Thay đổi về API
- Chúng tôi đã thêm hỗ trợ để tắt phản hồi gợn sóng trên từng phần tử có thể nhấp vào. (If1ede)
- API để chuyển đổi đã bị xoá khỏi
ArcModifiers
vì chúng không hỗ trợ tính năng đó (Ic0827) - Trình tạo
ArcDirectionProp
hiện yêu cầu 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
thành một phương thức khác. (I50ba3) Text#setIsScalable
đổi tên thànhText#setScalable
. (If920e)- Material Text có thể thiết lập việc có sử dụng kích thước có thể mở rộng (phát triển khi cỡ chữ của người dùng thay đổi) hay không. (Ibc849)
- Chúng tôi đã thêm lựa chọn đặt thông tin mô tả nội dung thành
TitleChip
. (I5d21f) - Sửa
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)
- Đưa phương thức getter mới vào
DynamicDataNode
để truy xuất chi phí 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í là 0, tất cả các nút khác sẽ có chi phí là 1. (Ia33e1) - Xoá logic tính khỏi
NO_OP_QUOTA_MANAGER
. (Ib50b8) - Chúng tôi đã thêm một quy tắc tìm lỗi mã nguồn để báo cáo cảnh báo khi bạn 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 về số lượng 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 phần tử đó. Việc thêm hành vi này vàoArc
,ArcLine
hoặcArcText
sẽ khắc phục hành vi của chúng trên bố cục RTL. (I90699) EdgeContentLayout
đã được cập nhật với 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 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 việc nội dung bị văng 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ể dùng phương thức này như một thành phần nhỏ hơn. (I55c06)
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ả các thành phần văn bản mà không cho phép thêm khoảng đệm này. (I3e300)
Sửa lỗi
- Khắc phục vấn đề Căn chỉnh văn bản khi tất cả các chế độ căn chỉnh đều sử dụng kích thước elip, khoảng cách chữ cái và căn giữa trên Văn bản. (I716c7)
- Thêm giải pháp cho vấn đề vẽ vòng 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à thể hiện rõ hơn độ dài lớn hơn 360 độ trong
ArcLine
. - Định dạng ngày giờ hỗ trợ các múi giờ khác nhau cho các loại dữ liệu động.
- Các tuỳ chọn tự động định cỡ và dấu ba chấm cho 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 lượng không bắt buộc.
- Chú thích yêu cầu về phiên bản giản đồ cho tất cả API
ProtoLayout
. - Mở rộng vùng mục tiêu thành bất kỳ phần tử
Clickable
nào thành 48 dp x 48 dp để đáp ứng các yêu cầu về hỗ trợ tiếp cận. - Theo mặc định, khoảng đệm phông chữ bị tắt và là chế độ duy nhất trên tất cả các thành phần Văn bản cũng như thành phần Material có chứa văn bản.
Các nội dung thay đổi khác
- Để biết tập hợp các thay đổi hoàn chỉnh hơn đượ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ẽ hoạt động ngay sau khi bật bản cập nhật. (I77145)- Đã khắc phục
CircularProgressIndicator
cho bố cục RTL. Từ giờ trở đi, trong mọi trường hợp, phím này sẽ đi theo chiều kim đồng hồ. (I95ee3) - Thêm giải pháp cho vấn đề vẽ vòng 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 rằng bản phát hành thư viện này đã hoàn thiện về tính năng và API bị khoá (ngoại trừ những điểm được đánh dấu là thử nghiệm). Wear ProtoLayout 1.1 bao gồm các chức năng và API mới sau đây:
ArcLine
hiện hỗ trợ hiệu ứng chuyển màu bằng cách thêmBrush
vớiSweepGradient
và có bóng trên mũ để thể hiện rõ hơn chiều dài lớn hơn 360 độ bằng cách thêmShadow
trênStrokeCap
hiện có.DynamicInstant
có hỗ trợ định dạng ngày giờ được phân vùng. Bạn có thể dùngDynamicInstant
vàDynamicDuration
làm kiểu 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 kích thước dựa trên không gian bên trong thành phần mẹ. Ngoài ra, chúng tôi cũng 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 lượng không bắt buộc. Để tạoExpandedDimensionProp
, chúng ta đã thêm một 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 có các giá trị động trongBoolProp
. - Hiện tại, tất cả API
ProtoLayout
đều có chú giải 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 một API mới hơn. - Vùng mục tiêu của mọi phần tử có
Clickable
hiện được mở rộng tối thiểu là 48x48 trong trình kết xuất để hỗ trợ tốt hơn cho các yêu cầu về khả năng hỗ trợ tiếp cận. - Tiếp sau các thành phần Material và sáng kiến Compose khác, 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 phần tử
Text
. Ngoài ra,AndroidTextStyle
và các phương thức setter có liên quan đã bị xoá khỏi API công khai. bằng các bản sửa lỗi sau: - Thêm một phương thức setter để định vị nội dung cạnh trong
EdgeContentLayout
để có thể định vị nội dung này trước nội dung khác. - Thường xuyên gửi một trường hợp ngoại lệ khi gặp giá trị enum không xác định.
- Vô hiệu hoá kết quả của một biểu thức khi biểu thức đó mang lại giá trị số không hợp lệ (NaN hoặc vô hạn) hoặc trả về một
ArithmeticException
.
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ợ trình kết xuất và API 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 bạn không chỉ định. Nút vẫn sẽ gửi một 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)
Thay đổi về API
- Tuỳ chọn tràn 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 API mớiTEXT_OVERFLOW_ELLIPSIZE
có hành vi tương tự. (I822d8) - Tiếp sau các thành phần Material và sáng kiến Compose khác, 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 có 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 các đối số int thay vìSpProp
. (I02b37)
Sửa lỗi
- Đưa ra một trường hợp 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 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 để ẩn/hiện linh động các phần tử bố cục (I64a78)
- Thêm tính năng hỗ trợ giá trị động vào
BoolProp
(I2fe96) - Thêm chú thích cho yêu cầu về phiên bản giản đồ vào API
ProtoLayout
(I0f03c) - Mở rộng API bằng tuỳ chọn mới trong
TextOverflow
để đánh dấu ba chấm 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 kiểu dữ liệu trạng thái hoặc nền tảng. (I6819f)
Thay đổi về API
- Cập nhật API để ẩn
DynamicZonedDateTime
và di chuyển mọi thao tác của API đó 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ợ tiện ích khu vực đích nhấp chuột 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 Dấu cách để 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 có trong thành phần mẹ. (Ibbe63)
- Hỗ trợ kích thước có thể nhấp tối thiểu (I178e3)
- Bổ sung tính năng hỗ trợ trình kết xuất đồ hoạ cho
StrokeCap
Shadow
. (I48b17) - Thêm tuỳ chọn hỗ trợ trình kết xuất đồ hoạ cho Quét chuyển màu 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ùy chọn hỗ trợ cho định dạng ngày giờ được phân vùng. (Ibfae0)
- Thêm các protos và trình bao bọc java cần thiết cho việc định dạng ngày giờ được phân vùng. (I97126)
- Thêm các phương thức getter để đọc lại giá trị được lưu trữ trong
DynamicDataValue
. (Ie6cea) - Thêm một phương thức setter để định vị nội dung cạnh trong
EdgeContentLayout
để có thể định vị nội dung này 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ó nhiều lượt đăng ký nguồn dữ liệ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 được đặ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 tạo. (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ể 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.
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 có bất kỳ ảnh hưởng nào đế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 (throw) nếu
DynamicColor
đã được thiết lập choSpanText
. (I0e5bc) - Làm rõ rằng đơn vị nguồn dữ liệu
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)
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 tham số chung không an toàn. Tức làDynamicDataValue
hiện được nhập bằngDynamicType
. Hằng sốHEART_RATE_ACCURACY_X
được chuyển đến gốcPlatformHealthSources
để khớp với vị trí của 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)- Lớp
PlatformHealthSources.Constants
có thể tạo thực thể do nhầm lẫn. Lỗi này hiện đã được khắc phục. (Icb849) PlatformTimeUpdateNotifier#setReceiver
hiện nhận được hàmRunnable
thay vì hàmSupplier
vàExecutor
để thông báo. (I9d938)- Chúng ta đã thay đổi loại tham số trong
PlatformTimeUpdateNotifier#setReceiver
từCallable
thànhSupplier
. (I664bf) CompactChip
vàTitleChip
hiện đã hỗ trợ việc thêm biểu tượng vào đối tượng đó. (I5a01e)
Sửa lỗi
- Cập nhật các thông báo trong Prop bằng các trường động để sử dụng oneof (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 vân tay đúng cách 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
để cải thiện độ chính xác về tần số tim. (I7f9b8)
Thay đổi về API
- Đổi tên
StateBuilders#getIdToValueMapping
thànhgetKeyToValueMapping
rồi thay đổi kiểu 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
. Thư viện này cung cấp tần suất cập nhật dữ liệu thời gian mong muốn. (I60869) - Đổi tên
register
/unregisterForData
trongPlatformDataProvider
thànhset
/clearReceiver
(I14b02) - Trong Material Text,
getExcludeFontPadding
đã được đổi tên thànhhasExcludeFontPadding
. (Iea01d) - Đã thêm phương thức setter để căn chỉnh nhãn hoàn hảo vào tất cả các thành phần 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. Chỉ định giá trị mặc định được sử dụng nếu giá trị tĩnh không được cung cấp. (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 vào dữ liệu nền tảng; Thêm tính năng hỗ trợ không gian tên trongStateStore
. (I7985e) - Hỗ trợ các thao tác
Equal
vàNotEqual
choDynamicBool
. (I6a0c1)
Thay đổi về API
- Lớp
FontStyles
hiện là lớp cuối cùng (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 nhau
Action#Builder
khỏi giao diệnAction
. Các lớpLoadAction
vàLaunchAction
hiện đã triển khai Trình tạo. (I1d70c) - Cho phép dùng
DynamicFloat
vớiFloatProp
. Lưu ýFloatProp
không yêu cầu ràng buộc về bố cục vì không được dùng làm thuộc tính thay đổi bố cục. (I286ac) - Các thao tác
LoalAction
vàSetStateAction
sẽ 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
rồi cập nhật API trạng thái để sử dụngDynamicDataKey
(If1c01) - Chúng tôi sẽ giới hạn số lượng mục được phép trong
StateStore
để đảm bảo việc sử dụng bộ nhớ và thời gian cập nhật trạng thái được kiểm soát và kiểm soát chặt chẽ cho mỗi thực thể củaStateStore
. Do đó, nhà phát triển cần đảm bảo rằng họ không có nhiều hơnMAX_STATE_ENTRY_COUNT
mục nhập trong bản đồ, nếu không họ 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 liên quan đến hiệu suất và khả năng tương thích, trình kết xuất
ProtoLayout
sẽ không hỗ trợ đầy đủ tính năng trong các 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 nhóm đượ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à giá sàn hằng ngày. Khoá cho nguồn tình trạng của nền tảng nay có trong
PlatformHealthSources.Keys
(Ib7637) - Phương thức
Easing.cubicBezier
thay thếCubicBezierEasing.Builder
. Cùng với đó, lớpEasingFunction
sẽ bị xoá và các hằng số easing từ lớp đó hiện có thể truy cập trực tiếp được từ 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 dữ liệu 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 khoá được hỗ trợ của trình cung cấp được nút từ quy trình biểu thức yêu cầu. (Ib616a) SensorGateway
không còn làCloseable
vì không còn duy trì trạng thái nào. (I6b4f7)- Cho phép sử dụng
FloatProp
vớiDynamicFloat
để tiến hà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 vềstaticValue
nếu được cung cấp, nếu không sẽ trở về 0 (I0d91b) - Các hằng số
MultiButtonLayout
đã được tái cấu trúc thành lớpLayoutDefaults.MultiButtonLayoutDefaults
, hiện chứa các hằng số cho 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. Trình kết xuất cũ sẽ dự phòng về giá trị tĩnh được cung cấp. Cập nhật loại dữ liệu trả về củaText#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 phần tử bố cục tiện ích thử nghiệm. Lưu ý rằng theo mặc định, ứng dụng này không thể sử dụng và yêu cầu tiện ích kết xuất đồ hoạ có thể hiểu được phần tử bố cục. (I6581d)
- Thêm tính năng hỗ trợ
StrokeCap
choArcLine
. (I94951) - Bổ sung tính năng hỗ trợ cho thao tác Tức thì có điều kiện. (I489a7)
- Bổ sung tính năng hỗ trợ cho thao tác Thời lượng có điều kiện. (Iab469)
- Hỗ trợ thêm tính năng tạo thời lượng tính từ giây. (Ib5fa1)
Thay đổi về API
- Đã xoá các phương thức
enable/disablePlatformSource
khỏiDynamicTypeEvaluator
. Phương thức gọi sẽ chịu trách nhiệm về các bản cập nhật. (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 nội dung 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 đã hỗ trợ thêm tính năng loại trừ khoảng đệm phông chữ trong Material Text
ProtoLayout
. (I17f5d) - ARGB_8888 hiện được hỗ trợ cho hình ảnh cùng dòng. (I18c1e)
DynamicColor
hiện hỗ trợ toán tửonCondition
. (I10927)
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()
bị xoá. Ngoài ra, các giá trị NaNDynamicFloat
và việc thu hẹpDynamicInt32
thànhDynamicFloat
hiện còn phát ra kết quả động không hợp lệ. (I6ac1e) - Trình định dạng số nguyên và số thực 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 thiết lập chính xác thành
api
thay vìimplementation
khi bắt buộc. (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 tính năng 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)
Thay đổi về API
sensorGateway#registerSensorGatewayConsumer
lấy loại dữ liệu làm tham số thay vì phương thức trong ứng dụng Người tiêu dùng. (Icf314)ObservableStateStore
đổi tên thànhStateStore
(Ieb0e2)- Thêm
DynamicTypeEvaluator.Builder
thay vì đối số hàm khởi tạo để cho phép thêm đối số không bắt buộc, bao gồm cảObservableStateStore
hiện mặc định là cửa hàng 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 của 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 đã hỗ trợ thêm độ trễ đảo ngược và tiến 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ị linh động cho các loại trong
DimensionBuilder
- Bố cục và thành phần từ
tiles-material
sẽ chuyển sangprotolayout-material
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 một "bản cập nhật nội dung" thử nghiệm ảnh động cho đố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)
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 một Trình thực thi. (I346ab) - Chúng tôi đã thêm phương thức
startEvaluation
vàoBoundDynamicType
để kích hoạt quá trình đánh giá sau khi liên kết kiểu động. (I19908)
Sửa lỗi
- Đối tượng Trình tạo ảnh động 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.