Wear Compose

  
Viết các ứng dụng sử dụng công cụ Jetpack Compose cho thiết bị đeo bằng cách cung cấp chức năng để hỗ trợ các thiết bị đeo, kích thước, hình dạng và cử chỉ điều hướng cụ thể.
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 13 tháng 11 năm 2024 1.4.0 - - 1.5.0-alpha06

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên Wear, bạn phải thêm kho lưu trữ Maven của Google vào dự án. Đọ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 {
    implementation "androidx.wear.compose:compose-foundation:1.4.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.4.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.4.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.4.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Để 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.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Wear Compose Material3 Phiên bản 1.0

Phiên bản 1.0.0-alpha29

Ngày 13 tháng 11 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha29. Phiên bản 1.0.0-alpha29 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật TimeText để cung cấp nội dung mặc định cho biết thời gian. (Id23b3)
  • Chúng tôi đã đơn giản hoá ScrollInfoProvider cho PagerState bằng cách xoá tham số orientation không còn cần thiết nữa. Hành vi mới là để TimeText vẫn ở vị trí cũ cho cả chế độ phân trang theo chiều ngang và chiều dọc. (I71767)
  • LocalHapticFeedback hiện cung cấp phương thức triển khai HapticFeedback mặc định khi API Rung cho biết rằng tính năng haptics được hỗ trợ. Các phần sau đã được thêm vào HapticFeedbackTypeConfirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey. Các thành phần có thể nhấp và giữ trong Wear Compose như Button, IconButton, TextButtonCard hiện thực hiện phản hồi xúc giác LONG_PRESS khi đã cung cấp trình xử lý nhấp và giữ. (I5083d)

Sửa lỗi

  • Chúng tôi đã cập nhật đề xuất về Xác nhận. (I04bff)
  • Chúng tôi đã cập nhật phần phụ thuộc API tối thiểu lên 1.7.4 cho các thư viện Compose. (I88b46)
  • Thêm chuyển động mới cho hộp thoại OpenOnPhone. (I1e10a)
  • Chúng tôi đã khắc phục lỗi trong LevelIndicator để hiện chính xác với cấp độ là 0. (Ie95a4)
  • Chúng tôi đã cập nhật ảnh động HorizontalPageIndicatorVerticalPageIndicator. (I5c8f3)
  • Chúng tôi đã thêm ảnh động thu nhỏ thành dấu chấm vào ArcProgressIndicator không xác định. (I9fd51)

Phiên bản 1.0.0-alpha28

Ngày 30 tháng 10 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha28. Phiên bản 1.0.0-alpha28 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm một biến thể vòng cung trên chỉ báo tiến trình vòng tròn không xác định (I2efc1)
  • Chúng tôi đã công khai các thành phần kết hợp AlertDialogContentDialog tạo nên API AlertDialog để có thể thêm tuỳ chỉnh nếu cần (chẳng hạn như tuỳ chỉnh ảnh động AlertDialog trong khi vẫn giữ bố cục nội dung được đề xuất). Ngoài ra, chúng tôi đã thêm các tham số ModifierColor vào các thành phần EdgeButton, ConfirmButtonDismissButton của AlertDialogDefaults. (I4eb71)
  • Chúng tôi đã cập nhật API Placeholder như sau: đổi tên PlaceholderState.startPlaceholderAnimation thành PlaceholderState.animatePlaceholder, PlaceholderState.isShowContent thành PlaceholderState.isHiddenPlaceholderDefaults.shape thành PlaceholderDefaults.Shape; đổi tên tham số painter trong painterWithPlaceholderOverlayBackgroundBrush thành originalPainter; thay đổi chế độ hiển thị của PlaceholderState.placeholderProgression từ công khai thành nội bộ và đổi tên thành placeholderShimmerProgression; thêm hằng số thời lượng ảnh động phần giữ chỗ vào PlaceholderDefaults. (Ie5a59)
  • Chúng tôi đã cập nhật API EdgeButton như sau: đổi tên tham số trên ScreenScaffold từ bottomButton thành edgeButton; đặt EdgeButtonSize làm lớp giá trị. (Ieef15)
  • Chúng tôi đã thay đổi chế độ hiển thị của copy() thành công khai trong các lớp Màu sắc wear material3 (I0287f)

Sửa lỗi

  • Thêm thời lượng ảnh động tối thiểu cho IconToggleButtonTextToggleButton khi nhấp (Ieb333)
  • Thêm thời lượng tối thiểu cho ảnh động hình dạng IconButtonTextButton (Iebcee)
  • Sửa trạng thái tuỳ chọn lặp lại của DatePicker. (I3587c)
  • Thêm chuyển động cho hộp thoại Cảnh báo và Xác nhận. (I173b1)

Phiên bản 1.0.0-alpha27

Ngày 16 tháng 10 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha27. Phiên bản 1.0.0-alpha27 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật ScreenScaffoldScrollIndicator sau khi đổi tên Wear Compose Foundation LazyColumn thành TransformingLazyColumn. (I0608b)
  • Tham số preferredHeight của EdgeButton đã được đổi tên thành buttonSize và bạn chỉ có thể chọn giá trị của tham số này trong số 4 hằng số trong lớp giá trị EdgeButtonSize mới được giới thiệu. (Icdd70)
  • Chúng tôi đã thay đổi tên ListSubheader thành ListSubHeader và thêm các giá trị mặc định có thể truy cập công khai cho ListHeaderListSubHeader. (I96730)
  • Chúng tôi đã thêm các thành phần HorizontalPagerScaffoldVerticalPagerScaffold mới cho Wear để cung cấp ảnh động mới và điều phối giữa thành phần chỉ báo trang và văn bản thời gian. (Iff7d0)
  • Chúng tôi đã thêm tính năng hỗ trợ xoay vào HorizontalPagerScaffoldVerticalPagerScaffold, cho phép người dùng điều hướng trình nhắn tin bằng thiết bị đầu vào xoay. (I9770d)
  • Chúng tôi đã thực hiện các thay đổi đối với API MotionScheme để đơn giản hoá việc sử dụng và cải thiện tính nhất quán. Xoá các hàm ghi nhớ nội tuyến và chuyển các Lược đồ chuyển động tích hợp sang một đối tượng đồng hành MotionScheme chuyên dụng. Đổi tên standardMotionSchemeexpressiveMotionScheme thành chuẩn và biểu cảm. (I5fd45)
  • Chúng tôi đã thêm tính năng hỗ trợ bảng phối màu động dựa trên màu hệ thống. (I073e9)
  • Chúng tôi đã cập nhật Stepper theo thông số kỹ thuật mới nhất về trải nghiệm người dùng. (I622bb)

Sửa lỗi

  • Chúng tôi đã cập nhật kiểu chữ và khoảng đệm cho các thành phần Thẻ. (I3ae48)
  • Chúng tôi đã thay đổi khoảng đệm trong AlertDialog giữa các nút Xác nhận/Bỏ qua và nội dung còn lại từ 8dp thành 12dp theo thông số kỹ thuật về trải nghiệm người dùng (Ie55f0)
  • Chúng tôi đã cập nhật độ mờ màu cho thành phần Thanh trượt. (Idb383)

Phiên bản 1.0.0-alpha26

Ngày 2 tháng 10 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha26. Phiên bản 1.0.0-alpha26 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật API và giao diện của HorizontalPageIndicator, đồng thời thêm VerticalPageIndicator để sử dụng với VerticalPager (Ic9309)
  • AlertDialog hiện hỗ trợ tính năng bỏ qua nút dưới cùng mặc định khỏi biến thể ngăn xếp nút, đối với các bố cục tuỳ chỉnh không bắt buộc phải có EdgeButton. (I34fa9)
  • Chúng tôi đã thêm một thành phần SwipeToReveal cho Wear Material 3 (Ic38b2)
  • Chúng tôi đã thêm tính năng hỗ trợ vuốt hai chiều trong SwipeToReveal, trong những trường hợp hiếm hoi mà màn hình hiện tại không hỗ trợ thao tác vuốt để đóng. Chế độ mặc định vẫn là chỉ vuốt để hiển thị khi vuốt từ phải sang trái và bạn nên tuân thủ hành vi mặc định để tránh xung đột với thao tác vuốt để đóng. (Ifac04)
  • Chúng tôi đã đổi tên tham số buttonHeight của EdgeButton thành preferredHeight. (I4fab3)
  • Phiên bản Kotlin đã được cập nhật lên 1.9 (I1a14c)
  • Chúng tôi đã đổi tên OpenOnPhoneDialogDefaults.Icon thành OpenOnPhoneDialogDefaults.OpenOnPhoneIcon để tránh xung đột với Icon(I0f391)
  • Chúng tôi đã thêm tính năng hỗ trợ cho ScrollIndicator trong LazyColumn. (Ia546a)
  • Chúng tôi đã cập nhật giá trị mặc định cho TextToggleButtonIconToggleButton. (I7aaa9)
  • Chúng tôi đã đơn giản hoá API PickerPickerGroup. (Id0653)
  • Chúng tôi đã thêm CardDefaults.ShapeCardDefaults.Height, đây là các mã thông báo (token) riêng tư đối với nhà phát triển sử dụng thư viện. (I1594a, b/347649765)
  • Chúng tôi đã đổi tên tham số tiến trình cho chỉ báo tiến trình dạng vòng tròn được phân đoạn nhị phân thành segmentValue. (Ib72d9)
  • Chúng tôi đã cập nhật màu sắc và bố cục cho Slider. (Ic3eec)

Sửa lỗi

  • Chúng tôi đã cập nhật ảnh động biểu tượng openOnPhone (I66f85)
  • Chúng tôi hiện đang sử dụng biểu tượng Google Symbols trong Slider, TimePickerDatePicker. (I46c7c)
  • Chúng tôi đã cập nhật khoảng đệm trong ConfirmationOpenOnPhoneDialog. (Iaa82e)

Phiên bản 1.0.0-alpha25

Ngày 18 tháng 9 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha25. Phiên bản 1.0.0-alpha25 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm một chỉ báo tiến trình vòng tròn không xác định. (I427a7)
  • Chúng tôi đã thêm tính năng hỗ trợ tràn tiến trình (>100% tiến trình) cho cả CircularProgressIndicatorSegmentedCircularProgressIndicator. Khi tiến trình vượt quá 1.0, tiến trình này sẽ được biểu thị bằng màu overflowTrack mới. (Iaaa3d)
  • IconToggleButtonTextToggleButton tròn hiện hỗ trợ một biến thể ảnh động hình dạng mới, trong đó các hình dạng khác nhau thể hiện trạng thái đã đánh dấu, chưa đánh dấu và nhấn. Biến thể hình dạng ảnh động trước đó cho trạng thái vừa nhấn vẫn được hỗ trợ. (I29f03)
  • Chúng tôi đã xoá tính năng hỗ trợ sử dụng EdgeButton với Column do cần chỉ định rõ chiều cao EdgeButton trong ScreenScaffold. (Ie353d)
  • Chúng tôi đã thêm tính năng hỗ trợ cho LazyColumn Wear Compose bằng ScreenScaffold (và thêm cách triển khai ScrollInfoProvider cho LazyColumnState). (Ib8d29)
  • Chúng tôi đã kết hợp LocalTextMaxLines, LocalTextAlign, LocalTextOverflow thành một thành phần LocalTextConfiguration cục bộ để cung cấp một giải pháp có thể mở rộng hơn trong tương lai. (I5edbc)
  • Chúng tôi đã thêm arc-large làm một loại tỷ lệ phông chữ bổ sung, dành riêng cho các chuỗi văn bản tiêu đề ngắn ở đầu hoặc cuối màn hình, chẳng hạn như trong lớp phủ Xác nhận. (I60e3e)
  • Chúng tôi đã thêm các giá trị mặc định vào Nút cho kích thước biểu tượng lớn và rất lớn được đề xuất cũng như khoảng đệm nội dung. (I84675)

Sửa lỗi

  • Chúng tôi đã cập nhật màu sắc cho IconButtonTextButton. (I48324)
  • Chúng tôi đã thay đổi các phương thức nạp chồng Button cơ sở để căn giữa theo chiều dọc nhằm đảm bảo tính nhất quán với các phương thức nạp chồng khác. Để khôi phục hành vi trước đó, hãy sử dụng Modifier.align từ RowScope. (I66e57)

Phiên bản 1.0.0-alpha24

Ngày 4 tháng 9 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha24. Phiên bản 1.0.0-alpha24 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm một giao thức Motion vào giao diện Material3. Các thành phần trong thư viện sẽ sử dụng thông tin này để áp dụng các thông số kỹ thuật ảnh động, chẳng hạn như lò xo cho chuyển động biểu cảm. (I54ff3)
  • Chúng tôi đã thêm các thành phần AppScaffoldScreenScaffold vào thư viện Material3, bao gồm cả chức năng điều phối lớp và hiệu ứng chuyển đổi của TimeTextScrollIndicator. AppScaffold cung cấp cấp cao nhất của các thành phần Scaffold nằm trên tất cả màn hình. Do đó, việc thêm TimeText vào AppScaffold cho phép nó giữ nguyên vị trí trong khi vuốt giữa các màn hình. Màn hình có thể tự ghi đè hoặc ẩn văn bản thời gian. ScreenScaffold cung cấp một khe cho ScrollIndicator và tự động tạo ảnh động cho chỉ báo cuộn khi cuộn, bao gồm cả thời gian chờ để ẩn chỉ báo cuộn sau khi không hoạt động. (I047d6)
  • Chúng tôi đã thêm ScrollIndicator có thiết kế Material3 mới. Thẻ này có kích thước thu nhỏ cố định dựa trên nội dung danh sách ban đầu để tránh sự khác biệt về kích thước khi nội dung tải lười được tải vào danh sách. (Ic228d)
  • Chúng tôi đã thay đổi API ScrollAway để ScreenStage là một lớp giá trị thay vì một lớp enum, cho phép thêm các giai đoạn bổ sung nếu cần trong tương lai. (I48c93)
  • Chúng tôi đã thêm EdgeButton, một nút riêng biệt dành riêng cho Wear có hình dạng tuân theo độ cong của phần cuối màn hình (I16369)
  • Chúng tôi đã thêm một khe mới vào ScreenScaffold cho nút dưới cùng (chẳng hạn như EdgeButton). Khe này sẽ hiển thị và đổi kích thước tuỳ thuộc vào nội dung cuộn (I032eb)
  • Chúng tôi đã thêm Modifier.scrollTransformModifier.targetMorphingHeight để thêm hiệu ứng chuyển động Material3 vào các mục trong LazyColumn. (Ie229a)
  • Chúng tôi đã thêm SegmentedCircularProgressIndicator làm biến thể trên CircularProgressIndicator. Biến thể được phân đoạn hiển thị một giá trị tiến trình trên tất cả các phân đoạn hoặc hiển thị mỗi phân đoạn ở trạng thái bật/tắt. (I6e059)
  • Chúng tôi đã thêm LinearProgressIndicator làm phương án thay thế cho CircularProgressIndicator hiện có. (I89182)
  • Chúng tôi đã thêm AlertDialog, cung cấp bố cục để trình bày các lời nhắc quan trọng cho người dùng. Các biến thể được đưa vào cho một cặp nút xác nhận/bỏ qua hoặc một nút dưới cùng (thường là EdgeButton) bên dưới một ngăn xếp các tuỳ chọn. Cả hai biến thể đều có các vị trí cho biểu tượng, tiêu đề và văn bản bổ sung để cung cấp thêm thông tin. (Ieb873)
  • Chúng tôi đã thêm OpenOnPhoneDialog để chỉ ra một hành động sẽ tiếp tục trên điện thoại của người dùng. OpenOnPhoneDialog sẽ bị đóng sau một khoảng thời gian chờ đã chỉ định. (I978fd)
  • Chúng tôi đã thêm Confirmation, một thành phần hộp thoại có các khe cho biểu tượng và văn bản cong hoặc tuyến tính. Các biến thể cụ thể được cung cấp cho thông báo thành công/không thành công. Thông báo xác nhận sẽ tự động đóng sau khi hết thời gian chờ. (Ib43e8)
  • Chúng tôi đã thêm nền vào TimeText để giảm thiểu các vấn đề khi nội dung cơ bản và TimeText chồng chéo và che khuất thời gian. (Ia11fd)
  • Chúng tôi đã thêm LevelIndicator để hiển thị giá trị của một chế độ cài đặt như âm lượng và có thể được sử dụng với thành phần Stepper hiện có để tạo màn hình âm lượng. LevelIndicator tương tự như ScrollIndicator, nhưng hiển thị ở phía đối diện của màn hình, có chiều rộng nét lớn hơn và màu chỉ báo khác theo mặc định. (I8a4ac)
  • Chúng tôi đã thêm TimePicker, với các bố cục cho thời gian 24 giờ (có hoặc không có giây) hoặc thời gian 12 giờ với lựa chọn am/pm. (Ia5124)
  • Chúng tôi đã thêm DatePicker, với cấu hình để sắp xếp cột (tức là ngày-tháng-năm, tháng-ngày-năm hoặc năm-tháng-ngày) và ngày tối thiểu/tối đa không bắt buộc. (Ibf13b)
  • Chúng tôi đã thêm tham số trọng số vào hàm text của TimeText. Trong trường hợp TimeText được tạo thành từ nhiều phần tử văn bản, bạn có thể kiểm soát cách phân phối khoảng trắng. (I36700)
  • Chúng tôi đã thêm RadioButtonSplitRadioButton – các thành phần này đơn giản hoá API trước đó bằng cách kết hợp cả (Split)SelectableButton và nút điều khiển chọn kênh con (If7ae8)
  • Chúng tôi đã thêm CheckboxButtonSplitCheckboxButton – các thành phần này đơn giản hoá API trước đó bằng cách kết hợp cả (Split)ToggleButton và thành phần điều khiển Hộp đánh dấu con (Ia8f70)
  • Chúng tôi đã thêm SwitchButtonSplitSwitchButton – các thành phần này đơn giản hoá API trước đó bằng cách kết hợp cả (Split)ToggleButton và thành phần điều khiển Nút chuyển con (I0d349)
  • Chúng tôi đã cập nhật tài liệu về AnimatedText để giải thích hành vi vượt quá giới hạn. (Iff30a)
  • Chúng tôi đã thêm ButtonGroup để kết hợp 2 hoặc 3 nút sao cho các lần nhấn nút tạo ra một ảnh động phối hợp. (Ie27db)
  • Chúng tôi thêm ảnh động hình dạng không bắt buộc cho IconButtonTextButton khi nhấn. (Iffca5)
  • Chúng tôi đã thêm một biến thể màu khác, FilledVariant, vào Button, IconButton, TextButton, CompactButtonEdgeButton (I65fc3)
  • Chúng tôi đã thêm tham số forcedSize vào ImageWithScrimPainter, nhờ đó, nền hình ảnh Nút hiện duy trì kích thước thành phần theo mặc định. Việc đặt forcedSize = null sẽ sử dụng Painter.instrinsicSize. (Ic57af)
  • Chúng tôi đã thêm thao tác nhấn và giữ vào Nút (Ib613d)
  • Tính năng hỗ trợ nhấp và giữ cũng được thêm vào IconButtonTextButton. (I38891)
  • Thêm tính năng hỗ trợ lượt nhấp kéo dài vào Thẻ. (I305d5)
  • Chúng tôi đã thêm LocalTextMaxLines, LocalTextAlign, LocalTextOverflow dưới dạng CompositionLocals và sử dụng các tham số này làm tham số mặc định trên Text. Giờ đây, các thành phần như CheckboxButton, SwitchButton, RadioButton có thể sử dụng thành phần cục bộ của thành phần để triển khai hướng dẫn về trải nghiệm người dùng, nhưng nhà phát triển có thể ghi đè các tham số này nếu cần. (Iab841)
  • Chúng tôi đã thêm Placeholder để giúp che nội dung của các thành phần như nút và thẻ cho đến khi dữ liệu được tải. (I1a532)
  • Chúng tôi đã thêm IconToggleButtonColorsTextToggleButtonColors để thay thế ToggleButtonColors hiện đã bị xoá. (Ie0bf1)

Sửa lỗi

  • Chúng tôi đã cập nhật Button, FilledTonalButton, OutlinedButton, ChildButton, CompactButton để sử dụng CompositionLocals LocalTextMaxLines, LocalTextAlign, LocalTextOverflow mới nhằm triển khai hướng dẫn về trải nghiệm người dùng – các nhà phát triển có thể ghi đè các tham số này trên Văn bản trực tiếp nếu cần (Ie51f7)
  • Chúng tôi đã thay đổi chiều rộng nét mặc định của LevelIndicator thành 6dp để phân biệt với ScrollIndicator có chiều rộng nét là 4dp. (If6f63)
  • Chúng tôi đã khắc phục vấn đề trong TimeText để hỗ trợ các góc quét lớn hơn. (Ie489f)
  • Khắc phục vấn đề trong quá trình kết hợp lại EdgeButton. (I4cdca)
  • Sửa bố cục của các nút bật/tắt phân tách khi cung cấp khoảng đệm nội dung tuỳ chỉnh. (Ia33d3)
  • Làm tròn các giá trị tiến trình nhỏ lên ít nhất là chiều rộng đường kẻ của chỉ báo tiến trình. (I3bd84)

Phiên bản 1.0.0-alpha23

Ngày 14 tháng 5 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha23. Phiên bản 1.0.0-alpha23 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật API ToggleButtonRadioButton để có thể định cấu hình màu bị tắt. (If13a7)
  • Chúng tôi đã thêm một CircularProgressIndicator mới cho Material3. (Ib3bd7)

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi các nút có thể chọn thông báo nhấn đúp để bật/tắt khi đã được chọn. (I7ed88)

Phiên bản 1.0.0-alpha22

Ngày 1 tháng 5 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha22. Phiên bản 1.0.0-alpha22 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật ColorScheme Material3. (I7b2b8)
  • Chúng tôi đã cập nhật Material3 Switch (Công tắc Material3) – cũng như một số thay đổi về màu sắc, dấu đánh dấu hiện khớp với dấu đánh dấu được sử dụng cho Hộp đánh dấu. (Icac7b)

Sửa lỗi

  • Cập nhật tất cả bản minh hoạ tích hợp để sử dụng đối tượng sửa đổi rotaryScrollable mới. (I25090)

Phiên bản 1.0.0-alpha21

Ngày 17 tháng 4 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha21. Phiên bản 1.0.0-alpha21 bao gồm các thay đổi sau.

  • Bản phát hành này được kích hoạt do sự cố kỹ thuật trong bản phát hành trước đó khiến thiếu các tệp jar nguồn. Không có thay đổi nào trong bản phát hành này.

Phiên bản 1.0.0-alpha20

Ngày 3 tháng 4 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha20. Phiên bản 1.0.0-alpha20 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã điều chỉnh độ tương phản của alpha trạng thái nhấn và tập trung của Ripple. (I59f0a)
  • Chúng tôi đã thêm khoảng cách giữa nhãn chính và nhãn phụ trong Button, ToggleButtonRadioButton, theo các thay đổi mới nhất đối với kiểu chữ và chiều cao dòng. (I2c0ba)

Phiên bản 1.0.0-alpha19

Ngày 6 tháng 3 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha19. Phiên bản 1.0.0-alpha19 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm TimeText vào thư viện Wear Compose Material3. Thành phần này hiển thị thời gian hiện tại (và trạng thái bổ sung) ở đầu màn hình. API Material3 mới, ngắn gọn giúp tránh nội dung trùng lặp giữa nội dung tuyến tính và nội dung cong. (I4d7c3)
  • Chúng tôi đã cập nhật tên tham số từ onSelected thành onSelect cho RadioButton. (I1a971)
  • Mã hoá RadioButtonSplitRadioButton, đồng thời tái cấu trúc các phương thức hiện có để giảm lượng tra cứu CompositionLocal bằng cách thêm các phiên bản màu được lưu vào bộ nhớ đệm và tạo các phương thức của RadioButtonColorsSplitRadioButtonColors nội bộ. (I02b33)

Phiên bản 1.0.0-alpha18

Ngày 21 tháng 2 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha18. Phiên bản 1.0.0-alpha18 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã tái cấu trúc mẫu mặc định cho CardColors, ToggleButtonColorsSplitToggleButtonColors bằng cách tạo các thực thể được lưu vào bộ nhớ đệm trong nội bộ và giảm mức sử dụng CompositionLocal. (If3fec)

Phiên bản 1.0.0-alpha17

Ngày 7 tháng 2 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha17. Phiên bản 1.0.0-alpha17 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật Button API để sử dụng buttonColors theo mặc định và xoá filledButtonColors trùng lặp. (I4fe3b)
  • Chúng tôi đã tái cấu trúc các mẫu mặc định cho ButtonColors, IconButtonColorsTextButtonColors bằng cách tạo một thực thể được lưu vào bộ nhớ đệm trong nội bộ và giảm mức sử dụng CompositionLocal. (I5f51c)
  • Chúng tôi đã xoá hao tổn của rememberUpdatedState trong các lớp màu cụ thể của Thành phần và đánh dấu các phương thức truy cập bên trong các lớp màu là nội bộ. (If6571)

Sửa lỗi

  • Chúng tôi đã cập nhật Modifier.minimumInteractiveComponentSize để sử dụng Modifier.node. (Iba6b7)

Phiên bản 1.0.0-alpha16

Ngày 24 tháng 1 năm 2024

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha16. Phiên bản 1.0.0-alpha16 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm CompactButton, có thể sử dụng cùng màu tô, màu sắc và đường viền tô như Button.(I05df0)

Thay đổi về API

  • Chúng tôi đã thêm RadioButton/SplitRadioButton làm vùng chứa cho các thành phần điều khiển lựa chọn, chẳng hạn như thành phần điều khiển Nút chọn. Điều này khác với ToggleButton hiện có ở chỗ RadioButton có thể chọn (và hoạt động trong một nhóm lựa chọn) trong khi ToggleButton có thể bật/tắt (và độc lập). (I61275)
  • Chúng tôi sẽ xoá LocalContentAlpha khỏi thư viện Wear Compose Material3 để đảm bảo tính nhất quán với thư viện Compose Material3. (I49a0a)
  • Các thành phần Wear material và wear material3 hiển thị MutableInteractionSource trong API của chúng đã được cập nhật để hiện MutableInteractionSource có thể nhận giá trị rỗng và mặc định là rỗng. Không có thay đổi ngữ nghĩa nào ở đây: việc truyền giá trị rỗng có nghĩa là bạn không muốn chuyển MutableInteractionSource lên trên và MutableInteractionSource sẽ được tạo bên trong thành phần nếu cần. Việc thay đổi thành giá trị rỗng cho phép một số thành phần không bao giờ phân bổ MutableInteractionSource và cho phép các thành phần khác chỉ tạo một thực thể khi cần, giúp cải thiện hiệu suất trên các thành phần này. Nếu không sử dụng MutableInteractionSource mà bạn truyền đến các thành phần này, bạn nên truyền giá trị rỗng. Bạn cũng nên thực hiện các thay đổi tương tự trong các thành phần của riêng mình. (Ib90fc, b/298048146)
  • Thêm API gợn sóng mới trong thư viện wear:compose-materialwear:compose-material3 để thay thế rememberRipple không còn được dùng nữa. Đồng thời thêm một CompositionLocal, LocalUseFallbackRippleImplementation tạm thời để chuyển các thành phần Material về sử dụng các API rememberRipple/RippleTheme không dùng nữa. Tính năng này sẽ bị xoá trong bản phát hành ổn định tiếp theo và chỉ nhằm mục đích hỗ trợ di chuyển tạm thời trong trường hợp bạn đang cung cấp RippleTheme tuỳ chỉnh. Hãy xem developer.android.com để biết thông tin di chuyển và thông tin cơ bản khác về thay đổi này. (af92b21)
  • Chúng tôi đã cải tiến một số điểm nhỏ đối với API HorizontalPageIndicator và tài liệu của API này. (I60efc)
  • Chúng tôi đã cập nhật ColorScheme để không thể thay đổi, khiến các bản cập nhật màu riêng lẻ kém hiệu quả hơn, nhưng giúp việc sử dụng màu phổ biến trở nên hiệu quả hơn. Lý do đằng sau thay đổi này là phần lớn ứng dụng sẽ không có trường hợp sử dụng chính là cập nhật từng màu riêng lẻ. Bạn vẫn có thể làm việc này nhưng sẽ phải kết hợp lại nhiều hơn trước. Do đó, chúng ta sẽ giảm đáng kể số lượng gói thuê bao trạng thái thông qua tất cả mã Material và sẽ tác động đến chi phí khởi chạy và thời gian chạy của nhiều trường hợp sử dụng tiêu chuẩn hơn. (Ibc2d6)
  • Cập nhật API ToggleButtonSplitToggleButton để cho phép tuỳ chỉnh màu bị tắt. Ngoài ra, mã thông báo Material Design hiện được dùng cho các giá trị màu sắc và kiểu chữ. (If087c)
  • Cập nhật màu nền của hình ảnh Nút để sử dụng mã thông báo Material Design. (Iba215)
  • Chúng ta đã thay đổi các thành phần Checkbox, SwitchRadioButton thành chỉ hiển thị bằng cách xoá tính năng xử lý lượt nhấp. Các thành phần này dự kiến sẽ được sử dụng trong (Split)ToggleButton để xử lý lượt nhấp, vì vậy, các thành phần hiện được chỉ định rõ ràng hơn là chỉ hiển thị (và không dùng để sử dụng độc lập trên Wear). (I2322e)

Sửa lỗi

  • Chúng tôi đã thêm mã thông báo cho các giá trị chuyển động của thời lượng và độ trễ trong Wear Compose Material 3. (I437cd)
  • Chúng tôi đã khắc phục lỗi trong ToggleButton, SplitToggleButton, Checkbox, SwitchRadioButton để thông báo hỗ trợ tiếp cận không bị lặp lại (trước đây, các vai trò ngữ nghĩa bị trùng lặp). (Ica281)
  • Chúng tôi đã xoá lớp materialcore cho CompactButton để cải thiện hiệu suất. (7902858)

Phiên bản 1.0.0-alpha15

Ngày 15 tháng 11 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha15. Phiên bản 1.0.0-alpha15 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã đổi tên cấp độ Cơ sở SwipeToDismissBox thành BasicSwipeToDismissBox. Điều này giúp phân biệt rõ ràng hơn giữa thành phần cấp Foundation và SwipeToDismissBox cấp Material3. Phần sau sẽ lấy màu từ MaterialTheme để sử dụng trong scrim và uỷ quyền việc triển khai còn lại cho BasicSwipeToDismissBox. (Ibecfc)

Sửa lỗi

  • Chúng tôi đã xoá lớp material-core cho Nút Material3 để cải thiện hiệu suất. (I55555)

Phiên bản 1.0.0-alpha14

Ngày 18 tháng 10 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha14. Phiên bản 1.0.0-alpha14 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã xoá tham số indicatorStyle khỏi Material3 HorizontalPageIndicator – thay vào đó, tham số này sẽ tuân theo hình dạng màn hình thiết bị (thẳng hoặc tròn). (I83728)
  • Chúng tôi đã tách màu cho SplitToggleButton khỏi màu cho ToggleButton bằng cách thêm một lớp SplitToggleButtonColors mới. (I78bee)

Phiên bản 1.0.0-alpha13

Ngày 4 tháng 10 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha13. Phiên bản 1.0.0-alpha13 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm trường Phụ đề (không bắt buộc) vào TitleCard. (Ifc45a)
  • Chúng tôi đã thêm mã thông báo màu Material Design cho TextButton. (I769dc)

Phiên bản 1.0.0-alpha12

Ngày 20 tháng 9 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha12. Phiên bản 1.0.0-alpha12 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật IconButton để sử dụng mã thông báo Material Design. (I3f137)
  • Chúng tôi đã cập nhật IconToggleButton để sử dụng mã thông báo Material Design. (I7d263)
  • Chúng tôi đã công khai các hàm khởi tạo của CheckboxColors, RadioButtonColors, SwitchColors. (I82b73)

Phiên bản 1.0.0-alpha11

Ngày 6 tháng 9 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha11. Phiên bản 1.0.0-alpha11 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi cập nhật kiểu chữ cho Thẻ Material3 thành TitleMedium. (I597bd)
  • Chúng tôi đã cập nhật kiểu chữ và căn chỉnh cho ListHeaderListSubheader của Material3. (Ib5ceb)

Phiên bản 1.0.0-alpha10

Ngày 23 tháng 8 năm 2023

Phát hành androidx.wear.compose:compose-material3: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 HorizontalPageIndicator vào thư viện Wear Material3. (Ifee99)

Thay đổi về API

  • Cập nhật mã Buttons để sử dụng mã thông báo thiết kế Material3. (I92fe4)
  • Khai báo API Nút chuyển và Thanh trượt Wear Material 3 ở chế độ thử nghiệm vì thông tin chi tiết về giao diện người dùng vẫn đang được hoàn thiện. (I84d54)
  • Chúng tôi đã xoá kích thước ExtraSmall khỏi TextButtonTextToggleButton tròn vì kích thước đó chỉ áp dụng cho IconButton. (Ibc7d5)

Sửa lỗi

  • Chúng tôi đã cập nhật hướng dẫn về kiểu chữ cho TextToggleButton để sử dụng LabelLarge cho LargeButtonSize (Ib10fa)
  • Chúng tôi đã cập nhật hướng dẫn về kiểu chữ cho TextButton để sử dụng LabelLarge cho LargeButtonSize (I8f3a7)
  • Chúng tôi đã đặt đích chạm tối thiểu của Thẻ là 48 dp để hỗ trợ tiếp cận. (Ieb9b1)
  • Thêm AppCard có bản minh hoạ hình ảnh, xoá AppCard có bản minh hoạ Nền (Id735f)
  • Khắc phục lỗi trong các nút tròn khi đối tượng sửa đổi không được liên kết chính xác. (I5e162)

Phiên bản 1.0.0-alpha09

Ngày 9 tháng 8 năm 2023

Phát hành androidx.wear.compose:compose-material3: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 ToggleButton cho material3 (I6bed6)

Thay đổi về API

  • Chúng tôi đã bật chú thích FloatRange dưới dạng các quy tắc ràng buộc API , như đã nêu trước đó trong các nhận xét. (Icb401)
  • Chúng tôi đã cập nhật kiểu chữ cho Wear Material3 để tuân thủ các nguyên tắc mới nhất của Material3. (I1bad6)

Sửa lỗi

  • Chúng tôi đã cập nhật màu sắc cho Button, IconButtonTextButton cho phù hợp với thiết kế Material3. (Ib2495)
  • Chúng tôi đã khắc phục chế độ hiển thị dấu đánh vào hộp đánh dấu ở trạng thái bị tắt. (Ib25bf)

Phiên bản 1.0.0-alpha08

Ngày 26 tháng 7 năm 2023

Phát hành androidx.wear.compose:compose-material3: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

  • Chúng tôi đã thêm các chế độ điều khiển lựa chọn sau đây cho Material3 – Switch, Checkbox, RadioButton. (Ib918c)
  • Chúng tôi đã thêm IconToggleButtonTextToggleButton vào Material3, một nút bật/tắt hình tròn có một khe duy nhất cho biểu tượng và văn bản tương ứng. Đối với các kích thước khác nhau của ToggleButton, bạn nên sử dụng Modifier.touchTargetAwareSize với các kích thước được cung cấp trong các nút bật/tắt tương ứng. (I9f015)
  • Chúng tôi đã thêm ListHeaderListSubheader vào các thành phần Material3. (Ibaefe)
  • Chúng tôi đã thêm Material3 SwipeToDismissBox. Tệp này gọi Foundation SwipeToDismissBox mới và cung cấp các giá trị màu mặc định từ giao diện của tệp đó. (I275fb)
  • Chúng tôi đã thêm InlineSlider Material3 vào Wear Compose. Thành phần này cho phép người dùng lựa chọn trong một phạm vi các giá trị. Phạm vi các lựa chọn được thể hiện dưới dạng thanh, từ giá trị tối thiểu đến tối đa của phạm vi, từ đó người dùng có thể chọn một giá trị. InlineSlider là lựa chọn lý tưởng để điều chỉnh các chế độ cài đặt như âm lượng hoặc độ sáng. (I7085f)

Thay đổi về API

  • Chúng tôi đã cập nhật Hình dạng trong giao diện Wear Material 3 để sử dụng RoundedCornerShape thay vì Hình dạng. (Idb133)
  • Chúng tôi đã công khai các hằng số chiều cao cho Nút (Idbfde)
  • Cập nhật các tệp API để chú thích việc tạm ngưng khả năng tương thích (I8e87a, b/287516207)
  • Chúng tôi đã cập nhật InlineSliderColors trong Wear Compose Material 3 để có hàm khởi tạo công khai và các thuộc tính công khai. (I6b632)
  • Chúng tôi đã cập nhật tất cả các lớp màu trong Wear Compose Material 3 để có hàm khởi tạo công khai và thuộc tính công khai. (I17702)
  • Chúng tôi đã công khai các hằng số khoảng đệm ngang và dọc của Button. (Ieeaf7)

Sửa lỗi

  • Nút hiện sẽ điều chỉnh chiều cao để phù hợp với nội dung đã tăng lên do phông chữ lớn hỗ trợ tiếp cận, khi cần (Iaf302)
  • Chúng tôi đã cập nhật một số bản minh hoạ Nút để giải quyết các vấn đề về hỗ trợ tiếp cận. (I61ce9)
  • StepperInlineSlider hiện hỗ trợ các lượt nhấp lặp lại khi nhấn và giữ để bạn có thể nhanh chóng tăng/giảm giá trị của StepperInlineSlider bằng cách giữ nút + hoặc – (I27359)

Phiên bản 1.0.0-alpha07

Ngày 21 tháng 6 năm 2023

Phát hành androidx.wear.compose:compose-material3: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

  • Chúng tôi đã thêm thành phần Stepper vào thư viện Compose cho Wear OS Material 3. Cách này tương tự như phiên bản Material trước, nhưng bỏ qua ngữ nghĩa phạm vi theo mặc định, theo ý kiến phản hồi của nhà phát triển. Chúng tôi cung cấp Modifier.rangeSemantics cho các trường hợp cần ngữ nghĩa phạm vi. (Ic39fd)
  • Chúng tôi đã thêm curvedText vào thư viện Compose cho Wear OS Material 3. (Ia8ae3)

Sửa lỗi

  • Chúng tôi đã cập nhật wear.compose.foundation thành phần phụ thuộc API của wear.compose.material3 (I72004, b/285404743)

Phiên bản 1.0.0-alpha06

Ngày 7 tháng 6 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha06. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã cập nhật TextButton để sử dụng hàm mở rộng toDisabledColor cho các giá trị alpha bị vô hiệu hoá chính xác. (I814c8)

Phiên bản 1.0.0-alpha05

Ngày 24 tháng 5 năm 2023

Phát hành androidx.wear.compose:compose-material3: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 TextButton vào Material3, một nút tròn có một khe duy nhất cho văn bản. Đối với các kích thước khác nhau của TextButton, bạn nên sử dụng Modifier.touchTargetAwareSizeExtraSmallButtonSize, SmallButtonSize, DefaultButtonSizeLargeButtonSizeIcon được cung cấp trong TextButtonDefaults. TextButton mặc định không có đường viền và nền trong suốt cho các thao tác có mức độ nhấn mạnh thấp. Đối với các thao tác cần nhấn mạnh cao, hãy sử dụng filledTextButtonColors; đối với thao tác nhấn mạnh trung bình, được viền TextButton, hãy đặt đường viền thành ButtonDefaults.outlinedButtonBorder; đối với thao tác nhấn mạnh trung bình giữa viền và tô màu, hãy sử dụng filledTonalTextButtonColors. (I667e4)
  • Chúng tôi đã thêm Card, OutlinedCard, AppCardTitleCard vào thư viện Wear Compose Material3. Bạn cũng có thể tạo giao diện được viền cho AppCardTitleCard bằng cách sử dụng CardDefaults.outlinedCardColorsCardDefaults.outlinedCardBorder(I80e72)

Thay đổi về API

  • Chúng tôi đã di chuyển tham số nhãn Nút (Button label) về cuối để hỗ trợ cú pháp trailing lambda và xoá tham số vai trò (vì tham số này có thể được ghi đè bằng Modifier.semantics). Các hàm khởi tạo ButtonColors hiện là công khai. (Ie1b6d)

Phiên bản 1.0.0-alpha04

Ngày 10 tháng 5 năm 2023

Phát hành androidx.wear.compose:compose-material3: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

  • Chúng tôi đã thêm IconButton vào Material3, một nút tròn có một khe duy nhất cho biểu tượng/hình ảnh. Có 4 biến thể: IconButton, FilledIconButton, FilledTonalIconButtonOutlinedIconButton. Đối với các kích thước khác nhau của IconButton, bạn nên sử dụng Modifier.touchTargetAwareSizeExtraSmallButtonSize, SmallButtonSize, DefaultButtonSizeLargeButtonSizeIcon được cung cấp trong IconButtonDefaults. Chúng tôi cũng cung cấp IconButtonDefaults.iconSizeFor để xác định kích thước biểu tượng được đề xuất cho một kích thước nút nhất định. (I721d4)

Phiên bản 1.0.0-alpha03

Ngày 19 tháng 4 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm thành phần Nút Material 3 – đây là nút có hình dạng sân vận động và trước đây có tên là Khối trong thư viện Material Wear Compose (đã đổi tên thành Nút để nhất quán với thư viện Compose Material 3). Nút mặc định có nền được lấp đầy và có các biến thể nút cho FilledTonal (nền bị tắt), Đường viền (trong suốt với đường viền mỏng) và Con (nền trong suốt và không có đường viền, dùng cho các thao tác bổ sung có mức độ nổi bật thấp nhất). Các nút tròn cho biểu tượng đơn giản và nội dung văn bản sẽ xuất hiện trong bản phát hành trong tương lai.(Ia6942)

Phiên bản 1.0.0-alpha02

Ngày 5 tháng 4 năm 2023

Phát hành androidx.wear.compose:compose-material3:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã thêm DefaultTextStyle vào Wear Compose Material 3, mặc định PlatformTextStyle.includeFontPadding là true (chế độ cài đặt hiện tại). Điều này sẽ cho phép chúng ta đồng bộ hoá việc tắt khoảng đệm phông chữ theo mặc định với các thư viện Compose trong tương lai (xem phần Sửa khoảng đệm phông chữ trong Compose cho nền). (I7e461)

Phiên bản 1.0.0-alpha01

Ngày 22 tháng 3 năm 2023

Phát hành androidx.wear.compose:compose-material3: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

  • Material 3 là phiên bản cải tiến tiếp theo của Material Design, bao gồm các thành phần được thiết kế lại và giao diện được cập nhật. Material 3 trên Wear Compose được thiết kế để kết hợp với thư viện Material 3 Compose trên Android. Bản phát hành alpha đầu tiên này có các hoạt động triển khai chức năng ban đầu của:

    • Giao diện Material – định cấu hình bảng phối màu, kiểu chữ và hình dạng nhất quán giữa các thành phần trong thư viện. Giao diện Material3 đã sửa đổi các màu hỗ trợ độ tương phản dễ tiếp cận. (I84005)
    • Văn bản/Biểu tượng – các khối xây dựng cho ứng dụng Wear Compose (I8e06a)
  • Chúng tôi sẽ tiếp tục phát triển song song Wear Material (androidx.wear.compose:compose-material) và Wear Material 3 (androidx.wear.compose:compose-material3). Các bản phát hành material3 trong tương lai sẽ mở rộng bộ tiện ích để bao gồm các thành phần quen thuộc khác từ Compose cho Wear OS, chẳng hạn như nút, bộ chọn và thanh trượt.

  • Thư viện Wear Material và Wear Material 3 là hai thư viện độc lập và không được kết hợp trong cùng một ứng dụng, chủ yếu là do các thư viện này tham chiếu đến các giao diện khác nhau, dẫn đến sự không nhất quán ngoài dự kiến.

Wear Compose Phiên bản 1.5

Phiên bản 1.5.0-alpha06

Ngày 13 tháng 11 năm 2024

Phát hành androidx.wear.compose:compose-*:1.5.0-alpha06. Phiên bản 1.5.0-alpha06 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã đơn giản hoá ScrollInfoProvider cho PagerState bằng cách xoá tham số orientation không còn cần thiết nữa. Hành vi mới là để TimeText vẫn ở vị trí cũ cho cả chế độ phân trang theo chiều ngang và chiều dọc. (I71767)
  • TransformingLazyColumn được giới thiệu trong các bản phát hành trước. Chúng tôi hiện đang xoá các bí danh LazyColumn của Wear (đã chuyển tiếp đến TransformingLazyColumn) để thay thế bằng tên mới TransformingLazyColumn. Chúng tôi cũng đã xoá thuộc tính height của TransformingLazyColumnVisibleItemInfo – vui lòng sử dụng measuredHeight. (I0ea1e)
  • Chúng tôi đã thay đổi PagerDefaults.snapFlingBehavior snapAnimationSpec từ thông số kỹ thuật Tween thành Spring.(I10d02, b/349781047, b/303807950)
  • Chúng tôi đã nâng cấp LocalReduceMotion CompositionLocal lên phiên bản ổn định (Ia6f32)

Sửa lỗi

  • Chúng tôi đã cập nhật Modifier.rotaryScrollable để sử dụng focusTargetWithSemantics nhằm hỗ trợ ngữ nghĩa tốt hơn trong chế độ xoay. (Ief0a0)
  • Chúng tôi đã cập nhật phần phụ thuộc API tối thiểu lên 1.7.4 cho các thư viện Compose. (I88b46)
  • Chúng tôi đã tắt tính năng biến đổi chiều rộng trong TransformingLazyColumn để khắc phục lỗi cắt. (I3dfb8)
  • Chúng tôi đã khắc phục lỗi khiến các mục biến mất sau khi cuộn quá mức bằng TransformingLazyColumn (Id7668)
  • Chúng tôi đã thêm LazyLayoutSemantics cho TransformingLazyColumn. (Ia8f56)

Phiên bản 1.5.0-alpha05

Ngày 30 tháng 10 năm 2024

Phát hành androidx.wear.compose:compose-*:1.5.0-alpha05. Phiên bản 1.5.0-alpha05 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm tính năng hỗ trợ cho animateScrollTo trên TransformingLazyColumnState để có thể tạo ảnh động khi cuộn đến một mục. (I4097d)
  • Chúng tôi đã thêm requestScrollTo vào TransformingLazyColumnState để trì hoãn việc cuộn đến lần đo lường tiếp theo. (I20a5e)
  • Chúng tôi đã thêm tính năng hỗ trợ cho contentPadding trong TransformingLazyColumn. (I3a69c)

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi hiển thị TransformingLazyColumn khi chiều cao nội dung ngắn hơn chiều cao màn hình. (I6c3e1)
  • ScrollInfoProvder cho TransformingLazyColumn hiện theo dõi chính xác mục đầu tiên. (I1e4a3)
  • TransformingLazyColumnState hiện lưu trạng thái của nó (anchorItemIndexanchorItemScrollOffset). (I3d265)

Phiên bản 1.5.0-alpha04

Ngày 16 tháng 10 năm 2024

Phát hành androidx.wear.compose:compose-*:1.5.0-alpha04. Phiên bản 1.5.0-alpha04 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã đổi tên Wear Compose Foundation LazyColumn thành TransformingLazyColumn để phân biệt rõ ràng hơn giữa nền tảng này và Compose Foundation LazyColumn. (I0608b)
  • Thêm tính năng hỗ trợ xoay cho máy nhắn tin theo chiều ngang/dọc, cho phép người dùng điều hướng máy nhắn tin bằng thiết bị nhập dữ liệu xoay. (I9770d)
  • Chúng tôi đã cập nhật PagerDefaults mới để làm rõ rằng trình phân trang sẽ chụp nhanh theo trang theo mặc định. (Iff7d0)
  • TransformingLazyColumnItemScrollProgress hiện là một lớp giá trị giúp cải thiện hiệu suất. (Ic399e)
  • TransformingLazyColumn hiện hỗ trợ tính năng xoay ngay từ đầu. (I05206)
  • TransformingLazyColumnState hiện hỗ trợ scrollToItem. (I507b3)
  • Xoá @ExperimentalWearFoundationApi khỏi API SwipeToReveal (I34a66)

Phiên bản 1.5.0-alpha03

Ngày 2 tháng 10 năm 2024

Phát hành androidx.wear.compose:compose-*:1.5.0-alpha03. Phiên bản 1.5.0-alpha03 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm tính năng hỗ trợ vuốt hai chiều trong SwipeToReveal, trong những trường hợp hiếm hoi mà màn hình hiện tại không hỗ trợ thao tác vuốt để đóng. . Chế độ mặc định vẫn là chỉ vuốt để hiển thị khi vuốt từ phải sang trái và bạn nên tuân thủ hành vi mặc định để tránh xung đột với thao tác vuốt để đóng. (Ifac04)
  • Chúng tôi đã cập nhật LazyColumnState để ghi đè canScrollForwardcanScrollBackward – thao tác này hiện sẽ dừng cuộn khi mục đầu tiên hoặc cuối cùng nằm chính xác ở giữa màn hình. (Ia77d7)
  • Chúng tôi đã thêm các thành phần HorizontalPagerVerticalPager mới để giải quyết các vấn đề thường gặp, chẳng hạn như xử lý tiêu điểm và tương tác với thao tác vuốt của hệ thống để đóng có thể xảy ra trên Wear. (I2902b)
  • Chúng tôi đã thêm tính năng hỗ trợ cho LazyColumn để hiển thị keycontentType của ứng dụng thông qua layoutItems. (I1bd9c)

Sửa lỗi

  • Chúng tôi đã cập nhật ảnh động văn bản cong để mượt mà hơn bằng cách sử dụng cờ sơn. (I73a15)
  • Chúng tôi đã cập nhật tài liệu về Hộp thoại Material để phản ánh việc onDismissRequest không được gọi sau khi cờ hiển thị được đặt thành false. (Ifd8d6)
  • Khắc phục lỗi ảnh động hiệu ứng mờ viền trong Hộp thoại Material (I126bf)

Phiên bản 1.5.0-alpha02

Ngày 18 tháng 9 năm 2024

Phát hành androidx.wear.compose:compose-*:1.5.0-alpha02. Phiên bản 1.5.0-alpha02 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm tính năng hỗ trợ cho LazyColumn Wear Compose bằng ScreenScaffold (và thêm cách triển khai ScrollInfoProvider cho LazyColumnState). (Ib8d29)
  • Chúng tôi đã thêm viewportSize vào LazyColumnLayoutInfo. (I4187f)

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi để tính năng cuộn xoay hiện bị tắt trong ScalingLazyColumn khi cờ userScrollEnabled được đặt thành false. (I490ab, b/360295825)
  • Chúng tôi đã khắc phục lỗi để giải quyết khoảng đệm dọc không mong muốn trên văn bản cong. Chiều cao văn bản cong hiện khớp gần hơn với không gian thực tế mà văn bản sử dụng. Xin lưu ý rằng việc này có thể làm hỏng các kiểm thử ảnh chụp màn hình liên quan đến văn bản cong (Iaa6ef)
  • Chúng tôi đã khôi phục bản sửa lỗi cho Dialog, trong đó lệnh gọi lại onDismissRequest được gọi khi showDialog được đặt thành false, vì trong một số trường hợp, điều này dẫn đến việc onDismissRequest được gọi nhiều lần. (I64656)

Phiên bản 1.5.0-alpha01

Ngày 4 tháng 9 năm 2024

Phát hành androidx.wear.compose:compose-*:1.5.0-alpha01. Phiên bản 1.5.0-alpha01 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm một LazyColumn mới vào thư viện Wear Compose Foundation với các API LazyColumnStateLazyColumnScope được liên kết. Đây là nền tảng để tạo các hiệu ứng chuyển đổi và điều chỉnh theo tỷ lệ tuỳ chỉnh bằng Wear Compose. (Ib3b22)
  • Chúng tôi đã thêm phiên bản được lập chỉ mục của itemsIndexed vào LazyColumnScope như một phần của API LazyColumn mới. (Ib4a57)
  • Chúng tôi đã thêm đối tượng sửa đổi LazyColumn để hỗ trợ các hành vi điều chỉnh theo tỷ lệ và biến đổi. (Ie229a)
  • HierarchicalFocusCoordinator đã được nâng cấp lên thành phiên bản ổn định. (I31035)
  • Chúng tôi đã hỗ trợ thêm khoảng cách giữa các chữ cái cho văn bản cong. (I3c740)
  • Thêm tham số rotationLocked vào CurvedLayout.curvedComposable để dừng xoay các thành phần. (I66898)
  • Xoá API LocalUseFallbackRippleImplementation tạm thời khỏi material wear và material wear3 (I62282)
  • Xoá WearDevices.SQUARE khỏi chế độ xem trước nhiều @WearPreviewDevices (I11c02)

Sửa lỗi

  • SwipeToReveal hiện đặt các mục đã hiển thị ở phần hiển thị của màn hình. Điều này sẽ hữu ích khi SwipeToReveal được sử dụng trong một danh sách, vì vậy, các mục luôn có thể tương tác và không bao giờ nằm ngoài màn hình. (I38929)
  • SwipeToReveal hiện đặt lại lastActionType thành Không có khi animatedTo hoàn tất. (I59b03)
  • Cải thiện tài liệu cho tham số rotationLocked mới trên curvedComposable. (Ifbd57)
  • Khắc phục sự cố khi truyền NaN vào performFling của ScalingLazyColumnSnapFlingBehavior. (Ic13da)
  • Khắc phục lỗi đối tượng sửa đổi kích thước bố cục cong (I0fedf)
  • Chúng tôi đã thêm tính năng hỗ trợ khoảng cách giữa các chữ cái được chỉ định trong "sp". (I9f6e3)
  • Chúng tôi đã khắc phục lỗi trong Hộp thoại Material2, trong đó lệnh gọi lại onDismissRequest không được gọi khi hộp thoại trở nên vô hình (I64656)
  • Đổi tên LayoutCoordinates.introducesFrameOfReference thành LayoutCoordinates.introducesMotionFrameOfReference để phản ánh rõ hơn mục đích của lớp này. Đổi tên hàm liên quan để tính toán toạ độ dựa trên cờ đó. (I3a330)

Phiên bản 1.4

Phiên bản 1.4.0

Ngày 4 tháng 9 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0. Phiên bản 1.4.0 bao gồm các thay đổi sau.

Thay đổi quan trọng kể từ phiên bản 1.3.0

  • ScalingLazyColumnPicker hiện hỗ trợ phương thức nhập dữ liệu xoay theo mặc định – bạn nên xoá thao tác xử lý xoay rõ ràng và trì hoãn hành vi mặc định của hệ thống. Nếu cần, hãy sử dụng tham số rotaryScrollableBehavior để định cấu hình hành vi cuộn hoặc chụp nhanh – đối với hành vi chụp nhanh, bạn nên cung cấp hành vi chụp nhanh và khả năng cuộn bằng cách sử dụng tham số flingBehavior.
  • Modifier.rotaryScrollable là một đối tượng sửa đổi mới kết nối các sự kiện xoay với vùng chứa có thể cuộn, cho phép người dùng cuộn bằng núm vặn hoặc viền xoay trên thiết bị Wear OS.
  • SwipeDismissableNavHost hiện cung cấp ảnh động đầu vào cho các hiệu ứng chuyển đổi trong ứng dụng.
  • PositionIndicator hiện hiển thị theo mặc định khi màn hình xuất hiện lần đầu.

Các thay đổi khác

  • Để biết đầy đủ hơn về các thay đổi được giới thiệu trong phiên bản 1.3.0, hãy xem ghi chú phát hành beta01.

Phiên bản 1.4.0-rc01

Ngày 21 tháng 8 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-rc01. Phiên bản 1.4.0-rc01 bao gồm các thay đổi sau.

  • Chúng tôi đã cập nhật các phần phụ thuộc Compose lên 1.7.0-rc01 và ghim tính năng Điều hướng Wear Compose vào androidx.lifecycle 2.8.3

Phiên bản 1.4.0-beta03

Ngày 12 tháng 6 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-beta03. Phiên bản 1.4.0-beta03 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã cập nhật Modifier.rotaryScrollable để thay thế việc sử dụng "focusable" bằng "focusTarget" nhằm cải thiện hiệu suất. (Id294b)
  • Chúng tôi đã khắc phục vấn đề ProgressIndicator lặp lại thông báo trong TalkBack. (I94563)
  • Chúng tôi đã cập nhật hồ sơ cơ sở của thư viện Wear Compose. (I3cbc3)

Phiên bản 1.4.0-beta02

Ngày 29 tháng 5 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-beta02. Phiên bản 1.4.0-beta02 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã tăng chiều rộng ranh giới được truyền đến trình đọc màn hình từ văn bản cong để giải quyết các vấn đề về việc cắt bớt (Id865f).
  • Chúng tôi đã ràng buộc ranh giới của HorizontalPageIndicator được truyền đến trình đọc màn hình – trước đây, chỉ báo này chiếm toàn bộ màn hình (Id8d7a).

Phiên bản 1.4.0-beta01

Ngày 14 tháng 5 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-beta01. Phiên bản 1.4.0-beta01 bao gồm các thay đổi sau.

Bản phát hành 1.4-beta01 của Compose for Wear OS 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ừ những phần được đánh dấu là thử nghiệm). Wear Compose 1.4 có chức năng mới sau đây:

  • Chúng tôi đã thêm Modifier.rotaryScrollable, một đối tượng sửa đổi mới kết nối các sự kiện xoay với vùng chứa có thể cuộn, cho phép người dùng cuộn thông qua núm vặn hoặc vòng xoay trên thiết bị Wear OS. Ngoài ra, ScalingLazyColumnPicker hiện hỗ trợ phương thức nhập dữ liệu xoay theo mặc định. Sử dụng tham số rotaryScrollableBehavior để định cấu hình hành vi cuộn hoặc chụp nhanh. Đối với hành vi chụp nhanh, bạn cũng nên cung cấp tính năng chụp nhanh thông qua tham số flingBehavior để cuộn bằng thao tác chạm.
  • SwipeDismissableNavHost hiện cung cấp ảnh động đầu vào cho các hiệu ứng chuyển đổi trong ứng dụng.
  • PositionIndicator hiện hiển thị theo mặc định khi màn hình xuất hiện lần đầu.
  • SelectableChipSplitSelectableChip đã được thêm vào dưới dạng biến thể trên ToggleChip – hãy sử dụng biến thể này với RadioButton để cung cấp ngữ nghĩa có thể chọn thay vì ngữ nghĩa có thể bật/tắt cho khả năng hỗ trợ tiếp cận
  • ListHeader hiện hỗ trợ điều chỉnh chiều cao khi nội dung cần thêm chiều cao để phù hợp với cỡ chữ lớn.

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi trong đó các khối có thể chọn đã thông báo nhấn đúp để bật/tắt khi đã được chọn. (I7ed88)

Phiên bản 1.4.0-alpha08

Ngày 1 tháng 5 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha08. Phiên bản 1.4.0-alpha08 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thực hiện các thay đổi sau đây đối với API xoay mới: đổi tên Modifier.rotary thành Modifier.rotaryScrollable; đổi tên giao diện RotaryBehavior thành RotaryScrollableBehavior và hàm handleScrollEvent thành performScroll; đổi tên RotaryScrollableAdapter thành RotaryScrollableLayoutInfoProvider và xoá thuộc tính scrollableState. (I0c8a6)
  • Chúng tôi đã thực hiện thêm một số thay đổi đối với API xoay: đổi tên RotaryScrollableLayoutInfoProvider thành RotarySnapLayoutInfoProvider (vì nhà cung cấp này chỉ cần thiết cho thao tác xoay có chụp nhanh); thay đổi loại tham số snapOffset trong RotaryScrollableDefaults.snapBehavior snapOffset từ Int thành Dp. (Iddebe)
  • Chúng tôi đã đổi tên tham số clickInteractionSource trên SplitSelectableChip thành containerInteractionSource. (Ia8f84)
  • Chúng tôi đã cập nhật tên tham số gọi lại lượt nhấp cho SplitSelectableChip – từ onClick thành onSelectionClick và từ onBodyClick thành onContainerClick. (I32237)

Sửa lỗi

  • Chúng tôi đã cập nhật khoảng đệm theo chiều ngang cho PositionIndicator thành 2dp (trước đây là 5dp) để khắc phục lỗi PositionIndicator (thanh cuộn) chồng lên nội dung có thể cuộn. Xin lưu ý rằng thay đổi này dự kiến sẽ làm hỏng các ảnh chụp màn hình hiện có bao gồm PositionIndicator do thay đổi khoảng đệm. (I57472)
  • Chúng tôi đã cải thiện tài liệu cho API xoay mới bằng cách mô tả sự khác biệt giữa thiết bị xoay có độ phân giải thấp và độ phân giải cao. (I63abe)
  • Chúng tôi đã giải quyết một ngoại lệ ngoài phạm vi trong SwipeDismissableNavHost có thể được kích hoạt khi các giá trị alpha nội suy nhỏ hơn 0. (Ib75a1, b/335782510)

Phiên bản 1.4.0-alpha07

Ngày 17 tháng 4 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha07. Phiên bản 1.4.0-alpha07 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm Modifier.rotary, một đối tượng sửa đổi mới kết nối các sự kiện xoay với vùng chứa có thể cuộn, cho phép người dùng cuộn thông qua núm vặn hoặc vòng xoay trên thiết bị Wear OS. Ngoài ra, ScalingLazyColumn và Bộ chọn hiện hỗ trợ phương thức nhập dữ liệu xoay theo mặc định, với các phương thức nạp chồng mới bao gồm tham số rotaryBehavior để chỉ định cấu hình của thao tác cuộn hoặc chụp nhanh. Nếu bạn đặt tham số rotaryBehavior thành chụp nhanh, thì bạn cũng nên cung cấp tính năng chụp nhanh thông qua tham số flingBehavior để cuộn bằng thao tác chạm. (I2ef6f)
  • Các nguồn NestedScroll kéo và hất sẽ được thay thế bằng UserInputSideEffect để phù hợp với định nghĩa mở rộng của các nguồn này, hiện bao gồm cả ảnh động (Hiệu ứng phụ) và Bánh xe chuột và Bàn phím (UserInput). (I40579)
  • Chúng tôi đã thêm SelectableChipSplitSelectableChip để phân biệt rõ ràng hơn giữa các nút điều khiển bật/tắt như Switch/Checkbox và các nút điều khiển có thể chọn như RadioButton. Thao tác này sẽ thay thế các phương thức nạp chồng ToggleChip/SplitToggleChip đã thêm trước đó bằng các tham số selectionControl. (Ia0217)
  • Cập nhật đối tượng sửa đổi chế độ hiển thị của IndeterminateStrokeWidth trong ProgressIndicatorDefaults thành công khai. (I5b5a4)

Phiên bản 1.4.0-alpha06

Ngày 3 tháng 4 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha06. Phiên bản 1.4.0-alpha06 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã thêm một bản nháp nội bộ về tính năng hỗ trợ xoay, như một phần của nỗ lực lớn hơn để di chuyển hành vi Xoay vào AndroidX từ Horologist. (I617d1)
  • Chúng tôi đã thêm một bản nháp nội bộ về tính năng hỗ trợ haptics, trong nỗ lực lớn hơn là di chuyển hành vi Xoay vào AndroidX từ Horologist. (I5568a)

Phiên bản 1.4.0-alpha05

Ngày 20 tháng 3 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha05. Phiên bản 1.4.0-alpha05 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã đặt thuộc tính initialCenterItemIndexinitialCenterItemScrollOffset của ScalingLazyListState ở chế độ công khai. (I0c616)
  • Chúng tôi đã đặt FullScreenStrokeWidth từ ProgressIndicatorDefaults ở chế độ công khai. (Ibea23)

Sửa lỗi

  • Chúng tôi đã cải thiện hiệu suất của PositionIndicator bằng cách giảm số lượng lệnh gọi đến layoutInfo từ ScalingLazyColumn. (Idc83d)

Phiên bản 1.4.0-alpha04

Ngày 6 tháng 3 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha04. Phiên bản 1.4.0-alpha04 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm một phương thức nạp chồng mới cho ToggleChipSplitToggleChip. Phương thức này sẽ lấy tham số selectionControl thay vì tham số toggleControl. Bạn nên sử dụng thuộc tính này với thành phần điều khiển RadioButton để cung cấp ngữ nghĩa có thể chọn thay vì ngữ nghĩa có thể bật/tắt cho tính năng hỗ trợ tiếp cận (I1d6d9)
  • Chúng tôi đã cập nhật tên tham số cho phương thức nạp chồng selectionControl mới từ onSelected thành onSelect cho ToggleChipSplitToggleChip (I1a971)

Phiên bản 1.4.0-alpha03

Ngày 21 tháng 2 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha03. Phiên bản 1.4.0-alpha03 bao gồm các thay đổi sau.

Thay đổi về API

  • Ngừng sử dụng trình bao bọc Modifier.inspectable. API này sẽ tạo ra nhiều lỗi vô hiệu hoá đối tượng sửa đổi hơn mức cần thiết, vì vậy, bạn không nên sử dụng API này. Nhà phát triển nên triển khai phương thức inspectableProperties() trên ModifierNodeElement nếu muốn hiển thị các thuộc tính đối tượng sửa đổi cho công cụ. (Ib3236)

Sửa lỗi

  • Chúng tôi đã sửa lỗi tài liệu cho chú thích WearPreview*. (Id526d)

Phiên bản 1.4.0-alpha02

Ngày 7 tháng 2 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha02. Phiên bản 1.4.0-alpha02 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi trong tính năng vuốt để hiển thị, trong đó có thể tương tác với (và huỷ) một hành động đã thực hiện trên một mục bằng cách bắt đầu vuốt một mục khác.(Ide059)
  • Chúng tôi đã cập nhật ListHeader để hỗ trợ điều chỉnh chiều cao khi nội dung cần thêm chiều cao để phù hợp với kích thước phông chữ lớn. (I7290c, b/251166127)

Phiên bản 1.4.0-alpha01

Ngày 24 tháng 1 năm 2024

Phát hành androidx.wear.compose:compose-*:1.4.0-alpha01. Phiên bản 1.4.0-alpha01 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm ảnh động nhập vào SwipeDismissableNavHost cho các hiệu ứng chuyển đổi trong ứng dụng.(cfeb79a)
  • PositionIndicator hiện hiển thị theo mặc định khi màn hình xuất hiện lần đầu. Thay đổi này được đưa ra để giúp đáp ứng các nguyên tắc về Chất lượng của Wear. Rất tiếc, điều này có nghĩa là bạn cần cập nhật các thử nghiệm ảnh chụp màn hình trên các màn hình có chứa PositionIndicator, vì trước đây PositionIndicator sẽ không hiển thị. (419cef7)

Thay đổi về API

  • Chúng tôi đã thêm một API gợn sóng mới trong thư viện wear:compose-materialwear:compose-material3 để thay thế rememberRipple không còn được dùng nữa. Đồng thời thêm một CompositionLocal, LocalUseFallbackRippleImplementation tạm thời để chuyển các thành phần Material về sử dụng các API rememberRipple/RippleTheme không dùng nữa. Tính năng này sẽ bị xoá trong bản phát hành ổn định tiếp theo và chỉ nhằm mục đích hỗ trợ di chuyển tạm thời trong trường hợp bạn đang cung cấp RippleTheme tuỳ chỉnh. Hãy xem developer.android.com để biết thông tin di chuyển và thông tin cơ bản khác về thay đổi này. (af92b21)
  • Chúng tôi đã cập nhật ColorScheme để không thể thay đổi, khiến các bản cập nhật màu riêng lẻ kém hiệu quả hơn, nhưng giúp việc sử dụng màu phổ biến trở nên hiệu quả hơn. Lý do đằng sau thay đổi này là phần lớn ứng dụng sẽ không có trường hợp sử dụng chính là cập nhật từng màu riêng lẻ. Bạn vẫn có thể làm việc này nhưng sẽ phải kết hợp lại nhiều hơn trước. Do đó, chúng ta sẽ giảm đáng kể số lượng gói thuê bao trạng thái thông qua tất cả mã Material và sẽ tác động đến chi phí khởi chạy và thời gian chạy của các trường hợp sử dụng tiêu chuẩn hơn. (f5c48b7)
  • Các thành phần Wear material và Wear material3 hiển thị MutableInteractionSource trong API của chúng đã được cập nhật để hiện MutableInteractionSource có thể nhận giá trị rỗng và mặc định là rỗng. Không có thay đổi ngữ nghĩa nào ở đây: việc truyền giá trị rỗng có nghĩa là bạn không muốn chuyển MutableInteractionSource lên trên và MutableInteractionSource sẽ được tạo bên trong thành phần nếu cần. Việc thay đổi thành giá trị rỗng cho phép một số thành phần không bao giờ phân bổ MutableInteractionSource và cho phép các thành phần khác chỉ tạo một thực thể khi cần, giúp cải thiện hiệu suất trên các thành phần này. Nếu không sử dụng MutableInteractionSource mà bạn truyền đến các thành phần này, bạn nên truyền giá trị rỗng. Bạn cũng nên thực hiện các thay đổi tương tự trong các thành phần của riêng mình. (f8fa920)
  • Chúng tôi đã cập nhật rememberExpandableState để lưu trạng thái mở rộng. Điều này đảm bảo dữ liệu được lưu trữ khi chuyển đến màn hình khác và được khôi phục khi quay lại màn hình ban đầu. (5c80095)

Sửa lỗi

  • Chúng tôi đã cập nhật chế độ cài đặt ReduceMotion để sử dụng trình nghe nhận biết vòng đời. (7c6b122)
  • Chúng tôi đã cập nhật Trình nghe của TouchExplorationStateProvider để nhận biết vòng đời (be28b01)
  • Chúng tôi đã xoá lớp materialcore cho CompactButton để cải thiện hiệu suất (25db8e9)
  • Chúng tôi đã cải thiện BasicSwipeToDismissBox để bù đắp NaN hiệu quả hơn nhằm tránh các trường hợp ngoại lệ (b983739)
  • Chúng tôi đã cập nhật BasicSwipeToDismissBox để đảm bảo các giá trị alpha nằm trong phạm vi 0,1
  • Chúng tôi đã khắc phục lỗi trong ToggleButton, SplitToggleButton, Checkbox, SwitchRadioButton để thông báo hỗ trợ tiếp cận không bị lặp lại (trước đây, các vai trò ngữ nghĩa bị trùng lặp) (d11eeb7)

Phiên bản 1.3

Phiên bản 1.3.1

Ngày 3 tháng 4 năm 2024

Phát hành androidx.wear.compose:compose-*:1.3.1. Phiên bản 1.3.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi trong tính năng vuốt để hiển thị, trong đó có thể tương tác với (và huỷ) một hành động đã thực hiện trên một mục bằng cách bắt đầu vuốt một mục khác. (Ide059)

Phiên bản 1.3.0

Ngày 24 tháng 1 năm 2024

Phát hành androidx.wear.compose:compose-*:1.3.0. Phiên bản 1.3.0 bao gồm các thay đổi sau.

Những thay đổi quan trọng kể từ phiên bản 1.2.0

  • Lớp SwipeToDismissBoxState, tập hợp liệt kê SwipeToDismissValue và hàm mở rộng Modifier.edgeSwipeToDismiss hiện là một phần của gói androidx.wear.compose.foundation, thay vì gói androidx.wear.compose.material. Cấu trúc mới cập nhật này cho phép bạn triển khai tính năng xử lý cử chỉ độc lập với các yếu tố thiết kế khác. Quy trình làm việc của Material Design, chẳng hạn như áp dụng màu từ một giao diện đã định cấu hình, được xử lý riêng biệt.
  • Các lớp SwipeToRevealCardSwipeToRevealChip giúp bạn triển khai recommended swipe-to-reveal guidance. Lớp SwipeToRevealSample minh hoạ cách sử dụng các thành phần này.
  • Bản phát hành 1.3.0-alpha02 của chúng tôi đã giới thiệu một thay đổi khiến các đối tượng ChipToggleChip tăng chiều cao để hỗ trợ tốt hơn việc điều chỉnh tỷ lệ phông chữ do người dùng chọn. Điều này có thể gây ra một số sự cố cắt bớt. Để khắc phục vấn đề này, hình dạng large cho MaterialTheme hiện sử dụng bán kính góc lớn hơn (26 dp thay vì 24 dp). Các đối tượng ChipToggleChip sử dụng bán kính góc mới này để tránh cắt nội dung ở các góc của Khối và ToggleChip.

    • Hầu hết ChipsToggleChips không thay đổi, với chiều cao mặc định là 52 dp. Tuy nhiên, các đối tượng ChipToggleChip chứa nhiều dòng văn bản nhãn chính hoặc phụ hoặc chiều cao đã bị ghi đè có thể khiến các kiểm thử ảnh chụp màn hình bị lỗi.

Các thay đổi khác

Để biết đầy đủ hơn về các thay đổi được giới thiệu trong phiên bản 1.3.0, hãy xem ghi chú phát hành beta01.

Đề xuất triển khai

  • Nếu ứng dụng của bạn cho phép người dùng kéo nội dung trên màn hình, chẳng hạn như trong ứng dụng dựa trên bản đồ, hãy tắt tính năng xử lý thao tác vuốt bằng cách đặt userSwipeEnabled thành false trong thành phần kết hợp SwipeDismissableNavHost và thêm một nút cho phép người dùng chuyển đến màn hình trước.
  • Để tắt ảnh động cho chỉ báo vị trí trong ảnh động mờ dần và thay đổi vị trí trong danh sách cuộn, hãy sử dụng đối tượng SnapSpec.
  • Trong khi chờ ứng dụng đa phương tiện tải nội dung để phát, hãy hiển thị một thành phần kết hợp Placeholder trống.
  • Để tạo một tập hợp các mục có thể mở rộng theo yêu cầu, hãy cân nhắc sử dụng lớp ExpandableStateMapping thử nghiệm.

Phiên bản 1.3.0-rc01

Ngày 10 tháng 1 năm 2024

Phát hành androidx.wear.compose:compose-*:1.3.0-rc01. Phiên bản 1.3.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã cập nhật hình dạng lớn MaterialTheme để sử dụng bán kính góc bo tròn 26 dp. Giờ đây, Chip và ToggleChip sẽ sử dụng bán kính này. Thay đổi này là cần thiết để hỗ trợ việc điều chỉnh chiều cao khi nội dung cần thêm chiều cao để phù hợp với kích thước phông chữ lớn. Nếu không, hình dạng sân vận động hiện tại sẽ cắt bớt một số nội dung văn bản.

    Văn bản bị cắt ở các góc
    Hình 1: Văn bản bị cắt ở các góc.
    Văn bản không bị cắt bớt
    Hình 2: Văn bản không bị cắt.

    Thay đổi này có thể gây ra lỗi trong kiểm thử ảnh chụp màn hình. (I2e6ae)

Phiên bản 1.3.0-beta02

Ngày 13 tháng 12 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-beta02. Phiên bản 1.3.0-beta02 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã khôi phục chuyển động vuốt dự kiến trong BasicSwipeToDismissBox. Điều này đã được thay đổi trong một bản phát hành trước đó, chẳng hạn như phần trượt của quá trình chuyển đổi xảy ra trong khi ngón tay chạm vào màn hình. (Id8e76)

Phiên bản 1.3.0-beta01

Ngày 15 tháng 11 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-beta01. Phiên bản 1.3.0-beta01 bao gồm các thay đổi sau.

Bản phát hành 1.3-beta01 của Compose for Wear OS 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ừ những phần được đánh dấu là thử nghiệm). Wear Compose 1.3 có chức năng mới sau đây:

  • SwipeToDismissBoxState, SwipeToDismissValueModifier.edgeSwipeToDismiss đã được di chuyển từ androidx.wear.compose.material sang androidx.wear.compose.foundation, cùng với hoạt động triển khai cơ bản vuốt để đóng trong BasicSwipeToDismissBox. Điều này cho phép xử lý cử chỉ vuốt để đóng độc lập với Material Design, ví dụ: từ SwipeDismissableNavHost trong androidx.wear.compose.navigation. Bạn vẫn nên sử dụng SwipeToDismissBox từ androidx.wear.compose.material với Material Design vì lớp này lấy màu từ MaterialTheme, sau đó uỷ quyền việc triển khai còn lại cho BasicSwipeToDismissBox.
  • SwipeDismissableNavHost hiện hỗ trợ tham số userSwipeEnabled mới để có thể tắt tính năng xử lý thao tác vuốt cho các màn hình không cần đến tính năng này.
  • BasicSwipeToDismissBox đã cải thiện khả năng xử lý tiêu điểm bằng HierarchicalFocusCoordinator.
  • SwipeToReveal có các thành phần kết hợp SwipeToRevealCardSwipeToRevealChip mới trong Material tuân theo hướng dẫn về trải nghiệm người dùng được đề xuất cho CardChip. Phương thức này cũng hỗ trợ thao tác huỷ cho hành động phụ.
  • DefaultTextStyle hiện tắt khoảng đệm phông chữ để nhất quán trên Nền tảng Android.
  • ChipToggleChip hiện điều chỉnh chiều cao để phù hợp với nội dung đã tăng lên do phông chữ lớn để hỗ trợ tiếp cận
  • PositionIndicator hiện có thông số kỹ thuật ảnh động riêng cho ảnh động mờ dần, mờ dần và thay đổi vị trí. Vì lý do hiệu suất, bạn nên tắt tính năng làm mờ và thay đổi vị trí khi sử dụng với danh sách cuộn được.
  • ExpandableStateMapping cung cấp một cách mới để tạo ExpandableStates khi cần tạo theo yêu cầu và không nhất thiết phải có phạm vi @Composable.
  • Placeholder hiện cho phép đặt lại nếu nội dung không còn ở trạng thái sẵn sàng. Ngoài ra, chế độ cài đặt giảm chuyển động hiện áp dụng cho hiệu ứng lấp lánh và chuyển động xoá trên Placeholder.

Lỗi đã biết

  • PositionIndicator ban đầu không xuất hiện khi màn hình hiển thị lần đầu. Chúng tôi dự định thực hiện một thay đổi trong bản phát hành alpha 1.4 ban đầu để hiển thị thông báo này ban đầu nhưng không có ảnh động nào.

Thay đổi về API

  • Chúng tôi đã đổi tên cấp độ Cơ sở SwipeToDismissBox thành BasicSwipeToDismissBox. Điều này giúp phân biệt rõ ràng hơn giữa thành phần cấp Foundation và SwipeToDismissBox cấp Material. Phần sau sẽ lấy màu từ MaterialTheme để sử dụng trong scrim và uỷ quyền việc triển khai còn lại cho BasicSwipeToDismissBox. (Ibecfc)
  • Chúng tôi đã đánh dấu rememberExpandableStateMapping là thử nghiệm và cải thiện hiệu suất của expandableItem. (I5f6bc)
  • Chúng tôi đã thay thế lớp SwipeToRevealAction trong API Thẻ và Khối SwipeToReveal của Material bằng một API dựa trên khe bằng cách sử dụng các thành phần kết hợp SwipeToRevealPrimaryAction, SwipeToRevealSecondaryActionSwipeToRevealUndoAction. Vui lòng xem mã mẫu để biết ví dụ về cách sử dụng API mới. (Ia8943)
  • Chúng tôi đã thay thế cờ ảnh động PositionIndicator bằng các tham số AnimationSpec. Bạn có thể tắt từng ảnh động bằng cách truyền snap dưới dạng AnimationSpec. (I6c523)

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi do văn bản cong bị hạn chế khi kích thước bị hạn chế (I50efe)
  • Chúng tôi đã giải quyết một sự cố NaN tiềm ẩn liên quan đến curvedComposable (I970eb)
  • Chúng tôi đã huỷ bỏ việc xoá ảnh động làm nổi bật thay đổi vị trí trên PositionIndicator. (Ieb424)
  • Chúng tôi đã xoá lớp material-core cho khối material để cải thiện hiệu suất của khối này. (If2dcb)

Phiên bản 1.3.0-alpha08

Ngày 18 tháng 10 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha08. Phiên bản 1.3.0-alpha08 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm các cờ riêng lẻ vào các phương thức nạp chồng PositionIndicator để kiểm soát nhiều ảnh động: showFadeInAnimation, showFadeOutAnimationshowPositionAnimation. API trước đó đã ngừng hoạt động và chuyển tiếp các lệnh gọi đến API mới. Vì lý do hiệu suất và tính nhất quán của trải nghiệm người dùng, khi sử dụng PositionIndicator với danh sách có thể cuộn, bạn nên tắt cờ showFadeInAnimationshowPositionAnimation. Nếu PositionIndicator được dùng làm chỉ báo độc lập, chẳng hạn như để thay đổi âm lượng, thì bạn nên bật cả 3 ảnh động. (I44294)
  • Chúng tôi đã ngừng sử dụng Material SwipeToDismissBoxState, SwipeToDismissValueedgeSwipeToDismiss sau khi di chuyển chức năng Vuốt để đóng sang wear.compose.foundation. Vui lòng thay thế bằng các wear.compose.foundation tương đương. (Iee8c9)

Sửa lỗi

  • Chúng tôi đã cập nhật hồ sơ cơ sở cho thư viện nền tảng, tài liệu và điều hướng Wear Compose. (Idb060)
  • Chúng tôi đã huỷ bỏ một thay đổi về hành vi đối với PositionIndicator được giới thiệu trong một CL trước đó, chẳng hạn như PositionIndicator được tạo hiệu ứng động khi màn hình hiển thị ban đầu. Chúng tôi dự định thực hiện một thay đổi tương tự trong bản alpha 1.4 ban đầu để PositionIndicator hiển thị ban đầu nhưng không có ảnh động nào. (I41843)
  • Chúng tôi đã giải quyết một số vấn đề về hiệu suất trong PositionIndicator. (I1c654, b/302399827)
  • Chúng tôi đã tối ưu hoá hiệu suất của hoạt động triển khai nhà cung cấp trạng thái khám phá cảm ứng mặc định để dựa vào State<Boolean> thay vì trạng thái phái sinh. (Ieec4d)
  • Chúng tôi đã đặt hình chữ nhật systemGestureExclusion cho Android 13 trở lên. (Ib1f4b)

Phiên bản 1.3.0-alpha07

Ngày 4 tháng 10 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha07. Phiên bản 1.3.0-alpha07 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm các cờ riêng lẻ vào PositionIndicator để kiểm soát nhiều ảnh động: showFadeInAnimation, showFadeOutAnimationshowPositionAnimation. API trước đó đã ngừng hoạt động và chuyển tiếp các lệnh gọi đến API mới. Vì lý do hiệu suất và tính nhất quán của trải nghiệm người dùng, khi sử dụng PositionIndicator với danh sách có thể cuộn, bạn nên tắt cờ showFadeInAnimationshowPositionAnimation. Nếu PositionIndicator được dùng làm chỉ báo độc lập, chẳng hạn như để thay đổi âm lượng, thì bạn nên bật cả 3 ảnh động. (Ia2d63)

Sửa lỗi

  • Chúng tôi đã cải thiện tính năng vuốt để hiển thị chuyển động bằng cách thêm ảnh động mờ vào văn bản hành động chính và làm mờ hành động phụ/thay đổi tỷ lệ biểu tượng khi mở rộng vuốt đầy đủ. (Ib7223)
  • Bạn nên hỗ trợ tiếp cận các thao tác Vuốt để hiển thị và chúng tôi đã thêm các thao tác hỗ trợ tiếp cận tuỳ chỉnh vào các mẫu Vuốt để hiển thị. (I42224)
  • Chúng tôi đã cải thiện hiệu suất của SwipeToDismissBox, bao gồm cả việc tái cấu trúc để đảm bảo logic ban đầu không kích hoạt quá trình kết hợp lại. SwipeToDismissBox hiện được vẽ ở kích thước toàn màn hình. (Ie0aa2)
  • Chúng tôi đã khắc phục lỗi PositionIndicator biến mất không chính xác. (I2091a)
  • Cải thiện hiệu suất của PositionIndicator bằng cách tối ưu hoá việc kết hợp lại. Sau đó, chúng tôi đã thêm các cờ mới để kiểm soát ảnh động (fadeIn, fadeOutpositionChange) (xem phần Thay đổi API) (Ifac7d)
  • Chúng tôi đã thêm các bài kiểm thử Microbenchmark cho PositionIndicator (Idf875)

Phiên bản 1.3.0-alpha06

Ngày 20 tháng 9 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha06. Phiên bản 1.3.0-alpha06 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã thêm tính năng hỗ trợ cho Modifier.edgeSwipeToDismiss bằng SwipeToReveal. (I95774, b/293444286)
  • Chúng tôi đã thêm các mẫu cho Material SwipeToRevealChipSwipeToRevealCard. (Ieb974)
  • Chúng tôi đã cập nhật hồ sơ cơ sở cho thư viện Wear Compose Foundation và Material. (I1dd1f)

Phiên bản 1.3.0-alpha05

Ngày 6 tháng 9 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha05. Phiên bản 1.3.0-alpha05 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã thêm tính năng xử lý trong tính năng Vuốt để hiển thị để chỉ có thể vuốt một mục tại một thời điểm. (I3cd7a)
  • Cải thiện tài liệu về ScalingLazyColumnDefaults để phù hợp hơn với hành vi thực tế của lớp này. (I886d3)

Phiên bản 1.3.0-alpha04

Ngày 23 tháng 8 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha04. Phiên bản 1.3.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm tính năng hỗ trợ huỷ cho thao tác phụ của SwipeToReveal. (I7a22d)

Thay đổi về API

  • Thêm HorizontalPageIndicator vào thư viện Wear Material3. (Ifee99)
  • Cập nhật công cụ xem trước Wear Compose để sử dụng thư viện androidx.wear.tooling.preview. (Ib036e)

Sửa lỗi

  • Khắc phục lỗi trong các nút tròn khi đối tượng sửa đổi không được liên kết chính xác. (I5e162)

Phiên bản 1.3.0-alpha03

Ngày 9 tháng 8 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha03. Phiên bản 1.3.0-alpha03 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm hai thành phần kết hợp mới trong Material để triển khai SwipeToReveal bằng Thẻ và Khối. Các thành phần kết hợp này tuân theo hướng dẫn trải nghiệm người dùng được đề xuất về thành phần và giúp nhà phát triển dễ dàng triển khai SwipeToReveal với các thành phần hiện có trong Wear Material. (I7ec65)
  • Chúng tôi đã bật chú thích FloatRange dưới dạng các quy tắc ràng buộc API, như đã nêu trước đó trong phần bình luận. (Icb401)

Sửa lỗi

  • Chúng ta đã di chuyển logic cuộn ban đầu của ScalingLazyColumn vào bên trong onGloballyPositioned(). (Ic90f1)
  • Chúng ta hiện đang sử dụng drawWithCache trong PositionIndicator, ProgressIndicatorSelectionControls để tối ưu hoá việc phân bổ nét vẽ. (I5f225, b/288234617)
  • Chúng tôi đã khắc phục chế độ hiển thị dấu đánh vào hộp đánh dấu ở trạng thái bị tắt. (Ib25bf)
  • Chúng tôi đã cập nhật Placeholder để cho phép đặt lại nhằm hiển thị phần giữ chỗ nếu nội dung không còn ở trạng thái sẵn sàng. (Ibd820)
  • Chúng tôi đã khắc phục một số lỗi kiểm thử Placeholder không ổn định (Idb560)

Phiên bản 1.3.0-alpha02

Ngày 26 tháng 7 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha02. Phiên bản 1.3.0-alpha02 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cung cấp ExpandableStateMapping, một cách mới để tạo ExpandableStates, cho các trường hợp cần tạo theo yêu cầu, không nhất thiết phải trong phạm vi @Composable (Iff9e0)
  • SwipeToDismissBox đã được di chuyển từ gói androidx.wear.compose.material sang gói androidx.wear.compose.foundation. (I275fb)
  • Cập nhật các tệp API để chú thích việc tạm ngưng khả năng tương thích. (I8e87a, b/287516207)
  • Chúng tôi đã công khai các hằng số chiều cao cho Chip, CompactChipToggleChip (Idbfde)
  • Chúng tôi đã đặt khoảng đệm ngang và dọc cho ChipCompactChip ở chế độ công khai. (Ieeaf7)
  • Thêm chức năng tắt tính năng xử lý thao tác vuốt trong SwipeDismissableNavHost thông qua tham số userSwipeEnabled mới. (Id2a0b, b/230865655)
  • Chúng tôi đã cập nhật thư viện Điều hướng Wear Compose để sử dụng SwipeToDismissBox mới từ Wear Compose Foundation. (I4ff8e)

Sửa lỗi

  • Chúng tôi đã khắc phục lỗi thứ tự z, trong đó expandedItem không hiển thị nội dung chính xác sau khi nhấp vào hành vi của nút khi có nút. (I1899d, b/289991514)
  • Cải thiện khả năng xử lý tiêu điểm của SwipeToDismissBox (và do đó là SwipeDismissableNavHost) bằng cách sử dụng HierarchicalFocusCoordinator (I45362, b/277852486)
  • Chúng tôi đã khắc phục lỗi xử lý cử chỉ trong SwipeableV2 . (I89737)
  • Chúng tôi đã hoàn tất hồ sơ cơ sở cho bản phát hành 1.2. (Id5740)
  • Sau khi di chuyển SwipeToDismissBox sang Foundation, việc triển khai SwipeToDismissBox của Material hiện chuyển tiếp đến Foundation và cung cấp các giá trị màu mặc định từ giao diện của Foundation.(If8451)
  • Chúng tôi đã thêm ngữ nghĩa tiêu đề vào ListHeader. (Ic5420)
  • ChipToggleChip hiện sẽ điều chỉnh chiều cao để phù hợp với nội dung đã tăng lên do phông chữ lớn hỗ trợ tiếp cận, khi cần. (Iaf302)
  • Sửa lỗi trong vai trò ngữ nghĩa của vùng có thể nhấn của SplitToggleChip, để hỗ trợ tiếp cận. (Ieed3a)
  • Chế độ cài đặt giảm chuyển động hiện tắt hiệu ứng lấp lánh và chuyển động xoá trên phần giữ chỗ. (I91046)
  • StepperInlineSlider hiện hỗ trợ các lượt nhấp lặp lại khi nhấn và giữ để bạn có thể nhanh chóng tăng/giảm giá trị của StepperInlineSlider bằng cách giữ nút + hoặc –. (I27359)

Phiên bản 1.3.0-alpha01

Ngày 21 tháng 6 năm 2023

Phát hành androidx.wear.compose:compose-*:1.3.0-alpha01. Phiên bản 1.3.0-alpha01 bao gồm các thay đổi sau.

Sửa lỗi

  • Như đã thông báo trong 1.2.0-alpha071.2.0-alpha10, chúng tôi hiện đang thay đổi DefaultTextStyle để tắt khoảng đệm phông chữ nhằm đảm bảo tính nhất quán trên Nền tảng Android. Điều này sẽ giải quyết một số trường hợp cắt văn bản có kích thước phông chữ lớn và cũng có thể ảnh hưởng đến bố cục màn hình, vì vậy, bạn cần cập nhật các thử nghiệm ảnh chụp màn hình. Ví dụ: chúng ta thấy văn bản được cắt ở đây (Ic6a86)
Văn bản bị cắt với cỡ chữ lớn
Hình 1: Văn bản bị cắt.
  • Không còn xuất hiện khi bạn tắt khoảng đệm phông chữ:
Văn bản không bị cắt với cỡ chữ lớn
Hình 2: Văn bản không bị cắt.
  • Chúng tôi đã cập nhật wear.compose.foundation thành phần phụ thuộc API của wear.compose.material (I72004, b/285404743)
  • Chúng tôi đã khắc phục lỗi trong SwipeToDismissBox. Giờ đây, các khoá nền và nội dung được truyền đến khối ghi nhớ để tạo các đối tượng sửa đổi mới khi nội dung hoặc nền thay đổi. (Ib876c, b/280392104)
  • Chúng tôi đã cập nhật TimeText để sử dụng ngôn ngữ khi chọn định dạng thời gian 12 hoặc 24 giờ. (If4a3d)
  • Chúng tôi đã khắc phục sự không nhất quán trong các tham số mặc định SwipeToDismissBox contentScrimColor. (I2d70f)
  • Chúng tôi đã cải thiện khả năng xử lý chuyển động trong SwipeToReveal. (I28fb7)

Lỗi đã biết

  • Hỗ trợ kích thước phông chữ do người dùng định cấu hình là một yêu cầu về hỗ trợ tiếp cận. Chúng tôi biết rằng Khối nhiều dòng có thể dẫn đến việc cắt văn bản khi hiển thị với kích thước phông chữ lớn. Vì vậy, chúng tôi sẽ cập nhật Khối trong phiên bản alpha 1.3 ban đầu để điều chỉnh chiều cao trong những trường hợp đó.

Phiên bản 1.2

Phiên bản 1.2.1

Ngày 18 tháng 10 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.1. Phiên bản 1.2.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục lỗi PositionIndicator biến mất không chính xác. (7a167f)

Phiên bản 1.2.0

Ngày 9 tháng 8 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0. Phiên bản 1.2.0 bao gồm các thay đổi sau.

Thay đổi quan trọng kể từ phiên bản 1.1.0

  • Bản phát hành chính thức của Compose cho Wear OS 1.2.0 (đọc thêm)
  • Để biết danh sách các thay đổi chính trong Wear Compose 1.2, hãy xem ghi chú phát hành của (Compose cho Wear OS 1.2 Beta01)

Phiên bản 1.2.0-rc01

Ngày 26 tháng 7 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-rc01. Phiên bản 1.2.0-rc01 bao gồm bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã hoàn tất hồ sơ cơ sở cho bản phát hành 1.2 (Id5740)

Phiên bản 1.2.0-beta02

Ngày 7 tháng 6 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-beta02. Phiên bản 1.2.0-beta02 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm biến LocalReduceMotion CompositionLocal thử nghiệm mới để tắt tính năng điều chỉnh theo tỷ lệ và làm mờ trên ScalingLazyColumn. (I58024)

Sửa lỗi

  • Chúng tôi đã cập nhật hồ sơ cơ sở cho nền tảng Wear Compose và thư viện Material(I4725d)
  • Khắc phục sự không nhất quán trong giá trị mặc định của các tham số SwipeToDismissBox contentScrimColor (I2d70f)
  • Chúng tôi đã khắc phục giá trị mặc định DefaultTextStyle dùng cho chế độ cài đặt IncludeFontPadding (I737ed)

Phiên bản 1.2.0-beta01

Ngày 24 tháng 5 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-beta01. Phiên bản 1.2.0-beta01 bao gồm các thay đổi sau.

Những điểm mới trong Compose cho Wear OS 1.2

Bản phát hành 1.2-beta01 của Compose for Wear OS 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ừ những phần được đánh dấu là thử nghiệm). Wear Compose 1.2 có chức năng mới sau đây:

  • expandableItemexpandableItems là hai thành phần Foundation mới hỗ trợ mở rộng các mục trong ScalingLazyColumn. Sử dụng expandableItem cho một mục có thể mở rộng, chẳng hạn như Văn bản có số dòng. Sử dụng expandableItems cho một nhóm các mục có thể mở rộng và expandableButton để đơn giản hoá việc tạo nút thu gọn sau khi mở rộng nội dung.
  • HierarchicalFocusCoordinator – thành phần kết hợp thử nghiệm này cho phép đánh dấu các cây phụ của cấu trúc (composition) là đã bật hoặc đã tắt tiêu điểm.
  • Picker – API hiện bao gồm userScrollEnabled để kiểm soát việc bộ chọn có hoạt động cho thao tác cuộn của người dùng hay không.
  • PickerGroup – một thành phần kết hợp mới để xử lý nhiều bộ chọn cùng nhau. Mã này xử lý tiêu điểm giữa các bộ chọn bằng API HierarchicalFocusCoordinator và cho phép tự động căn giữa các mục bộ chọn.
  • Placeholder – chúng tôi đã cập nhật hiệu ứng sáng lên và ảnh động "Quét chuyển". Hiệu ứng quét chuyển hiện được áp dụng ngay lập tức khi nội dung sẵn sàng.
  • ScalingLazyColumn – chúng tôi đã di chuyển ScalingLazyColumn và các lớp liên kết từ androidx.wear.compose.material.ScalingLazyColumn sang androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Vui lòng cập nhật để sử dụng phiên bản Foundation.Lazy.
  • SwipeToReveal – chúng tôi đã thêm tính năng hỗ trợ thử nghiệm cho thao tác vuốt để hiển thị dưới dạng phương thức truy cập vào các thao tác phụ, bổ sung cho mẫu "nhấn và giữ" hiện có.
  • Stepper – hiện có một phương thức nạp chồng với tham số enableRangeSemantics bổ sung để hỗ trợ việc tắt ngữ nghĩa phạm vi mặc định.
  • Previews – chúng tôi đã thêm các chú thích tuỳ chỉnh sau đây để xem trước các thành phần kết hợp trên màn hình Wear: WearPreviewSmallRound xem trước thành phần kết hợp trên thiết bị tròn nhỏ; WearPreviewLargeRound xem trước thành phần kết hợp trên thiết bị tròn lớn; WearPreviewSquare xem trước thành phần kết hợp trên thiết bị hình vuông. Ngoài ra, các chú thích sau đây và chú thích nhiều bản xem trước: WearPreviewFontScales xem trước các thành phần kết hợp trên thiết bị Wear có nhiều kích thước phông chữ, trong khi WearPreviewDevices xem trước các thành phần kết hợp trên nhiều thiết bị Wear.
  • Chúng tôi đã thêm DefaultTextStyle vào Wear Compose, theo mặc định, thuộc tính PlatformTextStyle.includeFontPadding sẽ là true (đây là chế độ cài đặt hiện tại). Điều này sẽ cho phép chúng tôi đồng bộ hoá việc tắt khoảng đệm phông chữ theo mặc định với các thư viện Compose trong phiên bản alpha 1.3 ban đầu – hãy xem 1.2.0-alpha10 để biết thêm thông tin.

Tính năng mới

  • Chúng tôi thêm tính năng hỗ trợ thử nghiệm cho ảnh động chuyển tỷ lệ và mờ bị tắt khi chế độ cài đặt reduce_motion đang bật. (I58024)

Sửa lỗi

  • Cải thiện tài liệu cho angularWidthDp trong CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost hiện ghi lại một cảnh báo với các nguyên nhân có thể gây ra ngăn xếp lui trống. Việc này được thực hiện để ngăn chặn các sự cố không mong muốn do IllegalArgumentException bị gửi khi ngăn xếp lui trống. (I04a81, b/277700155)

Phiên bản 1.2.0-alpha10

Ngày 10 tháng 5 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha10. Phiên bản 1.2.0-alpha10 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm tính năng hỗ trợ cho thao tác Vuốt để hiển thị, như một phương tiện để truy cập vào các thao tác phụ. Mẫu này bổ sung cho mẫu "nhấn và giữ", cách hiện tại mà người dùng có thể hiển thị (các) thao tác phụ. (I60862)

Thay đổi về API

  • Chúng tôi đã thêm RevealScope vào các thành phần kết hợp hành động trong SwipeToReveal. Thành phần này cho phép truy cập vào độ dời tại thời điểm các hành động bổ sung được hiển thị. (I3fd56)

Sửa lỗi

  • Khắc phục vấn đề ScalingLazyColumn bị treo trên Wear API 33 sau khi hất (Ic4599)
  • Chúng tôi đã cải thiện một số hiệu suất cho PositionIndicator để giảm hiện tượng giật. (I35e92)
  • Chúng tôi đã khắc phục lỗi trong Khối và CompactChip, trong đó vai trò ngữ nghĩa không còn được đặt thành Role.Button. (I93f91, b/277326264)

Lỗi đã biết

  • Chúng tôi đã xác định được một lỗi trong Android Studio khiến bản xem trước không hiển thị được khi được chú thích bằng @WearPreviewDevices và @WearPreviewFontScales. Chúng tôi dự định sẽ sớm phát hành bản sửa lỗi. Xin lưu ý rằng các chú thích xem trước Wear khác hoạt động như dự kiến trong Android Studio Giraffe 2022.3.1 trở lên.

  • Trong phiên bản 1.2.0-alpha07, chúng tôi đã thêm DefaultTextStyle vào Wear Compose, duy trì giá trị PlatformTextStyle.includeFontPadding hiện có là true – đối với nền, hãy xem phần Sửa khoảng đệm phông chữ trong Compose. Chúng tôi sẽ thay đổi DefaultTextStyle để tắt khoảng đệm phông chữ trong phiên bản alpha 1.3 ban đầu, nhằm đảm bảo tính nhất quán trên Nền tảng Android. Điều này sẽ giải quyết một số trường hợp cắt văn bản có kích thước phông chữ lớn và cũng có thể ảnh hưởng đến bố cục màn hình, vì vậy, bạn cần cập nhật các thử nghiệm ảnh chụp màn hình. Ví dụ: với kích thước phông chữ lớn, chúng ta thấy văn bản bị cắt ở đây:

Văn bản bị cắt với cỡ chữ lớn
Hình 1: Văn bản bị cắt.
  • Không còn xuất hiện khi bạn tắt khoảng đệm phông chữ:
Văn bản không bị cắt với cỡ chữ lớn
Hình 2: Văn bản không bị cắt.

Bạn có thể áp dụng chế độ cài đặt mới này bằng cách ghi đè kiểu chữ trong giao diện của mình – xem mã ví dụ.

Phiên bản 1.2.0-alpha09

Ngày 19 tháng 4 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha09. Phiên bản 1.2.0-alpha09 bao gồm các thay đổi sau.

Thay đổi về API

  • Thêm angularSizeDp vào API CurvedModifier để đặt chiều rộng góc trong DP (I89a52)

Sửa lỗi

  • Khắc phục các vấn đề về hỗ trợ tiếp cận trong bản minh hoạ bộ chọn giờ(Id0eb7)

Phiên bản 1.2.0-alpha08

Ngày 5 tháng 4 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha08. Phiên bản 1.2.0-alpha08 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã đổi tên ExpandableItemsState thành ExpandableState. (If85ea)
  • Chúng tôi đã thêm expandableButton để đơn giản hoá việc tạo nút thu gọn khi nội dung được mở rộng, đồng thời cập nhật các ví dụ về thành phần có thể mở rộng. (Iae309)

Sửa lỗi

  • Cải thiện các mẫu có thể mở rộng để cho thấy nhiều khả năng hơn. Sửa đổi ảnh động của expandableItem để giữ nội dung của ảnh động ở giữa. (I2f637)
  • Cập nhật ToggleControls để tránh các lần kết hợp lại không cần thiết khi tạo ảnh động màu theo cách thủ công bằng Trạng thái. (I5d319)

Phiên bản 1.2.0-alpha07

Ngày 22 tháng 3 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha07. Phiên bản 1.2.0-alpha07 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã di chuyển các thành phần Mục có thể mở rộng (được thêm vào phiên bản 1.2.0-alpha06) từ material sang foundation, vì các thành phần này không có tham chiếu có ý nghĩa đến MaterialTheme. (Ib0525)

Sửa lỗi

  • Chúng tôi đã khắc phục sự cố xảy ra trong màn hình sử dụng PickerGroup bằng cách đảm bảo rằng PickerGroup xử lý tiêu điểm chính xác khi không có bộ chọn nào có tiêu điểm. Ngoài ra, chúng tôi cũng hỗ trợ tính năng cuộn RSB trong các bản minh hoạ Bộ chọn. (If8c19)
  • Chúng tôi đã cải thiện hiệu ứng chuyển đổi hộp thoại – hiệu ứng chuyển đổi phần mở đầu hiện mượt mà hơn để phù hợp với hiệu ứng chuyển đổi phần kết thúc. (Ib5af9)
  • Chúng tôi đã thêm DefaultTextStyle vào Wear Compose, theo mặc định, thuộc tính PlatformTextStyle.includeFontPadding sẽ là true (đây là chế độ cài đặt hiện tại). Điều này sẽ cho phép chúng ta đồng bộ hoá việc tắt khoảng đệm phông chữ theo mặc định với các thư viện Compose trong tương lai – hãy xem phần (Sửa khoảng đệm phông chữ trong Compose) để biết thông tin cơ bản. (I2aee8)
  • Huỷ bỏ phần phụ thuộc xem trước UpsideDownCake thông qua activity-compose đã chặn việc phát hành ứng dụng lên Cửa hàng Google Play. (I6443d)

Phiên bản 1.2.0-alpha06

Ngày 8 tháng 3 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha06. Phiên bản 1.2.0-alpha06 bao gồm các thay đổi sau.

Thay đổi về API

  • Thêm thành phần CurvedBox. Thành phần này đặt các thành phần chồng lên nhau trong thế giới cong. (I29200)
  • Thêm(các) Mục có thể mở rộng – hai thành phần mới để hỗ trợ một nhóm các mục có thể mở rộng trong ScalingLazyColumn hoặc một mục đơn có thể mở rộng, chẳng hạn như Văn bản trong đó số dòng mở rộng. (I95dd5)
  • Chúng tôi đã thêm các chú thích tuỳ chỉnh sau đây để xem trước các thành phần kết hợp trên màn hình Wear: WearPreviewSmallRound xem trước thành phần kết hợp trên thiết bị nhỏ, hình tròn; WearPreviewLargeRound xem trước thành phần kết hợp trên thiết bị lớn, hình tròn; WearPreviewSquare xem trước thành phần kết hợp trên thiết bị hình vuông. Ngoài ra, các chú thích sau đây và chú thích nhiều bản xem trước: WearPreviewFontScales xem trước các thành phần kết hợp trên thiết bị Wear có nhiều kích thước phông chữ, trong khi WearPreviewDevices xem trước các thành phần kết hợp trên nhiều thiết bị Wear. Để sử dụng các bản xem trước này, bạn phải sử dụng Android Studio mới nhất (Giraffe Canary 6) trở lên. Xin lưu ý rằng nếu các chú thích này không phù hợp với mục đích của bạn, bạn vẫn có thể sử dụng tính năng Xem trước và tuỳ chỉnh thêm thông qua các tham số. (I397ff)
  • Chúng tôi đã đánh dấu HierarchicalFocusCoordinator là thử nghiệm trong khi nó được coi là một ứng viên để chuyển vào các thư viện Compose cốt lõi, do phạm vi áp dụng rộng rãi của nó. (I3a768)

Sửa lỗi

  • Khắc phục lỗi trên HierarchicalFocusCoordinator, khi lambda được truyền vào cho tham số focusEnabled thay đổi, chúng ta hiện sử dụng chính xác tham số mới. (Icb353)
  • Chúng tôi đã cập nhật màu nội dung bị tắt mặc định thành Nền khi sử dụng màu chính làm nền trong Button, CompactButton, Chip, CompactChipToggleButton. Điều này giúp cải thiện độ tương phản để hỗ trợ tiếp cận. (I527cc)

Phiên bản 1.2.0-alpha05

Ngày 22 tháng 2 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha05. Phiên bản 1.2.0-alpha05 bao gồm các thay đổi sau.

Các thay đổi về API

  • Cập nhật API PickerGroup để cho phép truyền các giới hạn tối thiểu đến thành phần kết hợp nếu muốn. Khi đặt thuộc tính này là true, các giới hạn tối thiểu được chuyển từ thành phần kết hợp mẹ sẽ được cho phép trên PickerGroup. Nếu bạn đặt thuộc tính này là false, PickerGroup sẽ đặt lại các giới hạn tối thiểu. (I3e046)
  • Chúng tôi đã thêm animateScrollToOption vào Picker API (API Bộ chọn) để hỗ trợ ảnh động có lập trình theo tuỳ chọn cụ thể của Bộ chọn (I6fe67)

Sửa lỗi

  • Chúng tôi đã cập nhật HorizontalPageIndicator để hỗ trợ bố cục từ phải sang trái. (Ia4359)
  • Thêm thử nghiệm Ảnh chụp màn hình cho bố cục từ phải sang trái trong HorizontalPageIndicator (I6fbb8)
  • Thêm các thử nghiệm khác vào SwipeDismissableNavHostTest sử dụng TestNavHostController (I61d54)

Phiên bản 1.2.0-alpha04

Ngày 8 tháng 2 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha04. Phiên bản 1.2.0-alpha04 bao gồm các thay đổi sau.

Tính năng mới

  • PickerGroup để xử lý nhiều bộ chọn cùng nhau bằng API tiêu điểm. Mã này xử lý tiêu điểm giữa các bộ chọn khác nhau, hỗ trợ bộ chọn tự động căn giữa dựa vào các tham số và cho phép các nhà phát triển thay đổi tiêu điểm giữa các bộ chọn khác nhau trong khi xử lý các sự kiện của nhóm. Ở chế độ TalkBack, PickerGroup xử lý tiêu điểm TalkBack bằng cách di chuyển tiêu điểm đến Bộ chọn đã chọn trong nhóm. (I60840)

Các thay đổi về API

  • Chúng tôi đã thêm phương thức nạp chồng cho Stepper bằng một tham số enableRangeSemantics bổ sung để hỗ trợ việc tắt ngữ nghĩa phạm vi mặc định (Ia61d4)

Sửa lỗi

  • Cho phép ScalingLazyColumn lồng trong một trang cuộn theo chiều ngang (Iec3f8, b/266555016)
  • Cải thiện kdocs Stepper và dọn dẹp các bài kiểm thử StepperTest. (Ic118e)
  • Cập nhật phần phụ thuộc androidx.navigation lên phiên bản 2.5.3 (If58ed)

Phiên bản 1.2.0-alpha03

Ngày 25 tháng 1 năm 2023

Phát hành androidx.wear.compose:compose-*:1.2.0-alpha03. Phiên bản 1.2.0-alpha03 bao gồm các thay đổi sau.

Những thay đổi về API

  • Chúng tôi đã di chuyển ScalingLazyColumn (và các lớp liên kết) từ androidx.wear.compose.material.ScalingLazyColumn sang andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (xem ví dụ này về quy trình di chuyển). Vị trí mới này phù hợp hơn với vị trí của compose.foundation.lazy.LazyColumn và tự nhiên hơn vì không phải là thành phần Material được định sẵn. Thay đổi này đang diễn ra để chuẩn bị cho thư viện Material3 mới mà chúng tôi sẽ triển khai song song với thư viện Material hiện có. (I060e7)

Những thay đổi sau đây nằm trong phạm vi di chuyển ScalingLazyColumn từ Material sang Foundation.Lazy:

  • Ngừng sử dụng PositionIndicator API nhắm đến ScalingLazyColumn của Material, vui lòng cập nhật lên Foundation.Lazy ScalingLazyColumn. Ngoài ra, trường anchorType đã được thêm vào ScalingLazyListLayoutInfo. (I29d95)
  • ScalingLazyColumn được đánh dấu là không dùng nữa trong gói Wear Compose Material (I16d34)
  • Cập nhật đối tượng sửa đổi ScrollAway để sử dụng ScalingLazyListState qua Wear Compose Foundation.Lazy và ngừng sử dụng phương thức nạp chồng lấy ScalingLazyListState qua Wear Compose Material. (Ifc42c)
  • Cập nhật Dialog API để sử dụng ScalingLazyListState qua Foundation.Lazy và ngừng sử dụng các phương thức nạp chồng đã sử dụng Material ScalingLazyListState (Ic8960)
  • Cập nhật các Picker API để sử dụng ScalingParams qua Foundation.Lazy và ngừng sử dụng các phương thức nạp chồng đã sử dụng Material ScalingParams. (Idc3d8)

Sửa lỗi

  • Khắc phục lỗi dẫn đến các quy trình kết hợp lại không cần thiết trong ScalingLazyListState.centerItemIndex bằng cách đảm bảo rằng lỗi này chỉ triển khai bản cập nhật khi giá trị thực sự thay đổi (Ia9f38)
  • Cải thiện hiệu suất của SwipeToDismissBox (I3933b)
  • Thêm các bài kiểm thử theo điểm chuẩn cho ScalingLazyColumn trong Wear Compose Foundation (Ie00f9)
  • Cập nhật một số phương thức lớp ScalingLazyColumn nội bộ trong Material để sử dụng các phương thức tương đương qua Foundation.Lazy (I38aab)
  • Khắc phục một số vấn đề trong kiểm thử nghiệm Bộ chọn (Picker) và bổ sung một số bài kiểm thử khác để kiểm tra tính năng cuộn có sai số (I6ac34)
  • Di chuyển các Bản minh hoạ tích hợp ScalingLazyColumn phụ thuộc vào Foundation.Lazy thay vì Material ScalingLazyColumn (Ic6caa)
  • Thêm các tham số fromDate/toDate không bắt buộc vào bản minh hoạ DatePicker (I961cd)

Phiên bản 1.2.0-alpha02

Ngày 11 tháng 1 năm 2023

Phát hành androidx.wear.compose:compose-*: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

  • Giờ đây, các hoạt động kiểm thử giao diện người dùng trong Android Compose sẽ chạy lệnh chuyển bố cục cho từng khung khi thực thi các khung để chuyển sang trạng thái rảnh (ví dụ: qua waitForIdle). Việc này có thể ảnh hưởng đến các hoạt động kiểm thử xác nhận trên từng khung ảnh động bố cục riêng lẻ. (I8ea08, b/222093277)
  • Thêm tham số minLines vào Wear Text để hoạt động nhất quán với BasicText (I24874)
  • Công khai CompactChipTapTargetPadding để xuất hiện trong tài liệu (If1e70, b/234119038)

Sửa lỗi

  • Vô hiệu hoá bản dựng đa nền tảng cho các gói wear.compose (Iad3d7)
  • Sửa kdocs cho scrollToOption (I6f9a0)
  • Cập nhật PlaceholderState.rememberPlaceholderState() để sử dụng rememberUpdatedState thành trạng thái sẽ cập nhật nếu hàm lambda là onContentReady. (I02635, b/260343754)
  • Chúng tôi đã khắc phục sự cố dao động văn bản trong thành phần Picker bằng cách tận dụng chiến lược tổng hợp mới được thêm vào Modifier.graphicsLayer. (I99302)
  • Chúng tôi đã khắc phục lỗi gây ra hiện tượng nhấp nháy trong bản minh hoạ DatePicker (I660bd)
  • Chúng tôi đã cải thiện chức năng hỗ trợ tiếp cận cho các bản minh hoạ bộ chọn ngày và giờ (định dạng 12 giờ) (I05e12)
  • Chúng tôi đã cập nhật bản minh hoạ bộ chọn ngày và giờ để các bộ chọn không bị những thay đổi của RSB làm ảnh hưởng khi bị bỏ chọn (I4aecb)

Phiên bản 1.2.0-alpha01

Ngày 7 tháng 12 năm 2022

Phát hành androidx.wear.compose:compose-*: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

  • Chúng tôi cập nhật chức năng Phần giữ chỗ thử nghiệm để áp dụng hiệu ứng "Wipe Off" ("Quét chuyển") ngay lập tức khi nội dung sẵn sàng thay vì đợi vòng lặp ảnh động tiếp theo bắt đầu. Chúng tôi cũng thực hiện một số điểm cập nhật đối với hiệu ứng sáng lên và quét chuyển. (I5a7f4)

Các thay đổi về API

  • Chúng tôi đã thêm thành phần kết hợp HierarchicalFocusCoordinator để cho phép đánh dấu các cây phụ của cấu trúc (composition) là đã bật hoặc đã tắt tiêu điểm.(I827cb)
  • Chúng tôi đã thêm một thuộc tính mới để ghi đè vai trò ngữ nghĩa cho ToggleButton.(I67132)
  • Chúng tôi đã cập nhật TimeTextDefaults.TimeFormat12Hours để xoá AM/PM trong TimeText. Việc này sẽ thay đổi giá trị mặc định của các tham số timeSource trong API TimeText. (I1eb7f)
  • Chúng tôi đã mở rộng API Bộ chọn để cải thiện khả năng tiếp cận cho các màn hình có nhiều bộ chọn. Có một thuộc tính mới userScrollEnabled giúp kiểm soát việc bộ chọn có hoạt động cho thao tác cuộn của người dùng hay không. (I3c3aa)

Sửa lỗi

  • Chúng tôi thay đổi chiều rộng đường viền mặc định của OutlinedButton/OutlinedCompactButton từ 2.dp thành 1.dp để phù hợp với các thông số kỹ thuật trong trải nghiệm người dùng cuối. (Icf84d)
  • Để giảm hiệu lực của mục đầu tiên được thêm vào ScalingLazyColumn trống xuất hiện để cuộn vào vị trí, chúng tôi đã thêm autoCentering topPadding ước tính khi nội dung trống. Thay đổi này sẽ tính toán khoảng đệm trên cùng cần thiết bằng cách giả định mục ban đầu có chiều cao là 0.dp. Đối với ScalingLazyListAnchorType.ItemStart, giá trị này sẽ tính toán chính xác khoảng đệm trên cùng. Đối với ScalingLazyListAnchorType.ItemCenter, phép tính này sẽ không chính xác do chiều cao của các mục cần để xác định đúng kích thước cho nội dung dẫn đến một hiệu ứng cuộn nhỏ vào vị trí dựa trên chiều cao thực của các mục.(I239a4)
  • Chúng tôi đã cập nhật màn nền được áp dụng cho ảnh động SwipeToDismiss để phù hợp với nền tảng Wear. (I9003e)
  • Chúng tôi đã khắc phục việc xử lý PositionIndicator của LazyListStateScalingLazyListState cho các mục danh sách có kích thước 0 là để tránh lỗi chia cho 0.(Ic28dd)

Phiên bản 1.1

Phiên bản 1.1.2

Ngày 8 tháng 2 năm 2023

Phát hành androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2androidx.wear.compose:compose-navigation:1.1.2. Phiên bản 1.1.2 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục lỗi dẫn đến các quy trình kết hợp lại không cần thiết trong ScalingLazyListState.centerItemIndex bằng cách đảm bảo rằng lỗi này chỉ triển khai bản cập nhật khi giá trị thực sự thay đổi (Ia9f38)

Phiên bản 1.1.1

Ngày 11 tháng 1 năm 2023

Phát hành androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1androidx.wear.compose:compose-navigation:1.1.1. Phiên bản 1.1.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Cập nhật PlaceholderState.rememberPlaceholderState() để sử dụng rememberUpdatedState thành trạng thái sẽ cập nhật nếu hàm lambda là onContentReady. (I02635, b/260343754)

Phiên bản 1.1.0

Ngày 7 tháng 12 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0androidx.wear.compose:compose-navigation: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

  • Bản phát hành chính thức của Compose cho Wear OS 1.1.0 (đọc thêm).
  • Để biết danh sách các thay đổi chính trong Wear Compose 1.1, hãy xem các ghi chú phát hành của (Compose cho Wear OS 1.1 Beta01).

Tính năng mới

  • Chúng tôi cập nhật chức năng Phần giữ chỗ thử nghiệm để áp dụng hiệu ứng "Wipe Off" ("Quét chuyển") ngay lập tức khi nội dung sẵn sàng thay vì đợi vòng lặp ảnh động tiếp theo bắt đầu. Chúng tôi cũng thực hiện một số điểm cập nhật đối với hiệu ứng sáng lên và quét chuyển. (I5a7f4)

Sửa lỗi

  • Chúng tôi thay đổi chiều rộng đường viền mặc định của OutlinedButton/OutlinedCompactButton từ 2.dp thành 1.dp để phù hợp với các thông số kỹ thuật trong trải nghiệm người dùng cuối. (Icf84d)
  • Để giảm hiệu lực của mục đầu tiên được thêm vào ScalingLazyColumn trống xuất hiện để cuộn vào vị trí, chúng tôi đã thêm autoCentering topPadding ước tính khi nội dung trống. Thay đổi này sẽ tính toán khoảng đệm trên cùng cần thiết bằng cách giả định mục ban đầu có chiều cao là 0.dp. Đối với ScalingLazyListAnchorType.ItemStart, giá trị này sẽ tính toán chính xác khoảng đệm trên cùng. Đối với ScalingLazyListAnchorType.ItemCenter, phép tính này sẽ không chính xác do chiều cao của các mục cần để xác định đúng kích thước cho nội dung dẫn đến một hiệu ứng cuộn nhỏ vào vị trí dựa trên chiều cao thực của các mục.(I239a4)
  • Chúng tôi đã cập nhật màn nền được áp dụng cho ảnh động SwipeToDismiss để phù hợp với nền tảng Wear.(I9003e)
  • Chúng tôi đã khắc phục việc xử lý PositionIndicator của LazyListStateScalingLazyListState cho các mục danh sách có kích thước 0 là để tránh lỗi chia cho 0.(Ic28dd)

Phiên bản 1.1.0-rc01

Ngày 9 tháng 11 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01androidx.wear.compose:compose-navigation:1.1.0-rc01. Phiên bản 1.1.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi thêm các quy tắc cấu hình cơ sở cho Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton OutlinedCompactButton OutlinedChipOutlinedCompactChip. (I8249c)
  • Chúng tôi khắc phục lỗi trong Modifier.scrollAway để nếu itemIndex được chỉ định không hợp lệ (ví dụ: nếu giá trị chỉ mục nằm ngoài phạm vi), thì TimeText sẽ vẫn hiển thị. (I2137a)
  • Chúng tôi cập nhật ảnh động SwipeToDismissBox để phù hợp với cách triển khai nền tảng. Sau hoạt ảnh bóp vào hai cạnh ban đầu, màn hình sẽ trượt sang phải sau khi thao tác đóng được kích hoạt. (I41d34)
  • Để tối ưu hoá, chúng tôi cập nhật Modifier.scrollAway để chỉ đọc scrollState bên trong khối đo lường nhằm tránh hiện tượng tái kết hợp đối tượng sửa đổi sau mỗi lần đo lại. (I4c6f1)
  • Chúng tôi thêm tài liệu và mẫu vào phần giữ chỗ để hiển thị thứ tự chính xác của Modifier.placeholderModifier.placeholderShimmer khi áp dụng cho cùng một thành phần kết hợp. (Ie96f4, b/256583229)
  • Chúng tôi thay đổi chiều rộng đường viền mặc định của OutlinedCompactChip/OutlinedChip từ 2.dp thành 1.dp để phù hợp với các thông số kỹ thuật trong trải nghiệm người dùng cuối. (Ib3d8e)
  • Chúng tôi khắc phục lỗi trong rememberPickerState khiến đầu vào mới cập nhật không được lưu, làm cho các thành phần kết hợp không được cập nhật sau khi thay đổi đầu vào. (I49ff6, b/255323197)
  • Chúng tôi triển khai một số cập nhật về giao diện người dùng cho phần giữ chỗ, 1) thay đổi hiệu ứng chuyển sáng lung linh (shimmer gradient) lên 1,5 lần kích thước màn hình, 2) bổ sung tính năng gia tốc (đường cong bézier) của tiến trình sáng lên và 3) tăng tốc độ của ảnh động wipe-off quét chuyển (250 mili giây). (Id29c1)
  • Chúng tôi khắc phục lỗi giao diện người dùng xuất hiện do chưa xét tới vị trí các thành phần hiển thị trên màn hình, cụ thể: các khối và thẻ trong nền biến mất sớm hơn một chút trong lúc hiệu ứng xoá phần giữ chỗ diễn ra. (I2c7cb)
  • Chúng tôi cập nhật bản vẽ nền của phần giữ chỗ để hợp nhất màu, thay vì xếp lớp như trước đây, như vậy sẽ giảm thiểu nguy cơ phối alpha của các lớp cắt khác nhau làm màu ở lớp dưới tràn qua các cạnh nền của phần giữ chỗ. (I2ea26)
  • Chúng tôi sửa cách tính ScalingLazyListState.centerItemIndex/centerItemOffset để mục gần với đường chính giữa khung nhìn nhất (bất kể nằm ở phía nào) luôn được coi là centerItem. (I30709, b/254257769)
  • Chúng tôi sửa lỗi báo cáo độ lệch không chính xác trong quá trình khởi chạy ScalingLazyColumn trong ScalingLazyListState.layoutInfo.visibleItemsInfo. Hiện tại, một danh sách trống sẽ được trả về cho đến khi tất cả các mục trong danh sách hiện ra và có độ lệch chính xác. Kiểm tra ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() để xác nhận rằng quá trình khởi tạo ScalingLazyColumn đã hoàn tất và các mục đều xuất hiện. (I3a3b8)

Phiên bản 1.1.0-beta01

Ngày 24 tháng 10 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01androidx.wear.compose:compose-navigation:1.1.0-beta01. Phiên bản 1.1.0-beta01 bao gồm các thay đổi sau.

Những điểm mới trong thư viện Compose dành cho Wear OS 1.1

Phiên bản 1.1.0-beta01 của Compose for Wear OS xác định 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á.

  • Bản phát hành Wear Compose 1.1 có chức năng mới sau đây:
    • Bộ chọn (Picker) – Cải tiến khả năng hỗ trợ tiếp cận đối với Bộ chọn để bạn có thể điều hướng các màn hình đa trình chọn bằng trình đọc màn hình và dễ dàng tiếp cận phần mô tả nội dung
    • Tham số contentDescription của Bộ chọn hiện chỉ được dùng cho tuỳ chọn Bộ chọn chỉ định và nhận một Chuỗi có tính chất rỗng (trước đây, bạn bắt buộc phải truyền thông tin ánh xạ từ tuỳ chọn đến phần mô tả nội dung dù chỉ được sử dụng tuỳ chọn đã chọn).
    • Các mục trong Bộ chọn hiện luôn được căn chỉnh giữa, khắc phục lỗi đặt gradientRatio thành 0 có tác dụng phụ của việc thay đổi cách căn chỉnh.
    • Chip/ToggleChip – Chúng tôi cập nhật cách chuyển màu mặc định cho Chip/ToggleChip để phù hợp với thông số kỹ thuật mới nhất của trải nghiệm người dùng. Cập nhật ChipDefaults.gradientBackgroundChipColors để bắt đầu từ 50% màu gốc thay vì 32,5%.
    • Chip/ToggleChip – Thêm các phương thức nạp chồng để sửa đổi hình dạng Khối
    • Chip/Button/ToggleButton – Thêm kiểu đường viền mới cho khối, nút và các thành phần kết hợp OutlinedChipOutlinedButton mới cung cấp một Chip/Button trong suốt với đường viền mỏng.
    • Thẻ (Card) – Cập nhật cách chuyển màu mặc định cho các Thẻ để phù hợp với thông số kỹ thuật mới nhất của Trải nghiệm người dùng. CardDefaults.cardBackgroundPainter được cập nhật để bắt đầu từ 30% màu gốc và kết thúc ở 20% onSurfaceVariant (trước đây là từ 20% đến 10% onSurfaceVariant). ToggleChip.toggleChipColors thay đổi độ chuyển màu tuyến tính như sau: trước đây là từ 75% bề mặt xuống 32,5% màu gốc, còn nay là từ 0% bề mặt đến 50% màu gốc.
    • Button/ToggleButton – Thêm thuộc tính để sửa đổi hình dạng nút.
    • Giao diện (Theme) – Cập nhật một số màu mặc định trong MaterialTheme nhằm cải thiện khả năng tiếp cận vì độ tương phản của màu gốc không đủ, khiến người dùng khó phân biệt nền của khối/thẻ/nút với màu nền của giao diện.
    • InlineSlider/Stepper – Thêm vai trò của nút để Talkback có thể nhận ra các phần tử này dưới dạng nút.
    • Scaffold – PositionIndicator nay được xác định vị trí và kích thước để chỉ chiếm đúng khoảng trống cần thiết. Thay đổi này hữu ích trong những trường hợp như khi bạn thêm thông tin ngữ nghĩa vào PositionIndicator, tính năng TalkBack sẽ nhận được ranh giới chính xác của PositionIndicator trên màn hình.
    • CurvedText/TimeText – Thêm Modifier.scrollAway để cuộn một mục theo chiều dọc trong/ngoài khung hiển thị dựa trên trạng thái cuộn (có thể nạp chồng để kết hợp với Column, LazyColumnScalingLazyColumn). ScrollAway thường dùng để cuộn TimeText ra khỏi khung hiển thị khi người dùng bắt đầu cuộn danh sách các mục lên trên.
    • CurvedText/TimeText – Thêm tính năng hỗ trợ cho fontFamily, fontStylefontSynthesis trong CurvedTextStyle, có thể sử dụng được trong curvedTextbasicCurvedText.
    • CurvedText/TimeText – Thêm fontWeight vào hàm khởi tạo và phương thức sao chép trong CurvedTextStyle
    • ToggleControls – Thêm các nút điều khiển bật/tắt Checkbox, SwitchRadioButton có hiệu ứng động để sử dụng ToggleChipSplitToggleChip. Bạn có thể sử dụng các nút điều khiển này thay cho những biểu tượng tĩnh do ToggleChipDefaults (switchIcon, checkboxIconradioIcon) cung cấp.
    • Phần giữ chỗ (placeholder) – Thêm tính năng hỗ trợ phần giữ chỗ thử nghiệm. Tính năng này có 3 hiệu ứng hình ảnh riêng biệt để kết hợp với nhau.
    • Trước tiên, hiệu ứng bút vẽ nền cho phần giữ chỗ được dùng trong các vùng chứa như Khối và Thẻ để vẽ lên nền thông thường khi chờ nội dung tải.
    • Thứ hai, đối tượng sửa đổi (Modifier.placeholder()) vẽ một tiện ích phần giữ chỗ hình dạng sân vận động lên phía trên cùng của nội dung đang được tải.
    • Thứ ba, hiệu ứng độ dốc/ánh sáng (Modifier.placeholderShimmer()) của đối tượng sửa đổi được vẽ lên đầu các hiệu ứng khác để cho người dùng biết chúng ta đang chờ tải dữ liệu.
      • Tất cả những hiệu ứng này được thiết kế để kết hợp với nhau, sáng lên rồi biến mất theo sự sắp đặt.
  • Các phần phụ thuộc Core Compose được cập nhật từ 1.2 lên 1.3

Thay đổi về API

  • Hiện tại, bạn có thể chỉ định trực tiếp các tham số phông chữ (fontFamily, fontWeight, fontStylefontSynthesis) thành tham số của curvedText (Idc422)

Sửa lỗi

  • Hiện nay, curveTextbasicCurvedText hoạt động bình thường khi dùng với tính năng TalkBack (nút compose-ui có kích thước và thiết lập phù hợp (nhưng rỗng) được liên kết với những thành phần này bằng cách sử dụng văn bản để mô tả nội dung) (I7af7c, b/210721259)
  • Sửa lỗi Picker khi PickerState.repeatedItems = false để cài đặt chi tiết các tham số tự động căn giữa (autoCentering) vào ScalingLazyColumn nội bộ của Bộ chọn nhằm đảm bảo rằng bạn có thể cuộn từ tuỳ chọn 0 đến giữa khung hiển thị. (I8a4d7)

Phiên bản 1.1.0-alpha07

Ngày 5 tháng 10 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07androidx.wear.compose:compose-navigation:1.1.0-alpha07. Phiên bản 1.1.0-alpha07 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi thêm tính năng hỗ trợ phần giữ chỗ thử nghiệm. Tính năng này có 3 hiệu ứng hình ảnh riêng biệt để kết hợp với nhau. Trước tiên, hiệu ứng bút vẽ nền cho phần giữ chỗ được dùng trong các vùng chứa như Khối và Thẻ để vẽ lên nền thông thường khi chờ nội dung tải. Thứ hai, đối tượng sửa đổi (Modifier.placeholder()) vẽ một tiện ích phần giữ chỗ hình dạng sân vận động lên phía trên cùng của nội dung đang được tải. Thứ ba, hiệu ứng độ dốc/ánh sáng (Modifier.placeholderShimmer()) của đối tượng sửa đổi được vẽ lên đầu các hiệu ứng khác để cho người dùng biết chúng ta đang chờ tải dữ liệu. Tất cả những hiệu ứng này được thiết kế để kết hợp với nhau, sáng lên rồi biến mất theo sự sắp đặt. (I3c339)

Các thay đổi về API

  • Thêm tính năng hỗ trợ cho fontWeight, fontFamily, fontStylefontSynthesis trong CurvedTextStyle, có thể sử dụng được trên curvedTextbasicCurvedText. Bạn có thể dùng các tham số đó để chỉ định phông chữ và kiểu để sử dụng trên văn bản cong.(Iaa1a8),(I72759)
  • Cập nhật tham số chênh lệch của Modifier.scrollAway thành Dp để nhất quán với Modifier.offset (trước đây tham số này tính bằng pixel). Ngoài ra, chúng tôi tái cấu trúc dưới dạng LayoutModifier để tăng tính hiệu quả. (I9f94b)
  • Chúng tôi đổi tên RadioButton’s circleColor thành ringColor như là một phần của API điều khiển bật/tắt mới. (I28fa9)
  • Chúng tôi thêm các nút điều khiển bật/tắt Checkbox, SwitchRadioButton có hiệu ứng động để sử dụng với ToggleChipSplitToggleChip. Bạn có thể sử dụng các nút điều khiển này thay cho các biểu tượng tĩnh do ToggleChipDefaults (switchIcon, checkboxIconradioIcon) cung cấp. (I8a8c4)

Phiên bản 1.1.0-alpha06

Ngày 21 tháng 9 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06androidx.wear.compose:compose-navigation:1.1.0-alpha06. Phiên bản 1.1.0-alpha06 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi thêm Modifier.scrollAway để cuộn một mục theo chiều dọc trong/ngoài khung hiển thị, dựa trên trạng thái cuộn (có thể nạp chồng để hoạt động với Column, LazyColumnScalingLazyColumn). ScrollAway thường dùng để cuộn TimeText ra khỏi khung hiển thị khi người dùng bắt đầu cuộn danh sách các mục lên trên. (I61766)

Sửa lỗi

  • PositionIndicator nay được xác định vị trí và kích thước để chỉ chiếm đúng khoảng trống cần thiết. Thay đổi này hữu ích trong những trường hợp như khi bạn thêm thông tin ngữ nghĩa vào PositionIndicator, tính năng TalkBack sẽ nhận được ranh giới chính xác của PositionIndicator trên màn hình. (Ie6106, b/244409133)

Phiên bản 1.1.0-alpha05

Ngày 7 tháng 9 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05androidx.wear.compose:compose-navigation:1.1.0-alpha05. Phiên bản 1.1.0-alpha05 bao gồm các thay đổi sau.

Sửa lỗi

  • Thêm vai trò của nút vào InlineSliderStepper để TalkBack có thể nhận ra những phần tử trên dưới dạng nút. (Icb46c, b/244260275)
  • Chúng tôi đã sửa thứ tự z của các chỉ báo vị trí và trang trong Scaffold. Các chỉ báo hiện sẽ nằm phía trên màn hình quảng cáo giữa các lần tải trang và vì vậy sẽ không bị làm mờ bởi quảng cáo giữa các lần tải trang. (Ib988f, b/244207528)

Phiên bản 1.1.0-alpha04

Ngày 24 tháng 8 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04androidx.wear.compose:compose-navigation:1.1.0-alpha04. Phiên bản 1.1.0-alpha04 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã cập nhật một số màu mặc định trong MaterialTheme nhằm cải thiện khả năng tiếp cận vì độ tương phản của màu gốc không đủ khiến người dùng khó phân biệt được nền của khối/thẻ/nút với màu nền của giao diện. Các màu được cập nhật bao gồm surface(0xFF202124->0xFF303133), onPrimary(0xFF202124->0xFF303133), onSecondary(0xFF202124->0xFF303133), primaryVariant(0xFF669DF6->0xFF8AB4F8) và onError(0xFF202124->0xFF000000). Những thay đổi về màu sắc mặc dù tương đối khó phát hiện, nhưng cũng có thể ảnh hưởng đến các hoạt động kiểm thử hiện tại liên quan đến ảnh chụp màn hình. (81ab09)

Sửa lỗi

  • Khắc phục lỗi logic trong ScalingLazyColumn có thể dẫn đến việc danh sách có số lượng ít các mục trong danh sách (thường chính xác là 2) không hoàn tất quá trình khởi tạo và kết quả là không thấy màu nào. (504347)

Phiên bản 1.1.0-alpha03

Ngày 10 tháng 8 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03androidx.wear.compose:compose-navigation: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

  • Chúng tôi đã thêm một kiểu đường viền mới cho ChipsButtons, cũng như các thành phần kết hợp OutlinedChipOutlinedButton mới cung cấp một Chip/Button trong suốt với đường viền mỏng. (Id5972)

Thay đổi về API

  • Đã thêm các phương thức nạp chồng để sửa đổi hình dạng nút (Icccde)

Sửa lỗi

  • Chúng tôi sửa kích thước vùng điều khiển bật/tắt của ToggleChip, vì kích thước này không khớp với thông số kỹ thuật của trải nghiệm người dùng. Thông số kỹ thuật của trải nghiệm người dùng yêu cầu khoảng cách giữa nhãn và vùng biểu tượng điều khiển bật/tắt là 4.dp kết hợp với vùng biểu tượng điều khiển bật/tắt 24x24.dp để có tổng chiều rộng là 28.dp. Tuy nhiên, vùng điều khiển bật/tắt 36x24.dp đã được triển khai không chính xác. Điều này dẫn đến việc lấy đi 8.dp của vùng nhãn văn bản có thể sử dụng. LƯU Ý: Bản sửa lỗi này tạo thêm không gian cho nhãn văn bản, và do đó có thể tác động (tích cực) đến bố cục văn bản đối với văn bản tràn màn hình. Nếu bạn thử nghiệm ảnh chụp màn hình có chứa ToggleChips, thì bạn có thể cần phải cập nhật các thử nghiệm đó. (I514c8, b/240548670)

Phiên bản 1.1.0-alpha02

Ngày 27 tháng 7 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02androidx.wear.compose:compose-navigation: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

  • Chúng tôi đã chuyển các phần phụ thuộc Compose cho Wear OS trên các thư viện Compose chính từ 1.2.0 sang 1.3.0-alpha0X

Thay đổi về API

  • Thêm các phương thức nạp chồng để sửa đổi hình dạng chip (I02e87)

Sửa lỗi

  • Chúng tôi tạo hiệu ứng động cho hiệu ứng mờ viền khi hiển thị/ẩn Hộp thoại để khớp với ảnh động chuyển tỷ lệ hiện tại. (Ida33e)
  • Chúng tôi đã khắc phục lỗi một số khả năng chia cho 0 có thể xảy ra với hành vi hất khi cuộn. (I86cb6)
  • Sửa lỗi trong ChipDefaults.childChipColor() để đảm bảo màu nền bị tắt hoàn toàn trong suốt. (I2b3c3, b/238057342)

Phiên bản 1.1.0-alpha01

Ngày 29 tháng 6 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01androidx.wear.compose:compose-navigation:1.1.0-alpha01. Phiên bản 1.1.0-alpha01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Tham số contentDescription của Bộ chọn hiện chỉ được dùng cho tuỳ chọn Bộ chọn chỉ định và nhận một Chuỗi có tính chất rỗng (trước đây, bạn bắt buộc phải truyền thông tin ánh xạ từ tuỳ chọn đến phần mô tả nội dung dù chỉ được sử dụng tuỳ chọn đã chọn). (Ife6a7)
  • Chúng tôi đã thực hiện các cải tiến về khả năng hỗ trợ tiếp cận đối với Bộ chọn, nhờ đó, bạn có thể điều hướng những màn hình có nhiều trình chọn để đọc bằng trình đọc màn hình và nội dung mô tả nội dung (I64edb)

Sửa lỗi

  • Các quy tắc hồ sơ cơ sở đã được cập nhật đóng gói trong thư viện Wear Compose (I9c694)
  • Chúng tôi đã sửa hướng chuyển màu cho Khối ở chế độ từ phải sang trái. Ở trên cùng bên trái->dưới cùng bên phải, nay là trên cùng bên phải->dưới cùng bên trái. (Ic2e77)
  • Chúng tôi đã cập nhật độ dốc mặc định cho Chip/ToggleChip/Card để phù hợp với thông số kỹ thuật mới nhất của trải nghiệm người dùng. Cập nhật ChipDefaults.gradientBackgroundChipColors để bắt đầu từ 50% bề mặt chính thay vì 32,5%. CardDefaults.cardBackgroundPainter được cập nhật để bắt đầu ở 30% màu gốc và kết thúc ở 20% onSurfaceVariant (trước đây là từ 20% đến 10% onSurfaceVariant). ToggleChip.toggleChipColors thay đổi độ chuyển màu tuyến tính như sau: trước đây là từ 75% bề mặt đến 32,5% màu gốc còn nay là từ 0% bề mặt đến 50% màu gốc. (I43bbd)
  • Chúng tôi thêm màu nền (MaterialTheme.color.surface) vào sau Chip/ToggleChips trên nền chuyển màu để đảm bảo chúng hiển thị đúng cách trong trường hợp hiếm gặp là màu sáng được sử dụng ở lớp sau. (Ibe1a4, b/235937657)
  • Các mục trong Bộ chọn hiện luôn được căn chỉnh giữa, khắc phục lỗi đặt gradientRatio thành không có tác dụng phụ của việc thay đổi cách căn chỉnh. (I712b8)

Phiên bản 1.0

Phiên bản 1.0.2

Ngày 7 tháng 9 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2androidx.wear.compose:compose-navigation:1.0.2. Phiên bản 1.0.2 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã sửa thứ tự z của các chỉ báo vị trí và trang trong Scaffold. Các chỉ báo hiện sẽ nằm phía trên màn hình quảng cáo giữa các lần tải trang và vì vậy sẽ không bị làm mờ bởi quảng cáo giữa các lần tải trang. (Ib988f, b/244207528)

Phiên bản 1.0.1

Ngày 24 tháng 8 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1androidx.wear.compose:compose-navigation:1.0.1. Phiên bản 1.0.1 bao gồm các thay đổi sau.

Sửa lỗi

  • Khắc phục lỗi logic trong ScalingLazyColumn có thể dẫn đến việc danh sách có số lượng ít các mục trong danh sách (thường chính xác là 2) không hoàn tất quá trình khởi tạo và kết quả là không thấy màu nào. (076c61)

Phiên bản 1.0.0

Ngày 27 tháng 7 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0androidx.wear.compose:compose-navigation: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

  • Đây là bản phát hành chính thức đầu tiên của ứng dụng Compose cho Wear OS (đọc thêm).
  • Compose cho Wear OS được xây dựng dựa trên thư viện Compose chính, cung cấp thêm các thành phần dành riêng cho thiết bị đeo, đồng thời các phương pháp triển khai thay thế cho thành phần Compose chính sẽ được điều chỉnh sao cho phù hợp với thiết bị đeo (khi thích hợp).
  • Để biết danh sách các thành phần chính trong Wear Compose, vui lòng xem ghi chú phát hành của (Compose cho Wear OS Beta01).

Sửa lỗi

  • Chúng tôi tạo hiệu ứng động cho hiệu ứng mờ viền khi hiển thị/ẩn Hộp thoại để khớp với ảnh động chuyển tỷ lệ hiện tại. (Ida33e)
  • Chúng tôi đã khắc phục lỗi một số khả năng chia cho 0 có thể xảy ra với hành vi hất khi cuộn. (I86cb6)
  • Sửa lỗi trong ChipDefaults.childChipColor() để đảm bảo màu nền bị tắt hoàn toàn trong suốt. (I2b3c3, b/238057342)

Phiên bản 1.0.0-rc02

Ngày 22 tháng 6 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02androidx.wear.compose:compose-navigation:1.0.0-rc02. Phiên bản 1.0.0-rc02 bao gồm các thay đổi sau.

Sửa lỗi

  • Chúng tôi đã sửa hướng của độ dốc cho Thẻ ở chế độ phải sang trái (RTL). Trước đây là trên cùng bên trái -> dưới cùng bên phải, còn hiện nay là trên cùng bên phải –> dưới cùng bên trái. (Ic2e77)
  • Chúng tôi đã cập nhật độ dốc mặc định cho Chip/ToggleChip/Card để phù hợp với thông số kỹ thuật mới nhất của trải nghiệm người dùng. Cập nhật ChipDefaults.gradientBackgroundChipColors để bắt đầu từ 50% bề mặt chính thay vì 32,5%. CardDefaults.cardBackgroundPainter đã được cập nhật để bắt đầu từ 30% chính và kết thúc ở 20% onSurfaceVariant (trước đây là 20% đến 10% của onSurfaceVariant). ToggleChip.toggleChipColors thay đổi từ độ dốc tuyến tính của 75% bề mặt thành 32,5% bề mặt chính đến 0% bề mặt thành 50% bề mặt chính. (I43bbd)
  • Chúng tôi thêm màu nền (MaterialTheme.color.surface) vào sau Chip/ToggleChips trên nền chuyển màu để đảm bảo chúng hiển thị đúng cách trong trường hợp hiếm gặp là màu sáng được sử dụng ở lớp sau. (Ibe1a4, b/235937657)
  • Các quy tắc hồ sơ cơ sở đã được cập nhật đóng gói trong thư viện Wear Compose (I9c694)

Phiên bản 1.0.0-rc01

Ngày 15 tháng 6 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01androidx.wear.compose:compose-navigation:1.0.0-rc01. Phiên bản 1.0.0-rc01 bao gồm các thay đổi sau.

Thay đổi về API

  • Các giao diện trong thư viện Compose hiện được xây dựng bằng phương thức giao diện mặc định jdk8 (I5bcf1)

Sửa lỗi

  • Chúng tôi đã xoá lệnh gọi rõ ràng cho fillMaxWidth() trên tiêu đề danh sách do không cần thiết và có thể gây ra sự cố nếu ScalinglazyColumn có tổ hợp thành phần ListHeader()Chip() vì chiều rộng sẽ có xu hướng mở rộng/thu nhỏ khi cuộn để xem các mục ListHeader. (I37144, b/235074035)
  • Chúng tôi đã khắc phục lỗi trong ScalingLazyColumn có thể khiến các mục danh sách không được vẽ chính xác cho đến khi được cuộn nếu mục danh sách thứ 0 đủ lớn (bao gồm cả khoảng đệm) (Ic6159, b/234328517)
  • Chúng tôi đã thực hiện một điều chỉnh nhỏ trong phần giảm ScalingLazyColumn khi các mục đạt đến cạnh màn hình để phù hợp với thông tin cập nhật về thông số trải nghiệm người dùng. Giá trị cũ CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> giá trị mới CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Để giữ lại hành vi cũ, bạn có thể ghi đè scalingParams của ScalingLazyColumn (Ie375c)
  • Chúng tôi thêm khoảng đệm vào CompactChip để đảm bảo rằng kích thước nhấn đích tối thiểu của thiết bị là 48.dp để đáp ứng nguyên tắc về hỗ trợ tiếp cận của Material. Thao tác này có thể ảnh hưởng đến mọi bố cục mà bạn đang sử dụng CompactChips vì các bố cục này sẽ chiếm thêm dung lượng. (I3d57c)

Phiên bản 1.0.0-beta03

Ngày 1 tháng 6 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03androidx.wear.compose:compose-navigation:1.0.0-beta03. Phiên bản 1.0.0-beta03 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã đặt ScalingLazyColumn hoạt động trong Compose ở chế độ @Preview. (I3b3b6, b/232947354)

Thay đổi về API

  • Chúng tôi đã thay đổi giá trị mặc định của thuộc tính ScalingLazyColumn.horizontalAlignment từ Start sang CenterHorizontally để đảm bảo khi các mục trong danh sách không lấp đầy chiều rộng của cột, các mục này sẽ được căn chỉnh để có thể hiển thị tối đa. Để quay lại hành vi trước đó, hãy đặt horizontalAlignment = Alignment.Start.(I9ed4b)

Lỗi đã biết

  • Chiều cao nhấn của CompactChip nhỏ hơn nguyên tắc hỗ trợ tiếp cận Material. Phần này sẽ được sửa trong bản phát hành tiếp theo (ngày 15 tháng 6). Nếu bạn đang sử dụng CompactChip thì việc này sẽ ảnh hưởng đến bố cục của bạn do CompactChips giờ sẽ có thêm khoảng đệm ở trên và dưới. Vui lòng điều chỉnh và thử nghiệm bố cục của bạn hoặc xem các nhận xét lỗi để biết giải pháp sử dụng hành vi hiện có. (b/234332135)

Sửa lỗi

  • Bản minh hoạ mới để tạo ảnh động thêm hoặc xoá văn bản bắt đầu trên TimeText. (I16d75)
  • Thêm thử nghiệm cho HorizontalPageIndicator.PagesState (I64ed0)
  • Cập nhật TimeText gần hơn với thông số kỹ thuật của trải nghiệm người dùng (Ib7ea1)

Phiên bản 1.0.0-beta02

Ngày 18 tháng 5 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02androidx.wear.compose:compose-navigation:1.0.0-beta02. Phiên bản 1.1.0-beta02 bao gồm các thay đổi sau.

Tính năng mới

  • Giờ đây, bộ chọn luôn phản hồi các sự kiện cuộn ngay cả khi ở chế độ chỉ có thể đọc. Điều này giúp người dùng không cần phải nhấn để chọn Bộ chọn trước khi họ có thể cuộn. Ở chế độ chỉ có thể đọc, các tuỳ chọn khác với lựa chọn hiện tại sẽ bị che khuất trong phần đệm của gradientColor. (I72925)
  • Chúng tôi đã thay đổi hành vi trải nghiệm người dùng của Chip/ToggleChip/CompactChip/SplitToggleChip để ngăn họ thực hiện fillMaxWidth theo mặc định. Thay vào đó, chúng sẽ phát triển để phù hợp với nội dung. Để giữ hành vi trước đó, bạn chỉ cần thêm modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

Sửa lỗi

  • Hàm khởi tạo CurvedTextStyle nhận TextStyle nay cũng tuân theo fontWeight (Phương thức này có thể được thêm vào hàm khởi tạo và các phương thức sao chép trong những bản sửa đổi sau này của API) (Ieebb9)
  • Cải tiến trong thao tác vuốt từ cạnh. Khi bạn sử dụng Modifier.edgeSwipeToDismiss và thực hiện thao tác vuốt sang trái từ khu vực cạnh, hoạt động này sẽ không còn kích hoạt thao tác vuốt để đóng khi hướng vuốt thay đổi sang phải. Trước đây, bạn có thể kích hoạt thao tác vuốt để đóng bằng cách vuốt sang trái rồi vuốt sang phải.(I916ea)
  • Hiện tại, HorizontalPageIndicator hiển thị tối đa 6 trang trên màn hình. Nếu có tất cả hơn 6 trang, thì trang này sẽ hiển thị chỉ báo có kích thước bằng một nửa ở phía bên trái hoặc bên phải, trong khi quá trình chuyển đổi giữa các trang diễn ra suôn sẻ.(I2ac29)
  • Cải tiến hành vi chụp nhanh mặc định trên ScalingLazyColumnPicker (I49539)
  • Cải tiến trong thao tác vuốt từ cạnh. Khi Modifier.edgeSwipeToDismiss được sử dụng, tính năng vuốt để đóng chỉ kích hoạt trong lần nhấn đầu tiên vào cạnh rồi vuốt sang phải. Trước đây, bạn có thể kích hoạt thao tác vuốt để đóng bằng cách vuốt từ bất kỳ phần nào của màn hình nếu cuộn đến điểm đầu.(I8ca2a)

Phiên bản 1.0.0-beta01

Ngày 11 tháng 5 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01androidx.wear.compose:compose-navigation:1.0.0-beta01. Phiên bản 1.0.0-beta01 bao gồm các thay đổi sau.

Có gì trong tính năng Soạn thư dành cho Wear OS 1.0

1.0.0-beta01 của Compose cho Wear OS đánh dấu một mốc quan trọng khi thư viện đã hoàn thiện về tính năng và API được khoá.

Các thành phần Wear Compose Material trong bản phát hành 1.0 bao gồm:

  • Giao diện Material – được dùng để thay thế tính năng Soạn thư dành cho thiết bị di động MaterialTheme, cung cấp màu sắc, hình dạng và kiểu chữ để xây dựng thành phần trên Thiết bị đeo thực hiện các nguyên tắc trải nghiệm người dùng Wear Material Design ngay từ đầu.
  • Button, CompactButtonToggleButton – Nút cung cấp một khe duy nhất để chụp biểu tượng, hình ảnh hoặc văn bản ngắn (tối đa 3 ký tự). Hình tròn có kích thước đề xuất cho các nút mặc định, lớn hoặc nhỏ. CompactButton cung cấp một khe duy nhất có hình tròn với kích thước nền rất nhỏ để chụp bất kỳ nội dung nào (biểu tượng, hình ảnh hoặc văn bản). CompactButton có khoảng đệm trong suốt (không bắt buộc) xung quanh nền để tăng diện tích khu vực có thể nhấp. ToggleButton là một nút cung cấp khe duy nhất để chụp mọi nội dung (văn bản ngắn, biểu tượng hoặc hình ảnh) và có các trạng thái bật/tắt (đã đánh dấu/bỏ đánh dấu) bằng màu và các biểu tượng khác nhau để cho biết liệu đã đánh dấu hay chưa
  • Thẻ – dùng để hiển thị thông tin về các ứng dụng, chẳng hạn như thông báo. Thiết kế linh hoạt cho nhiều trường hợp sử dụng, trong đó AppCardTitleCard cung cấp bố cục và khả năng hỗ trợ hình ảnh khác nhau dưới dạng nội dung thẻ hoặc nền.
  • Chip – các thành phần có hình dạng sân vận động tương tự như các nút, nhưng có khu vực lớn hơn và nhiều khe để cho phép nhãn, nhãn phụ và biểu tượng. Có nhiều kích thước khác nhau và hỗ trợ hình ảnh làm nền.
  • ToggleChips và SplitToggleChips – Một khối có trạng thái đã chọn/chưa đánh dấu và thêm một khe ToggleControl để hiển thị một biểu tượng như công tắc hoặc nút chọn để hiển thị trạng thái của thành phần. Ngoài ra, SplitToggleChip còn có hai vùng có thể nhấn vào, một vùng có thể nhấp vào và một vùng có thể chuyển đổi.
  • CircularProgressIndicator – Chỉ báo tiến trình Wear Material với 2 biến thể. Biến thể đầu tiên thể hiện tỷ lệ hoàn thành một nhiệm vụ đang diễn ra đồng thời hỗ trợ khoảng trống trong đường tròn giữa các góc bắt đầu và kết thúc. Biến thể thứ hai cho biết tiến trình không xác định trong thời gian chờ không xác định.
  • curvedText – tạo thành một phần của DSL để mô tả CurvedLayouts, cùng với curvedRowcurvedColumn, để bố trí các thành phần xung quanh thiết bị hình tròn. Xem Nền tảng thành phần Wear bên dưới để biết thêm thông tin chi tiết về CurvedLayoutCurvedModifier (mục này đóng vai trò tương tự như Đối tượng sửa đổi ở thế giới không cong và cho phép định cấu hình các khía cạnh khác nhau của bố cục, khoảng đệm, độ dốc, v.v.).
  • Hộp thoại, Cảnh báo và Xác nhận – Hộp thoại hiển thị hộp thoại toàn màn hình, nằm trên bất kỳ nội dung nào khác và hỗ trợ vuốt để đóng. Đó là khe duy nhất dự kiến làm nội dung hộp thoại Wear Material, chẳng hạn như Cảnh báo hoặc Xác nhận. Cảnh báo là nội dung hộp thoại được cho phép với các vị trí cho biểu tượng, tiêu đề và thông báo. Vị trí này có nội dung nạp chồng cho cả nút âm và dương được hiển thị cạnh nhau hoặc một khe cho một hoặc nhiều khối xếp chồng lên nhau theo chiều dọc. Xác nhận là nội dung hộp thoại được cho phép hiển thị thông báo trong một khoảng thời gian nhất định. Tệp này có khung giờ cho một biểu tượng hoặc hình ảnh (có thể là ảnh động).
  • HorizontalPageIndicator – hiển thị vị trí trang nằm ngang theo cách phù hợp với kiểu dáng thiết bị đeo. Được thiết kế để chụp toàn màn hình và hiển thị chỉ báo cong trên các thiết bị hình tròn. Có thể dùng với trình xem trang Accompanist.
  • Biểu tượng (Icon) – Cách triển khai biểu tượng Wear cho phép sử dụng màu và alpha trong Giao diện Material. Để biết biểu tượng có thể nhấp, hãy xem Nút hoặc Chip.
  • Bộ chọn – hiển thị một danh sách các mục có thể cuộn để chọn. Theo mặc định, các mục sẽ được lặp lại "vô hạn" ở cả hai hướng. Có thể hiển thị ở chế độ chỉ đọc để ẩn các tuỳ chọn bị bỏ chọn.
  • PositionIndicator – hiển thị vị trí cuộn hoặc chỉ báo vị trí khác theo cách phù hợp với kiểu dáng Thiết bị đeo. Được thiết kế để chụp toàn màn hình và hiển thị chỉ báo cong trên thiết bị tròn.
  • Scaffold – triển khai cấu trúc bố cục hình ảnh cơ bản cho Material Design trên Wear. Thành phần này cung cấp một API để tập hợp nhiều thành phần Wear Material (chẳng hạn như TimeText, PositionIndicatorVignette) nhằm xây dựng màn hình, đảm bảo chiến lược bố cục phù hợp với các thành phần đó và thu thập dữ liệu cần thiết để các thành phần này phối hợp hoạt động đúng cách.
  • ScalingLazyColumn – thành phần danh sách điều chỉnh theo tỷ lệ/chế độ xem hình mắt cá tạo thành một phần quan trọng trong ngôn ngữ Wear Material Design. Cung cấp hiệu ứng điều chỉnh theo tỷ lệ và trong suốt cho các mục nội dung. ScalingLazyColumn được thiết kế để có thể xử lý số lượng lớn các mục nội dung, chỉ chứa nội dung cụ thể và soạn nội dung khi cần.
  • Slider – cho phép người dùng lựa chọn trong một phạm vi các giá trị. Phạm vi các lựa chọn được hiển thị dưới dạng thanh, có thể tuỳ ý hiển thị cùng với dấu phân tách.
  • Stepper – thành phần toàn màn hình cho phép người dùng lựa chọn từ một loạt các giá trị, sử dụng các nút tăng/giảm ở đầu và cuối màn hình, với một khe ở giữa Văn bản hoặc Khối.
  • SwipeToDismissBox – sử dụng cử chỉ vuốt để đóng. Đó là một khe duy nhất cho nội dung nền (chỉ hiển thị trong cử chỉ vuốt) và nền trước. Bạn có thể kết hợp với thư viện điều hướng androidx bằng cách sử dụng SwipeDismissableNavHost (xem thư viện Wear Compose Navigation bên dưới), nếu muốn.
  • Văn bản (Text) – Triển khai Wear cho thành phần Compose Material Text, lấy màu và alpha từ Giao diện Wear Material
  • TimeText – một thành phần hiển thị Thời gian và trạng thái ứng dụng ở đầu màn hình. Điều chỉnh giao diện màn hình bằng cách dùng văn bản cong trên màn hình tròn.
  • Vignette – xử lý màn hình để sử dụng trong Scaffold làm mờ phần trên cùng và dưới cùng của màn hình khi đang sử dụng nội dung cuộn.

  • Các thành phần sau đây cũng có trong Wear Compose Foundation:

  • CurvedLayout – Wear Foundation CurvedLayout là một bố cục có thể sắp xếp các vị trí con theo vòng cung, xoay vòng khi cần thiết. Điều này tương tự như bố cục Hàng được uốn cong thành một mảnh của vành hình khuyên. Lưu ý nội dung của CurvedLayout không phải là một hàm lambda kết hợp mà là một DSL (ngôn ngữ đặc thù cho miền). Tất cả các phần tử trong DSL của CurvedLayout đều hỗ trợ tham số đối tượng sửa đổi không bắt buộc, được tạo từ CurvedModifier.

  • basicCurvedText – một phần tử trong CurvedLayout DSL, basicCurvedText cho phép các nhà phát triển dễ dàng viết văn bản cong theo đường cong của hình tròn (thường là ở cạnh của màn hình tròn). Bạn chỉ có thể tạo basicCurvedText trong CurvedLayout để đảm bảo trải nghiệm tốt nhất, chẳng hạn như khả năng chỉ định vị trí và sử dụng CurvedModifiers. Lưu ý trong hầu hết các trường hợp, bạn nên dùng curvedText, vì nó sử dụng giao diện Material.

  • curvedComposable – gói nội dung kết hợp chuẩn hoá để bạn có thể sử dụng với CurvedLayout. Nếu curvedComposable có một số phần tử bên trong, các phần tử này sẽ được vẽ chồng lên nhau (như Hộp). Để đặt nhiều thành phần kết hợp dọc theo một đường cong, hãy gói từng thành phần lại với curvedComposable.

  • curvedRow and curvedColumn – tương tự như Hàng và Cột, curvedRowcurvedColumn có thể được lồng vào bên trong CurvedLayout để bố trí các phần tử khi cần. Đối với curvedRow, bạn có thể chỉ định hướng bố cục góc và căn chỉnh tròn. Đối với curvedColumn, bạn có thể chỉ định hướng căn chỉnh góc và hướng tròn.

  • CurvedModifier – tất cả các thành phần cong đều chấp nhận một tham số đối tượng sửa đổi có thể được tạo bằng cách sử dụng CurvedModifier: nền, kích thước, trọng lượng và khoảng đệm được hỗ trợ.

  • Thành phần sau cũng có trong Wear Compose Navigation:

  • SwipeDismissableNavHost – cung cấp một vị trí trong hệ thống phân cấp Compose để điều hướng độc lập xảy ra, với điều hướng ngược do cử chỉ vuốt cung cấp. Nội dung hiển thị trong SwipeToDismissBox cho biết cấp độ điều hướng hiện tại. Trong cử chỉ vuốt để đóng, mức điều hướng trước đó (nếu có) sẽ hiển thị trong nền.

  • Xem ghi chú phát hành trước đây của các bản phát hành Alpha khác nhau để biết thêm thông tin về nội dung đã phân phối.

Thay đổi về API

  • Đã thêm hàm CurvedModifier.padding*. Chúng dùng để chỉ định không gian bổ sung được thêm xung quanh một thành phần cong. (I4dbb4)
  • Xoá lớp nội bộ CompositionLocal (I42490)
  • Chúng tôi đã thêm các giá trị không đổi cho kích thước biểu tượng Button, CompactButtonToggleButton để làm hướng dẫn (I57cab)
  • Thêm tham số đã bật vào AppCardTitleCard. Giờ đây, chúng sẽ có API tương tự như Thẻ androidx.compose.material. Khi tham số được đặt thành false, bạn sẽ không thể nhấp vào thẻ được. (Idc48d, b/228869805)

Sửa lỗi

  • Trình chuyển đổi hiện sẽ tắt các nút giảm và tăng khi đạt đến giới hạn dưới/giới hạn trên (và áp dụng ContentAlpha.disabled cho iconColor) (I4be9f)
  • Chúng tôi đã thêm khoảng đệm 1 dp xung quanh nội dung Bộ chọn (Picker) khi vẽ một độ dốc để tránh văn bản bị chập chờn khi vuốt. (I0b7b9)
  • Thêm thử nghiệm ảnh chụp màn hình cho PositionIndicator (I5e8bc)
  • Thêm các thử nghiệm khác cho AppCardTitleCard (I85391, b/228869805)

Phiên bản 1.0.0-alpha21

Ngày 20 tháng 4 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21androidx.wear.compose:compose-navigation:1.0.0-alpha21. Phiên bản 1.0.0-alpha21 bao gồm những thay đổi sau.

Tính năng mới

  • Đã thêm đối tượng sửa đổi đường cong mới để chỉ định nền của một phần tử cong: CurvedModifier.background, .radialGradientBackground.angularGradientBackground (I8f392)
  • Cho phép chỉ định chế độ tràn văn bản cong (clip/ellipsis/visibility). (I8e7aa)
  • Đã thêm đối tượng sửa đổi CurvedModifier.weight, tương tự như đối tượng sửa đổi trong Compose. Chế độ này có thể được sử dụng trên các curvedRow và CurvedLayout con (đối với chiều rộng) và con của curvedColumn (đối với chiều cao). (I8abbd)
  • Đã thêm đối tượng sửa đổi CurvedModifier.size, .angularSize.radialSize để chỉ định kích thước của một phần tử cong. (I623c7)

Thay đổi về API

  • Sắp xếp lại các tham số một cách nhất quán để đảm bảo nền ưu tiên trước màu trên API Wear Compose (I43208)
  • Đã xoá các tham số insideOut theo chiều kim đồng hồ và được thay thế bằng hằng số có ý nghĩa hơn trên các lớp mới. Giờ đây, hướng bố cục cong có thể nhận ra LayoutDirection và được kế thừa khi không được chỉ định (If0e6a)
  • Chúng tôi đã thay thế autoCenter: Boolean bằng autoCenter: AutoCentringParams để khắc phục vấn đề về API với ScalingLazyColumn. (Ia9c90)
  • Chúng tôi đã đổi tên iconTintColortoggleControlTintColor thành iconColortoggleControlColor trên toàn bộ API (Chip/ToggleChip/Dialog/Slider/Stepper/...) khi màu được áp dụng cho vị trí icon/toggleControl. (Ied238)
  • Viết lại enum PageIndicatorStyle vào lớp giá trị (I2dc72)
  • Chúng tôi đã thêm RowScope/ColumnScope/BoxScope vào một số vị trí trong Thành phần kết hợp để nhà phát triển nắm bố cục giả định. Điều này cho phép nhà phát triển sử dụng đối tượng sửa đổi bổ sung trên một số vị trí nội dung và tránh phải cung cấp thêm thành phần bố cục. Ngoài ra, chúng tôi cũng đã thực hiện một số thay đổi nhỏ đối với màu của AppCard/TitleCard để timeColorappColor được đặt thành contentColor theo mặc định. Tất cả các thuộc tính này vẫn có thể được ghi đè riêng khi cần. (I26b59)
  • Đặt đối tượng SwipeToDismissBoxState.Companion ở chế độ riêng tư (I39e84)
  • Sửa thứ tự tham số cho InlineSliderStepper. Một thay đổi đơn giản để tuân theo nguyên tắc của api (I11fec)
  • Chúng tôi đã xoá đối tượng Trình tiết kiệm này cho SwipeToDismissBoxState vì đối tượng này không được sử dụng. (Ifb54e)
  • Chúng tôi đã cập nhật CompactChip để đưa thuộc tính này vào Quy cách trải nghiệm người dùng mới nhất. Khoảng đệm đã được giảm xuống mức ngang = 12 dp và dọc = 0 dp. Phông chữ cho nhãn đã được thay đổi từ nút thành chú thích 1. Bạn nên dùng biểu tượng có kích thước 20x20 khi hiển thị cả biểu tượng lẫn nhãn và dùng kích thước 24x24 cho biểu tượng khối nhỏ gọn. Đối với trường hợp chỉ sử dụng biểu tượng, chúng tôi cũng đã đảm bảo biểu tượng đó được căn chỉnh ngay trung tâm. (Iea2be)
  • Chúng tôi đã thêm một số trường mới vào ScalingLazyListLayoutInfo để cho phép nhà phát triển biết số lượng contentPaddingautoCenteringPadding đã được áp dụng. Các hàm này có thể hữu ích cho nhà phát triển khi tính toán fling/scroll (I7577b)
  • Chúng tôi đã triển khai quá trình chuyển đổi vào/ra cho Hộp thoại. Tham số showDialog đã được thêm và Hộp thoại hiện kiểm soát chế độ hiển thị của riêng nó (điều này cho phép Hộp thoại chạy hoạt ảnh giới thiệu và kết thúc khi nó hiển thị/ẩn). Lưu ý hoạt ảnh cuối không được thực hiện khi người dùng rời khỏi hộp thoại thông qua thao tác vuốt để đóng. Chúng tôi cũng đã thêm giá trị mặc định cho trạng thái quá tải SwipeToDismissBox được thêm vào gần đây. (I682a0)
  • Để hỗ trợ tốt hơn cho i18n và a11y, chúng tôi đã thay đổi ToggleChipSplitToggleChip để các giá trị này không còn mặc định cho vị trí toggleControl. Chúng tôi cũng đã thay đổi ToggleChipDefaults để các phương thức sau đây giờ sẽ trả về ImageVector thay vì Biểu tượng (lưu ý vì chúng không còn trả về @Composables nên chúng sẽ thay đổi để bắt đầu bằng chữ thường), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon()RadioIcon()->radioIcon() – điều này cho phép và khuyến khích các nhà phát triển tạo thành phần kết hợp Icon() của riêng mình với một bộ contentDescription thích hợp. (I5bb5b)
  • Chúng tôi đã thêm tham số SwipeDismissableNavHostState vào SwipeDismissableNavHost. Nó hỗ trợ việc sử dụng tính năng vuốt cạnh trên các màn hình dùng làm đích điều hướng, vì SwipeToDismissBoxState hiện có thể được di chuyển và dùng để khởi chạy cả SwipeDismissableNavHostStateModifier.edgeSwipeToDismiss trên màn hình yêu cầu vuốt từ cạnh. (I819f5, b/228336555)

Sửa lỗi

  • Đảm bảo bố cục cong được cập nhật khi cần. (Ie8bfa, b/229079150)
  • Bản sửa lỗi cho https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931)
  • Xoá chú thích thử nghiệm không cần thiết (I88d7e)

Phiên bản 1.0.0-alpha20

Ngày 6 tháng 4 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20androidx.wear.compose:compose-navigation:1.0.0-alpha20. Phiên bản 1.0.0-alpha20 bao gồm những thay đổi sau.

Tính năng mới

  • Thêm đối tượng sửa đổi edgeSwipeToDismiss cho SwipeToDismiss. Cho phép swipeToDismiss chỉ hoạt động ở cạnh bên trái của khung nhìn. Được dùng khi trung tâm màn hình cần khả năng xử lý chế độ phân trang ngang, chẳng hạn như cuộn Bản đồ 2D hoặc vuốt theo chiều ngang giữa các trang. (I3fcec, b/200699800)

Thay đổi về API

  • Cơ sở triển khai CurvedModifiers, thao tác này triển khai cách giới thiệu các cách tuỳ chỉnh nội dung cong (nhưng chưa có CurvedModifiers nào được cung cấp và khả năng tạo đối tượng sửa đổi tuỳ chỉnh có thể có sẵn sau đó) (I9b8df)
  • EdgeSwipeTài liệu về đối tượng sửa đổi và các giá trị mặc định được cập nhật để bạn có thể hiểu rõ hơn. (I6d00d)
  • Thêm vị trí PageIndicator vào Scaffold. Bằng cách thêm trực tiếp PageIndicator vào Scaffold, chúng tôi có thể đảm bảo tệp này sẽ hiển thị chính xác trên các thiết bị hình tròn. (Ia6042)
  • Xoá Biểu tượng mặc định khỏi InlineSlider và tham số Stepper. Điều này sẽ giúp nhà phát triển chú ý hơn đến các yêu cầu về bản địa hoá và hỗ trợ tiếp cận. Việc sử dụng các biểu tượng mặc định được trình bày trong bản minh hoạ và mẫu. (I7e6fd)
  • Thay thế tên tham số Replace Trailing và Leading bằng Start (Bắt đầu) và End (Kết thúc) trong TimeText (Iaac32)
  • Chúng tôi đã thêm quá nhiều SwipeToDismissBox bằng tham số onDismissed để hỗ trợ việc sử dụng phổ biến khi kích hoạt một sự kiện điều hướng khi cử chỉ vuốt đã hoàn tất. (I50353, b/226565726)
  • Đã xoá chú thích ExperimentalWearMaterialApi khỏi mức sử dụng TimeText (Ide520)
  • Chúng tôi đã đánh dấu phạm vi ScalingLazyList/Column và giao diện thông tin kín vì chúng không dành cho các nhà phát triển bên ngoài triển khai, điều này cho phép chúng tôi thêm các thành viên mới trong tương lai mà không có các thay đổi có thể gây ra lỗi với tệp nhị phân. (I7d99f)
  • Chúng tôi đã thêm một thuộc tính flingBehaviour mới vào Bộ chọn (Picker) và một phương thức PickerDefaults.flingBehaviour() để kích hoạt cấu hình của hành vi hất, chẳng hạn như thêm hỗ trợ RSB. PickerState hiện triển khai giao diện ScrollableState. (Ib89c7)

Sửa lỗi

  • Cập nhật các quy tắc của hồ sơ cơ sở trên Android Runtime (ART) cho thư viện Wear Compose. ART có thể tận dụng các quy tắc cấu hình trên thiết bị để biên dịch trước một tập hợp con cụ thể của ứng dụng nhằm cải thiện hiệu suất ứng dụng. Lưu ý việc này sẽ không ảnh hưởng đến các ứng dụng có thể gỡ lỗi. (Iaa8ef)
  • Cải thiện tài liệu (I2c051)

Phiên bản 1.0.0-alpha19

Ngày 23 tháng 3 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19androidx.wear.compose:compose-navigation:1.0.0-alpha19. Phiên bản 1.0.0-alpha19 bao gồm những thay đổi sau.

Thay đổi về API

  • Đã đổi tên CurvedRow thành CurvedLayout và được thiết kế lại cùng một phạm vi với DSL. Khi sử dụng DSL này, bạn có thể chỉ định bố cục cong phức tạp hơn bằng cách sử dụng một chuỗi lồng nhau curvedRowcurvedColumn (là những bố cục cong tương đương với Hàng và Cột). Bên trong các phần tử của bố cục này, có thể sử dụng ba phần tử: curvedComposable (để thêm bất kỳ @Thành phần kết hợp nào), basicCurvedText (văn bản cong của nền tảng) và curvedText (văn bản cong nhận biết được tài liệu). (Ib776a)
  • Đặt cạnh bên cho cấu hình PositionIndicator. Vị trí cơ bản của PositionIndicator hiện đã được định cấu hình để trở thành End (Kết thúc) (nhận biết hướng bố cục), OppositeRsb (bao gồm xoay màn hình, để đặt nó đối diện với RSB thực tế) hoặc mép Trái và mép Phải. (I2f1f3)
  • Đối với SwipeToDismissBox, chúng tôi đã đổi tên SwipeDismissTarget.Original thành SwipeToDismissValue.Default, còn SwipeDismissTarget.Dismissal thành SwipeToDismissValue.Dismissed. Chúng tôi cũng đã di chuyển SwipeToDismissBoxDefaults.BackgroundKeySwipeToDismissBoxDefaults.ContentKey sang SwipeToDismissKeys.Background, SwipeToDismissKeys.Content tương ứng. (I47a36)
  • Chúng tôi đã thêm chế độ chỉ có thể đọc cho Bộ chọn (Picker), đối với các màn hình có nhiều Bộ chọn (Picker), trong đó chỉ có một Bộ chọn (Picker) có thể chỉnh sửa cùng một lúc. Khi Bộ chọn (Picker) ở chế độ chỉ được đọc, nó sẽ hiển thị tuỳ chọn hiện được chọn và một nhãn nếu bạn đã cung cấp tuỳ chọn. (I879de)
  • SwipeToDismissBoxState đã được tái cấu trúc để giới hạn phạm vi từ ExperimentalWearMaterialApi đến Modifier.swipeableSwipeableState, hiện đang được sử dụng nội bộ. SwipeToDismissBoxState hiện có các thành viên currentValue, targetValue, isAnimationRunningsnapTo để hỗ trợ các trường hợp sử dụng phổ biến. Vui lòng cho chúng tôi biết nếu bạn cần cung cấp thêm bất kỳ thuộc tính nào. Đồng thời đã khắc phục hành vi của SwipeableState trong trường hợp độ lệch vuốt nằm trong lỗi làm tròn của liên kết. (I58302)

Sửa lỗi

  • Đơn giản hoá và sửa lỗi mã để phát hiện xem có cuộn được nội dung ScalingLazyColumn hay không (dùng để quyết định xem chúng ta có hiển thị thanh cuộn hay không) (I7bce0)
  • Đã khắc phục lỗi trên Chỉ báo vị trí khi được sử dụng với nhiều trạng thái và chuyển đổi giữa các trạng thái này (I320b5)
  • Chúng tôi đã cập nhật kiểu chữ/phông chữ chủ đề cho tính năng Compose trong Wear OS mặc định để phù hợp với hướng dẫn mới nhất về trải nghiệm người dùng. Lưu ý: display1 (40.sp) và display2 (34.sp) hiện nhỏ hơn giá trị trước đó và nhiều cập nhật nhỏ khác về chiều cao dòng và khoảng cách dòng đã được thực hiện. (Ie3077)
  • Chúng tôi đã thêm tính năng cản trở SwipeToDismissBox để chuyển động đó chỉ diễn ra khi vuốt nhằm đóng và tuyệt đối không di chuyển theo hướng ngược lại. (Ifdfb9)
  • Chúng tôi đã thay đổi một số giá trị tham số mặc định cho các hàm CircularProgressIndicator để phù hợp với hướng dẫn về trải nghiệm người dùng trên Wear Material Design. Đối với phiên bản Spinner/Indeininterminity, kích thước (40 -> 24.dp), indicatorColor (primary -> onBackground), độ trong suốt của trackColor (30% -> 10%) và chiều rộng nét (4 -> 3 dp) đã được cập nhật. Đối với phiên bản Progress/Determinate, độ trong suốt của trackColor (30%->10%) đã được cập nhật. (I659cc)
  • Chúng tôi đã cập nhật các tham số điều chỉnh theo tỷ lệ mặc định của ScalingLazyColumn cùng dòng với tham số kỹ thuật mới nhất của Wear Material Design. Rõ ràng điều này dẫn đến việc các trang thông tin bắt đầu được điều chỉnh gần hơn với vị trí trung tâm trang, nhưng lại bị giảm tỷ lệ ở cạnh trang so với trước đây. (Ica8f3)
  • Một số điều chỉnh đối với ScalingLazyColumnDefaults.snapFlingBehavior để cải thiện điểm cuối của ảnh động (If3260)

Phiên bản 1.0.0-alpha18

Ngày 9 tháng 3 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18androidx.wear.compose:compose-navigation:1.0.0-alpha18. Phiên bản 1.0.0-alpha18 bao gồm các thay đổi sau.

Thay đổi về API

  • Một số điểm cải thiện cho PositionIndicator: ShowResult được đổi tên thành PositionIndicatorVisibility. Một số cải thiện về hiệu suất để tránh các phép tính toán lại khi không cần thiết (Iaed9d)
  • Cập nhật màu sắc đề xuất cho SplitToggleChip. SplitToggleChip's hiện có nền màu đồng nhất khi được đánh dấu hoặc bỏ đánh dấu với màu của ToggleControl là chỉ báo chính để cho biết thành phần đã được đánh dấu hay chưa. Chúng tôi đã thêm một ToggleDefaults.splitToggleChipColors() mới để hỗ trợ bảng phối màu mới. Chúng tôi cũng đã đơn giản hoá các phương thức toggleChipColors() để xoá splitBackgroundOverlayColor (I7e66e)
  • Chúng tôi đã thêm unadjustedSize vào ScalingLazyListItemInfo vì việc tính toán kích thước mục ban đầu bằng cách sử dụng kích thước điều chỉnh theo tỷ lệ và hệ số tỷ lệ sẽ không an toàn do độ chính xác về mặt toán học của số thực dấu phẩy động. (I54657, b/221079441)
  • Thêm HorizontalPageIndicator. Mã này đại diện cho tổng số trang và một trang đã chọn. Có thể là đường thẳng hoặc đường cong, tuỳ thuộc vào hình dạng của thiết bị. Mã này cũng hỗ trợ hình dạng chỉ báo tuỳ chỉnh, giúp xác định cách trình bày trực quan từng chỉ báo. (Iac898)
  • Chúng tôi đã cập nhật PickerState để có thể cập nhật numberOfOptions. Việc này hỗ trợ một số trường hợp sử dụng, chẳng hạn như DatePicker khi số ngày trong tháng thay đổi theo tháng đã chọn. Thông số hàm khởi tạo cho PickerState đã thay đổi thành initialNumberOfOptions cho phù hợp. (Iad066)
  • Ẩn PositionIndicator khi đó là thanh cuộn không thể cuộn. (Id0a7f)
  • Để đảm bảo tính nhất quán với Scaffold, thành phần Hộp thoại toàn màn hình của chúng tôi hiện hiển thị PositionIndicatorVignette. Chúng tôi cũng đang sử dụng ScalingLazyColumn thay vì Column. Điều này có nghĩa là nội dung Hộp thoại hiện đã có trong ScalingLazyListScope (và thường cần được nằm trong mục { /* content */ }). Hộp thoại hỗ trợ các thông số verticalArrangement tương ứng. (Idea13)
  • Chúng tôi đã đổi tên của thuộc tính toggleIcon ToggleChipSplitToggleChip thành toggleControl để phù hợp hơn với Material Design nhằm giúp các nhà thiết kế và nhà phát triển dễ dàng điều hướng trong API. (If5921, b/220129803)
  • Chúng tôi đã thêm mục nhập mới caption3 vào Hệ thống các kiểu hình giao diện Material Wear. Caption3 là một phông chữ nhỏ được sử dụng cho cách viết dài hơn như văn bản pháp luật. (I74b13, b/220128356)

Sửa lỗi

  • Dừng ảnh động chụp nhanh khi chúng tôi ở đó. (Idb69d)
  • Hoạt ảnh hoá thay đổi trong PositionIndicator. (I94cb9)
  • Dựa trên ý kiến phản hồi về giao diện người dùng/trải nghiệm người dùng, chúng tôi đã thay đổi tính năng autoCentering ScalingLazyColumn để cung cấp đủ không gian nhằm đảm bảo người dùng có thể cuộn hoàn toàn các mục có chỉ mục ScalingLazyListState.initialCenterItemIndex trở lên ở giữa khung nhìn. Tính năng này cho phép các nhà phát triển có thể đặt một hoặc hai mục về mục ban đầu ở vị trí trung tâm khiến người dùng không thể cuộn vào giữa. Điều này có nghĩa là ScalingLazyColumn của autoCenter'ing sẽ không thể cuộn trên initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2)
  • Chúng tôi đã thêm một bản minh hoạ cho Bộ chọn ngày và sửa lỗi trong PickerState mà tại đó, initiallySelectedOption không được áp dụng cho đến khi Bộ chọn được hiển thị. (Id0d7e)
  • Để giảm tình trạng cắt bớt các mục ScalingLazyColumn rộng hơn trên màn hình tròn, chúng tôi đã tăng khoảng đệm nội dung mặc định theo chiều ngang từ 8 lên 10 dp. (I0d609)
  • Đảm bảo PositionIndicator được hiển thị khi cuộn. (Ied9a2)

Phiên bản 1.0.0-alpha17

Ngày 23 tháng 2 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17androidx.wear.compose:compose-navigation:1.0.0-alpha17. Phiên bản 1.0.0-alpha17 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm tính năng hỗ trợ chụp nhanh mà bạn có thể sử dụng với ScalingLazyColumn. Đặt flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) để bật tính năng hỗ trợ chụp nhanh. (I068d3, b/217377069)
  • Chúng tôi đã thêm các bản minh hoạ cho Bộ chọn dùng để chọn thời gian theo định dạng 24 giờ hoặc 12 giờ. (Ie5552)

Thay đổi về API

  • Khắc phục sự cố với phông chữ và kiểu TimeText tuỳ chỉnh trên thiết bị hình vuông (Iea76e)
  • ScalingLazyListLayoutInfo hiện có reverseLayout, viewportSize và các thuộc tính hướng khớp với các thuộc tính đó từ LazyListLayoutInfo (I4f258, b/217917020)
  • Giờ đây, ScalingLazyColumn có một thuộc tính userScrollEnabled khớp với thuộc tính đó từ LazyList (I164d0, b/217912513)
  • Theo mặc định, bộ chọn hiện có độ dốc có màu biến đổi trên đầu và cuối (Iab92a)

Sửa lỗi

  • Chúng tôi đã sửa đổi ScalingLazyColumn để mã này không còn lấp đầy toàn bộ không gian trong thành phần mẹ của mã. Thay vào đó, mã sẽ lấy kích thước từ kích thước các nội dung của mã. Điều này nhất quán với hoạt động của LazyColumn. Nếu bạn muốn khôi phục hoạt động cũ, hãy chuyển Modifier.fillMaxWidth()/width()/widthIn() vào ScalingLazyColumn (I51bf8)
  • Chúng tôi đã cải thiện thông báo ngoại lệ trong SwipeDismissableNavHost.kt được kích hoạt nếu ngăn xếp lùi điều hướng trống. (I1b1dc)

Phiên bản 1.0.0-alpha16

Ngày 9 tháng 2 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16androidx.wear.compose:compose-navigation:1.0.0-alpha16. Phiên bản 1.0.0-alpha16 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm CircularProgressIndicator. Chỉ báo tiến trình hiển thị thời lượng của quy trình hoặc thời gian chờ không xác định. Hỗ trợ một khoảng trống (vết cắt) cho TimeText hoặc các thành phần khác nếu được sử dụng toàn màn hình. (Iab8da)

Thay đổi về API

  • Bộ chọn hiện có tham số flingBehavior. Giá trị mặc định làm cho các bộ chọn điều chỉnh theo tuỳ chọn gần nhất khi cuộn/hất. (I09000)
  • API số nguyên bổ sung cho InlineSlider và Stepper (I1b5d6)

Sửa lỗi

  • Chúng tôi đã thay đổi initialCenterItemIndex mặc định cho ScalingLazyListState từ 0->1. Điều này có nghĩa là trừ phi bị ghi đè trên cấu trúc trạng thái với ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), mục danh sách thứ hai (chỉ mục == 1) sẽ được đặt ở giữa khung nhìn khi khởi động và mục đầu tiên (chỉ mục == 0) ) sẽ được đặt trước mục đó. Điều này cho phép hiệu ứng hình ảnh mặc định tốt hơn ngay lập tức vì hầu hết khung nhìn sẽ được lấp đầy với các mục danh sách. (I0c623, b/217344252)
  • Chúng tôi giảm giá trị mặc định ScalingLazyColumn extraPadding được cung cấp để đảm bảo có nhiều mục trong danh sách để vẽ (ngay cả khi chúng tôi điều chỉnh tỷ lệ kích thước một số mục trong số đó) từ 10% xuống còn 5%. Điều này sẽ tránh việc soạn các mục danh sách bổ sung có thể không xuất hiện trong khung nhìn. Nếu đang sử dụng scalingParams không chuẩn (ví dụ: tăng tỷ lệ cực cao), nhà phát triển có thể điều chỉnh khoảng đệm bổ sung bằng cách sử dụng viewportVerticalOffsetResolver. (I76be4)
  • Khắc phục vấn đề TimeText trên nhiều dòng trên thiết bị hình vuông (Ibd3fb)
  • Chúng tôi đã sửa đổi ScalingLazyColumn để mã này không còn lấp đầy toàn bộ không gian trong thành phần mẹ của mã. Thay vào đó, mã sẽ lấy kích thước từ kích thước các nội dung của mã. Điều này phù hợp với hoạt động của LazyColumn. Nếu bạn muốn khôi phục hoạt động cũ, hãy chuyển Modifier.fillMaxSize() vào ScalingLazyColumn – LƯU Ý: Thay đổi này chưa hoàn chỉnh và sẽ được giải quyết trong thay đổi tiếp theo trong bản phát hành alpha tiếp theo. (I3cbfa)

Phiên bản 1.0.0-alpha15

Ngày 26 tháng 1 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15androidx.wear.compose:compose-navigation:1.0.0-alpha15. Phiên bản 1.0.0-alpha15 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã thêm thuộc tính mới autoCentering vào ScalingLazyColumn. Khi là giá trị true (mặc định), thuộc tính này sẽ đảm bảo rằng người dùng có thể cuộn tất cả các mục, bao gồm cả mục đầu tiên và cuối cùng để các mục đó có thể hiển thị ở giữa khung nhìn danh sách. Lưu ý rằng nếu sử dụng tính năng tự động căn giữa, bạn có thể muốn đặt khoảng đệm nội dung dọc thành 0.dp. Nếu bạn cung cấp cả tính năng tự động căn giữa và khoảng đệm nội dung dọc, thì cả hai nội dung này đều sẽ có thêm dung lượng lưu trữ trước mục đầu tiên và sau mục cuối cùng trong danh sách, cho phép người dùng cuộn nhiều nội dung hơn nữa. (I2a282, b/214922490)
  • Chúng tôi đã thêm thành phần Dialog cho phép bất kỳ thành phần kết hợp nào kích hoạt hộp thoại toàn màn hình nằm trên nội dung khác. Khi được hiển thị, hộp thoại hỗ trợ vuốt để đóng và hiển thị nội dung của thành phần mẹ ở chế độ nền trong khi thao tác cử chỉ vuốt. Nội dung hộp thoại dự kiến sẽ là Alert hoặc Confirmation (đã đổi tên từ các thành phần trước đó AlertDialogConfirmationDialog) – Alert, ConfirmationDialog đều nằm trong gói androidx.wear.compose.material.dialog. Bạn có thể sử dụng Cảnh báo và Xác nhận làm đích đến điều hướng. Ngoài ra, chúng tôi đã thêm ColumnScope vào thông số Cảnh báo và Xác nhận nếu cần. (Ia9014)
  • Chúng tôi đã xoá onSurfaceVariant2 khỏi Compose cho Màu giao diện WearOS Material và thay thế các mục đích sử dụng trong thư viện bằng onSurfaceVariant. (Icd592)
  • Thêm một phương thức để chương trình chọn một tuỳ chọn trên PickerState, giờ đây, bạn cũng có thể chỉ định tuỳ chọn đã chọn ban đầu khi tạo PickerState. (I92bdf)
  • Chúng tôi đã bổ sung tính năng hỗ trợ để tuỳ chỉnh hoạt động hất của ScalingLazyColumn. (I1ad2e, b/208842968)
  • Chúng tôi đã thêm NavController.currentBackStackEntryAsState() vào thư viện Wear.Compose.Navigation. (If9028, b/212739653)
  • Thêm Modifier.onRotaryScrollEvent()Modifier.onPreRotaryScrollEvent() cho các thiết bị Wear có nút bên xoay. (I18bf5, b/210748686)

Phiên bản 1.0.0-alpha14

Ngày 12 tháng 1 năm 2022

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14androidx.wear.compose:compose-navigation:1.0.0-alpha14. Phiên bản 1.0.0-alpha14 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm một số phương thức vào ScalingLazyListState để cho phép nhà phát triển kiểm soát việc cuộn tới các mục danh sách cụ thể cũng như đặt mục danh sách ban đầu và độ dời.

    Trong lần thay đổi này, chúng tôi cũng đã sửa đổi ScalingLazyList để danh sách này hướng quanh tâm khung nhìn của ScalingLazyList thay vì vị trí bắt đầu của khung nhìn.

    Một thuộc tính mới anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter đã được thêm vào ScalingLazyList để kiểm soát xem có phải căn giữa (ScalingLazyListAnchorType.ItemCenter) hoặc Edge (ScalingLazyListAnchorType.ItemStart) với đường tâm của khung nhìn hay không.

    Do đó, ScalingLazyListItemInfo.offsetScalingLazyListItemInfo.adjustedOffset đã thay đổi và hiện sẽ phản ánh độ bù trừ của mục đối với cả vị trí của mục danh sách và anchorType của danh sách. Ví dụ: đối với ScalingLazyColumnanchorType của ItemCenter và một mục danh sách được đặt ở vị trí chính giữa trên đường tâm của khung nhìn, độ bù trừ sẽ là 0.

    Các phương thức mới là scrollTo, animatedScrollTo, centerItemIndexcenterItemOffset. (I61b61)

  • Chúng tôi đã thêm một trình xử lý nút quay lại vào SwipeDismissableNavHost để thao tác nhấn vào nút quay lại sẽ chuyển về cấp trước trong hệ thống phân cấp điều hướng. (I5b086, b/210205624)

Phiên bản 1.0.0-alpha13

Ngày 15 tháng 12 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13androidx.wear.compose:compose-navigation:1.0.0-alpha13. Phiên bản 1.0.0-alpha13 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đã đặt RangeIcons trong nội bộ (được InlineSliderStepper tham chiếu nội bộ). (I927ec)

Sửa lỗi

  • Khắc phục vấn đề trong đó SwipeDismissableNavHost thêm một đích đến vào hệ phân cấp Compose trước khi đạt đến trạng thái Vòng đời CREATED, dẫn đến IllegalStateException. Việc sửa lỗi này là điều kiện tiên quyết để cập nhật phần phụ thuộc trên navigation-compose thành 2.4.0-beta02 và nhiều nơi khác. (I40a2b, b/207328687)

  • Thêm lớp enum Đối tượng có thể vẽ để có các tài nguyên có thể vẽ trong thư viện Wear Compose để không cần truy vấn nữa. Điều này khắc phục lỗi đối tượng có thể vẽ của thư viện bị xoá khi minifyEnabled=true hoặc shrinkResources=true).(Ib2a98)

  • Thêm thử nghiệm cho Stepper trong Wear Compose (I2d03a)

  • Thêm mẫu cho SwipeDismissableNavHost trong Điều hướng Wear Compose. (I85f06)

Phiên bản 1.0.0-alpha12

Ngày 1 tháng 12 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12androidx.wear.compose:compose-navigation:1.0.0-alpha12. Phiên bản 1.0.0-alpha12 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm thành phần Stepper cho phép người dùng lựa chọn trong một phạm vi các giá trị. Stepper là một trình điều khiển toàn màn hình, có các nút tăng và giảm ở trên cùng và dưới cùng và một khe ở giữa (dự kiến sẽ nhận được một Khối hoặc Văn bản). Bạn có thể tuỳ chỉnh các biểu tượng nút nếu cần. (I625fe)

  • Chúng tôi bổ sung 2 thành phần kết hợp mới để hiển thị hộp thoại: AlertDialog chờ phản hồi của người dùng, đồng thời hiển thị tiêu đề, biểu tượng, thông báo và a) 2 nút cho các lựa chọn có/không đơn giản hoặc b) khối xếp chồng theo chiều dọc hoặc khối bật/tắt để có các lựa chọn linh hoạt hơn, ConfirmationDialog sẽ hiển thị xác nhận với một khoảng thời gian chờ. Hộp thoại đơn giản này có các ô cho tiêu đề và biểu tượng (ảnh động). (Ic2cf8)

Thay đổi về API

  • Thêm đơn vị (mili giây) vào giá trị thời lượng hộp thoại đề xuất. (I09b48)

Phiên bản 1.0.0-alpha11

Ngày 17 tháng 11 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11androidx.wear.compose:compose-navigation:1.0.0-alpha11. Phiên bản 1.0.0-alpha11 bao gồm các thay đổi sau.

Tính năng mới

  • Chúng tôi đã thêm một thành phần bộ chọn cho phép người dùng chọn một mục trong danh sách cuộn. Theo mặc định, danh sách các mục có thể chọn được lặp lại "vô hạn" ở cả hai hướng, để mang lại ấn tượng về một hình trụ xoay từ mặt bên. Hai tính năng sẽ được thêm vào các bản phát hành sau này: chụp nhanh một giá trị sau khi vuốt/hất; thêm một hàm vào PickerState để đặt/cuộn với giá trị hiện tại. (I6461b)

Thay đổi về API

  • Thêm ScalingLazyItemScope và một số đối tượng sửa đổi mới fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight để cho phép đổi kích thước các mục trong danh sách dựa trên kích thước của vùng chứa phần thành phần mẹ. Bạn có thể đặt các mục thành lấp đầy toàn bộ hoặc một phân đoạn kích thước thành phần mẹ. Thao tác này sẽ hiển thị chức năng đã có trong LazyRow/Column (I4612f)
  • Thêm tuỳ chọn hỗ trợ cho ScalingLazyColumn để cho phép các mục có khoá. Đồng thời thêm các phương thức tiện lợi để cho phép thêm các mục từ Mảng và Danh sách. (Ic1f89)

Sửa lỗi

  • Ví dụ khác về TimeText (I8cb64)

Phiên bản 1.0.0-alpha10

Ngày 3 tháng 11 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10androidx.wear.compose:compose-navigation: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 một InlineSlider cho Wear Compose. InlineSlider cho phép người dùng lựa chọn trong một phạm vi các giá trị. Phạm vi các lựa chọn được thể hiện dưới dạng thanh, từ giá trị tối thiểu đến tối đa của phạm vi, từ đó người dùng có thể chọn một giá trị. (If0148)

  • Hãy xem Compose mới cho Lớp học lập trình WearOS!

Thay đổi về API

  • Macrobenchmark hiện có minSdkVersion23. (If2655)

Sửa lỗi

  • Cập nhật cách xử lý quá trình chuyển đổi trong SwipeDismissableNavHost trong một SideEffect (I04994, b/202863359)
  • Cập nhật cách xử lý quá trình chuyển đổi trong SwipeDismissableNavHost (I1cbe0, b/202863359)

Phiên bản 1.0.0-alpha09

Ngày 27 tháng 10 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09androidx.wear.compose:compose-navigation: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 đã ra mắt bản dùng thử cho nhà phát triển với Compose trên Wear OS. Hãy xem bài đăng trên blog của chúng tôi để đánh giá các thành phần kết hợp chính và đường liên kết đến các tài nguyên khác để bắt đầu sử dụng.

Thay đổi về API

  • Chúng tôi đã bổ sung tính năng hỗ trợ cho các nhà phát triển để họ có thể tuỳ chỉnh tất cả màu sắc trong giao diện màu sắc Wear Material Design. (I4759b, b/199754668)

Sửa lỗi

  • Thêm các mẫu SwipeToDismissBox vẫn tồn tại ở trạng thái này (Ibaffe)
  • Thêm đường liên kết đến hướng dẫn developer.android.com từ KDocs xho CurvedText, TimeText và SwipeToDismissBox. (I399d4)
  • Giờ đây, SwipeDismissableNavHost sẽ gửi nếu không có đích đến hiện tại (cho biết rằng NavGraph chưa được xây dựng bằng hàm số hiệu dụng wear.compose.navigation.composable ) (I91403)
  • Thêm tài liệu và ví dụ khác về cách sử dụng nguồn thời gian trong TimeText (I4f6f0)

Phiên bản 1.0.0-alpha08

Ngày 13 tháng 10 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08androidx.wear.compose:compose-navigation:1.0.0-alpha08. Phiên bản 1.0.0-alpha08 bao gồm các thay đổi sau.

Thay đổi về API

  • Chúng tôi đổi tên các thuộc tính body của AppCard và TitleCard thành content, đồng thời di chuyển xuống cuối danh sách để bạn có thể cung cấp những thuộc tính này dưới dạng hàm lambda theo sau. Đồng thời, đổi tên bodyColor thành contentColor để đảm bảo tính nhất quán với tên khe mới. (I57e78)

Sửa lỗi

  • Thêm đường liên kết đến developer.android.com guides từ KDocs cho nút, thẻ, khối, giao diện, chỉ báo vị trí và các thành phần cột tải lười theo tỷ lệ. (I22428)
  • Sửa lỗi WearOS SwipeToDismissBox đôi khi không xử lý các thao tác vuốt. (I9387e)
  • Thêm mẫu cho Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
  • Thêm các thử nghiệm hiệu suất của microbenchmark trên Thẻ, Khối, ToggleChip, TimeText và ScalingLazyColumn. (If2fe9)

Phiên bản 1.0.0-alpha07

Ngày 29 tháng 9 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07androidx.wear.compose:compose-navigation: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 thành phần CurvedText trong Material, một thành phần cho phép các nhà phát triển dễ dàng viết văn bản cong theo đường cong của một vòng tròn (thường ở cạnh màn hình tròn). (I19593)

Thay đổi về API

  • Thêm thử nghiệm cho TimeText (Idfead)
  • Chuyển đổi ArcPaddingValues thành một giao diện. (Iecd4c)
  • Thêm ảnh động vào SwipeToDismissBox (I9ad1b)
  • Thêm tham số hasBackground vào API SwipeToDismissBox để có thể tắt cử chỉ vuốt khi không có nội dung nền nào để hiển thị. (I313d8)
  • rememberNavController() nay bao gồm thêm một tập hợp thực thể Navigator tuỳ chọn sẽ được thêm vào NavController trả về. Việc này nhằm hỗ trợ tốt hơn cho các Trình điều hướng tuỳ chọn, chẳng hạn như Trình điều hướng trong Tài liệu điều hướng đi kèm. (I4619e)
  • Tham chiếu NamedNavArgument từ navigation-common và xoá bản sao từ wear.compose.navigation. (I43af6)

Sửa lỗi

  • Khắc phục quy trình thử nghiệm không chính xác CurvedRow trên các thiết bị nhỏ hơn. (If7941)
  • Khắc phục sự cố nhấp nháy trên CurvedRow khi nội dung cập nhật và đảm bảo đo lường lại hàng cong (Ie4e06)
  • ChipDefaults.gradientBackgroundChipColors() đã được cập nhật phù hợp với các thay đổi về Thông số kỹ thuật của trải nghiệm người dùng. Giờ đây, độ dốc bắt đầu bằng MaterialTheme.colors.primary với alpha 32,5% và kết thúc bằng MaterialTheme.colors.surface với alpha @ 0% trên nền Material Theme.colors.Surface @ 75% alpha. (Id1548)
  • Chúng tôi đã cập nhật màu sắc cho ToggleChips khi ở trạng thái đã chọn cho phù hợp với hướng dẫn Thông số kỹ thuật trải nghiệm người dùng của Wear Material Design gần đây nhất. Sau khi chọn ToggleChips, bạn sẽ có đối tượng nút có màu biến đổi tuyến tính (gradient) từ MaterialTheme.color.surface @ 0% alpha, ở trên cùng bên trái, sang MaterialTheme.color.primary @ 32% alpha, ở dưới cùng bên phải, trên nền của MaterialTheme.color.surface @ 75% alpha. Điều này dẫn đến sự khác biệt nhỏ giữa trạng thái được đánh dấu và đã bỏ đánh dấu của ToggleChip. (Idd40b)

Phiên bản 1.0.0-alpha06

Ngày 15 tháng 9 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06androidx.wear.compose:compose-navigation: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 Scaffold là một ứng dụng có thể tổng hợp cấp cao nhất có cấu trúc để xử lý vị trí PositionIndicators (như Cuộn hoặc Âm lượng), một vùng ở đầu màn hình để hiển thị thời gian và trạng thái của ứng dụng, đồng thời cũng hỗ trợ làm mờ nét ảnh để làm mờ màn hình trên cùng và cạnh dưới cho nội dung có thể cuộn. Vùng chính của Scaffold là nơi đặt nội dung ứng dụng. (I5e0bf)
  • Thêm tuỳ chọn triển khai TimeText cho Wear Compose (I5654c)

Thư viện Điều hướng Wear Compose

  • Chúng tôi đã thêm bản phát hành đầu tiên của thư viện Điều hướng Wear Compose. Thư viện này giúp tích hợp giữa các thư viện Điều hướng Wear Compose và Androidx. Công cụ này cung cấp một phương thức đơn giản để điều hướng giữa các hàm có khả năng kết hợp làm các đích đến trong ứng dụng của bạn.

  • Bản phát hành đầu tiên này cung cấp:

    • Một thành phần kết hợp SwipeDismissableNavHost lưu trữ biểu đồ điều hướng và cung cấp thao tác điều hướng ngược qua cử chỉ vuốt
    • Tiện ích mở rộng NavGraphBuilder.composable hỗ trợ tạo biểu đồ điều hướng
    • rememberSwipeDismissableNavController() để cho phép đưa trạng thái lên trên
  • Ví dụ về cách sử dụng khi chúng tôi tạo hai màn hình và điều hướng giữa các màn hình đó:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Điều hướng Wear Compose được gói dưới dạng một thư viện riêng biệt để các ứng dụng WearCompose đơn giản có thể triển khai chức năng điều hướng cuộn thủ công mà không cần phụ thuộc vào thư viện Điều hướng AndroidX.

Thay đổi về API

  • Cập nhật SwipeDismissableNavHost để hỗ trợ rememberSaveable bằng cách đặt thông tin nhận dạng chính cho nền và nội dung (I746fd)
  • Chúng tôi đã thêm một trình chuyển đổi PositionIndicator có thể xử lý LazyListState (I21b88)
  • Cập nhật SwipeToDismissBox để hỗ trợ rememberSaveable (Ie728b)
  • Chúng tôi đã thêm tính năng hỗ trợ reverseLayout vào ScalingLazyColumn. Điều này cho phép đảo ngược hướng cuộn và bố cục (I9e2fc)
  • Ngừng sử dụng performGestureGestureScope, thay thế bằng performTouchInputTouchInjectionScope. (Ia5f3f, b/190493367)
  • Chúng tôi đã đổi tên VignetteValue thành VignettePosition và VignetteValue.Both thành VignettePosition.TopAndBottom. (I57ad7)
  • Chúng tôi đã đổi tên ScalingLazyColumnState thành ScalingLazyListState, ScalingLazyColumnItemInfo thành ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo thành ScalingLazyListLayoutInfo và ScalingLazyColumnScope thành ScalingLazyListScope trong trường hợp chúng tôi quyết định thêm một phương thức triển khai ScalingLazyRow trong tương lai. (I22734)

Sửa lỗi

  • Cập nhật tài liệu CompactChip để mô tả những việc sẽ xảy ra nếu không cung cấp cả biểu tượng và nhãn. (I4ba88)
  • Chúng tôi đã thực hiện một số điều chỉnh đối với các thành phần thẻ Wear. (I6b3d0)
    1. Khoảng cách TitleCard giữa Title và Body đã giảm từ 8.dp xuống 2.dp.
    2. Thay đổi phông chữ của tiêu đề TitleCard từ Body thành title3.
    3. Thay đổi đối tượng nút có màu biến đổi tuyến tính (gradient) của nền thẻ để nền có màu tối hơn.

Phiên bản 1.0.0-alpha05

Ngày 1 tháng 9 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha05androidx.wear.compose:compose-material:1.0.0-alpha05. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.

Thay đổi về API

  • Đánh dấu ArcPaddingValues là @Stable (I57deb)
  • Giờ đây, ScalingLazyColumnState triển khai giao diện ScrollableState, cho phép các nhà phát triển có quyền truy cập có lập trình để cuộn thành phần. (I47dbc)

Sửa lỗi

  • Chúng tôi đã giảm khoảng cách giữa Biểu tượng và Văn bản trong Chip và ToggleChip để chúng phù hợp với các cập nhật của Thông số kỹ thuật trải nghiệm người dùng. (I83802)

Phiên bản 1.0.0-alpha04

Ngày 18 tháng 8 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha04androidx.wear.compose:compose-material: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

  • Thêm SwipeToDismissBox và đối tượng sửa đổi có thể vuốt có thể sử dụng để hỗ trợ cử chỉ vuốt từ trái sang phải để đóng. Mặc dù độc lập với các thành phần điều hướng, nhưng bạn cần dùng thuộc tính này để thoát khỏi một màn hình và chuyển đến màn hình khác. Thêm các thử nghiệm tích hợp vào thao tác vuốt để đóng. (I7bbaa)
  • Chúng tôi đã thêm giao diện ScalingLazyColumnItemInfo và ScalingLazyColumnLayoutInfo vào lớp ScalingLazyColumnState, để các nhà phát triển biết được vị trí cũng như kích thước thực tế của các mục trong ScalingLazyColumn sau khi áp dụng tỷ lệ. Chúng tôi cũng đã sửa lỗi về cách tính tỷ lệ khi tính toán khoảng đệm nội dung "hàng đầu" được áp dụng cho ScalingLazyColumn. (I27c07)

Thay đổi về API

  • Thêm lớp CurvedTextStyle để chỉ định các tuỳ chọn kiểu văn bản cong. Tương tự như TextStyle, nhưng hiện chỉ hỗ trợ màu, fontSize và nền. Các tuỳ chọn tạo kiểu khác sẽ được thêm vào trong tương lai. (I96ac3)
  • Chúng tôi đã thêm giao diện ScalingLazyColumnItemInfo và ScalingLazyColumnLayoutInfo vào lớp ScalingLazyColumnState, để các nhà phát triển biết được vị trí cũng như kích thước thực tế của các mục trong ScalingLazyColumn sau khi áp dụng tỷ lệ. Chúng tôi cũng đã sửa lỗi về cách tính tỷ lệ khi tính toán khoảng đệm nội dung "hàng đầu" được áp dụng cho ScalingLazyColumn. (I27c07)
  • Thêm @ExperimentalWearMaterialApi vào SwipeDismissTarget enum, một phần của API SwipeToDismissBox. (I48b5e)

Sửa lỗi

  • Thêm Material thử nghiệm cho SwipeToDismissBox (I9febc)

Phiên bản 1.0.0-alpha03

Ngày 4 tháng 8 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha03androidx.wear.compose:compose-material:1.0.0-alpha03. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Thay đổi về API

  • Thêm thành phần CurvedText, cho phép các nhà phát triển dễ dàng viết văn bản sau đường cong vòng tròn (thường là ở cạnh màn hình tròn) (Id1267)
  • Chúng tôi đã đổi tên CardDefaults.imageBackgroundPainter() thành CardDefaults.imageWithScrimBackgroundPainter() để làm rõ rằng hình nền có màn nền được vẽ trên đó. (I53206)
  • Thêm thành phần ScalingLazyColumn cung cấp một thành phần danh sách cho thư viện Wear Material, mang đến khung hiển thị hình mắt cá với kích thước nội dung danh sách giảm dần đồng thời trở nên trong suốt khi mở rộng đến cạnh thành phần đó. (I7070c)

Sửa lỗi

  • Chúng tôi đã thay đổi màu mặc định của nội dung appName trong AppCard để đáp ứng bản cập nhật Thông số kỹ thuật trải nghiệm người dùng. Màu mặc định cho appName hiện là MaterialTheme.colors.onSurfaceVariant. Ngoài ra, chúng tôi đã thêm phần mô tả tài liệu về thông số bị thiếu cho khe tiêu đề. (Ic4ad1)

Phiên bản 1.0.0-alpha02

Ngày 21 tháng 7 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha02androidx.wear.compose:compose-material: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

  • Thêm một lớp CurvedRow mới để sắp xếp bố cục các thành phần kết hợp trong một ARC (I29941)
  • Thêm loại thẻ mới để sử dụng trong các ứng dụng (TitleCard), đồng thời bổ sung tính năng hỗ trợ cho việc sử dụng hình ảnh làm nền cho Thẻ để nhấn mạnh nội dung của thẻ (I53b0f)

Thay đổi về API

  • Thêm tính năng chọn hỗ trợ cho căn chỉnh theo bán kính vào CurvedRow (tương tự như cách căn chỉnh dọc trong một hàng) (Id9de5)
  • Thêm một lớp CurvedRow mới để bố trí các thành phần kết hợp trong một ARC (I29941)
  • Thêm loại thẻ mới để sử dụng trong các ứng dụng (TitleCard), đồng thời thêm tính năng hỗ trợ cho việc sử dụng hình ảnh làm nền cho Thẻ để nhấn mạnh nội dung của thẻ (I53b0f)
  • Thêm biểu tượng bật/tắt (hộp kiểm, công tắc và nút chọn) vào ToggleChipDefaults để giúp các nhà phát triển dễ dàng định cấu hình ToggleChip và SplitToggleChips (I7b639)
  • Khoảng đệm nội dung bắt đầu và kết thúc cho Chip đã được cập nhật để nhất quán là 14.dp bất kể Chip đó có biểu tượng hay không (trước đây là 12.dp nếu có biểu tượng và 14.dp nếu không có) (I34c86)

Sửa lỗi

  • Thêm thử nghiệm cho CurvedRow (I93cdb)
  • Nhập các phần phụ thuộc của Wear Compose vào Compose 1.0.0-rc01. (Ie6bc9)
  • Thay đổi việc xử lý hoạt động vẽ hình nền trong Card và Chip để hình ảnh được Cắt thay vì bị kéo giãn nhằm duy trì tỷ lệ hình ảnh. (I29b41)
  • Thêm các bản minh hoạ khác và thử nghiệm tích hợp cho Button và ToggleButton. (5e27ed2)
  • Thêm các thử nghiệm Chip khác để phủ màu nội dung cho imageBackgroundChips (Ia9183)

Phiên bản 1.0.0-alpha01

Ngày 1 tháng 7 năm 2021

Phát hành androidx.wear.compose:compose-foundation:1.0.0-alpha01androidx.wear.compose:compose-material: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

Wear Compose là một thư viện dựa trên Kotlin, dựa trên Compose, hỗ trợ Wear Material Design, một tiện ích mở rộng của Material Design cho các thiết bị đeo WearOS. Bản phát hành alpha đầu tiên này có các hoạt động triển khai chức năng ban đầu của:

  • Giao diện của Material – định cấu hình màu, kiểu chữ và hình dạng nhất quán giữa các thành phần kết hợp được sử dụng từ thư viện này.
  • Khối, CompactChip – các khối có hình dạng sân vận động và có các biến thể để lấy biểu tượng, nhãn và nội dung nhãn phụ.
  • – ToggleChip, SplitToggleChip – một loại khối chuyên dụng có chứa một khe cho biểu tượng bật/tắt hai trạng thái, chẳng hạn như nút chọn hoặc hộp đánh dấu. Ngoài ra, SplitToggleChip có hai vùng có thể nhấn vào, một vùng có thể nhấp vào và một vùng có thể chuyển đổi.
  • Nút, CompactButton – các nút có hình tròn, có một khe nội dung duy nhất cho một biểu tượng hoặc văn bản tối thiểu (tối đa 3 ký tự).
  • ToggleButton – nút bật hoặc tắt một hành động, với một khe duy nhất cho biểu tượng hoặc văn bản ở mức tối thiểu (tối đa 3 ký tự).
  • Thẻ, AppCard – hình chữ nhật có các góc tròn, cung cấp các khe cho nội dung như biểu tượng ứng dụng, thời gian, tên và nội dung.

Các bản phát hành trong tương lai sẽ mở rộng phạm vi hỗ trợ của bộ Tiện ích bổ sung các bộ chọn Wear Material Design, thanh trượt, danh sách, chỉ báo trang, hộp thoại, chỉ báo thao tác cuộn, thông báo nhanh và nhiều tiện ích khác.

Ngoài ra, chúng tôi cũng cung cấp dịch vụ hỗ trợ cho các tính năng khác dành cho thiết bị đeo như bố cục và văn bản cong, đồng thời thiết lập ban đầu để giúp nhà phát triển dễ dàng xây dựng ứng dụng/lớp phủ cho Thiết bị đeo.

Wear Compose Material được thiết kế theo nguyên tắc tương tự như Compose Material, mặc dù đối tượng mục tiêu là các thiết bị đeo. Bạn nên sử dụng thư viện Wear Compose Material thay cho thư viện Compose Material khi thiết kế cho thiết bị đeo.

Hai thư viện "Material" loại trừ lẫn nhau và không được đồng thời sử dụng trong cùng một ứng dụng. Nếu nhà phát triển vô tình dùng thư viện Compose Material trong các phần phụ thuộc, màn hình sẽ thông báo a) thiếu thành phần trong thư viện Wear Compose Material, hãy cho chúng tôi biết yêu cầu của bạn, hoặc b) bạn đang sử dụng thành phần chúng tôi đề xuất không nên sử dụng trên Thiết bị đeo.