Wear Compose

  
針對穿戴式裝置編寫 Jetpack Compose 應用程式,支援適用於穿戴式設計的裝置、大小、形狀和瀏覽手勢。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2024 年 12 月 11 日 1.4.0 - - 1.5.0-alpha07

宣告依附元件

如要為 Wear 新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱「Google 的 Maven 存放區」一節。

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

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.
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

Wear Compose Material3 1.0 版

1.0.0-alpha30 版

2024 年 12 月 11 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha30。1.0.0-alpha30 版包含這些修訂項目

API 變更

  • TransformingLazyColumnscrollTransform 修飾符已重構,因此觸發了 API 變更。(I0c6dc)
  • 我們已更新 IconToggleButtonShapesTextToggleButtonShapes,以便使用兩個不同的形狀參數 uncheckedPressedcheckedPressed (I85dbd)
  • 使用 minDatemaxDate 時,現在可以在 DatePicker 中看到無效的月份/日期選項,以及新的 invalidPickerContentColor。(If4541)。
  • 我們已更新 Stepper API,提供 increaseIcondecreaseIcon 時段,您可以照常透過 Icon 可組合項建立這些時段的內容。(Id35da)
  • 我們已更新 dynamicColorScheme,移除了選用的 defaultColorScheme 參數,並現在傳回可為空值的 ColorScheme。也就是說,如果未提供動態色彩配置,呼叫端必須明確處理備用方案。(I6d62e)
  • 我們已更新 ButtonDefaults 中的圖示大小,以便與 CompactButton 搭配使用。如果 CompactButton 只包含圖示,應使用 ButtonDefaults.SmallIconSize = 24.dp;如果 CompactButton 同時包含圖示和文字,則應使用 ButtonDefaults.ExtraSmallIconSize = 20.dp。建議 CompactButton 包裝內容 (而非填滿最大寬度),且已更新範例以顯示這項功能。(I0582c)
  • 我們已為 4 種不同的 EdgeButtonSizes 新增 EdgeButtonDefaults,並提供建議的圖示大小。此外,我們也更新了 EdgeButton 版面配置,讓底部邊框間距比頂部邊框間距稍大,進而改善圖示和文字內容的外觀。(Id772a)。
  • 我們已為 LinearProgressIndicator 新增動畫,並公開 LinearProgressIndicatorContent,提供不含動畫的視覺內容。(Idee99)。
  • 我們新增了新的 CircularProgressIndicatorContent 可組合項,可在沒有動畫的情況下顯示 CircularProgressIndicator 的視覺內容。(Ie33d4)。
  • TransformingLazyColumn 新增了組合本機 LocalTransformingLazyColumnItemScopeCardButtonListHeader 現在會在放入 TransformingLazyColumn 時使用此本機自動變形。呼叫端可以使用新的 TransformExclusion 包裝函式停用自動變形功能。(I1652f)。
  • 我們已將 ButtonDefaults.shape 的類型更新為 RoundedCornerShape (Iccdf2)

修正錯誤

  • 我們已修正錯誤,以便在 TimeText 的背景中使用現有的 alpha (I1eb60)
  • 我們在字體排版中預設將 TextMotion 設為 Animated,以免在縮放作業期間,因字母圖形與像素邊界對齊而導致文字出現誤差。(I626fa)。
  • 我們已更新 ScrollIndicator 的外觀,增加寬度和間距大小,以便提高可見度。(Ied7cb)。
  • 我們已修正 Modifier.scrollTransform 在新增/移除/移動項目時發生的錯誤。(I6830f)。
  • 我們修正了短暫輕觸圓形按鈕的動畫問題 (先前系統無法一律遵循最短動畫時間)。(I757a7)。
  • 我們已將 LevelIndicator 的掃描角度更新為 20% (即 72 度)。(Idde5c)
  • 修正 ScalingLazyColumnAutoCenteringParams 搭配使用時的 ScrollIndicator 位置 (I387dd)
  • 我們已更新 ListHeaderListSubHeader 的顏色和字體排版。以及 CheckboxButtonSwitchButton 切換控制項的顏色。(I39817)
  • 我們已修正 ContentPaddingLazyColumnScalingLazyColumn 中的 ScrollIndicator 位置。(I2bc51)。
  • 我們使用新的 CircularProgressIndicatorContent 修正了 OpenOnPhoneDialog 進度動畫中的錯誤。(I3e443)
  • 我們已更新 HorizontalPagerScaffoldVerticalPagerScaffold,在啟用減少動畫功能時停用動畫 (Iaaf68)
  • 當進度達到 100% 時,我們會為圓形進度指標實作獨立的動畫。(I47135)
  • 修正在 Pager 元件中,EdgeButton 可能會以不正確形狀繪製的錯誤 (I91db9)

1.0.0-alpha29 版

2024 年 11 月 13 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha29。1.0.0-alpha29 版包含這些修訂項目

API 變更

  • 我們已更新 TimeText,提供顯示時間的預設內容。(Id23b3)
  • 我們已移除不再需要的 orientation 參數,簡化 PagerStateScrollInfoProvider。新行為是讓 TimeText 在水平和垂直分頁時都保持在原位。(I71767)。
  • LocalHapticFeedback 現在會在 Vibrator API 指出支援觸覺回饋時,提供預設的 HapticFeedback 實作項目。以下項目已新增至 HapticFeedbackTypeConfirmContextClickGestureEndGestureThresholdActivateRejectSegmentFrequentTickSegmentTickToggleOnToggleOffVirtualKey。在提供長按處理常式後,Wear Compose 可長按的元件 (例如 ButtonIconButtonTextButtonCard) 現在會執行 LONG_PRESS 觸覺回饋。(I5083d)。

修正錯誤

  • 我們已更新確認動作。(I04bff)
  • 我們已將 Compose 程式庫的最低 API 依附元件更新至 1.7.4。(I88b46)。
  • 已為 OpenOnPhone 對話方塊新增動作。(I1e10a)。
  • 我們已修正 LevelIndicator 中的錯誤,因此現在可以正確顯示等級為零的內容。(Ie95a4)。
  • 我們已更新 HorizontalPageIndicatorVerticalPageIndicator 動畫。(I5c8f3)
  • 我們已在未定 ArcProgressIndicator 中加入縮小至點的動畫。(I9fd51)。

1.0.0-alpha28 版

2024 年 10 月 30 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha28。1.0.0-alpha28 版包含這些修訂項目

API 變更

  • 我們已在未確定的圓形進度指標 (I2efc1) 上新增弧形變化版本
  • 我們已公開組成 AlertDialog API 的 AlertDialogContentDialog 可組合項,以便您視需要新增自訂項目 (例如在保留建議內容版面配置的同時自訂 AlertDialog 動畫)。此外,我們已在 AlertDialogDefaultsEdgeButtonConfirmButtonDismissButton 成員中新增 ModifierColor 參數。(I4eb71)
  • 我們已更新 Placeholder API,如下所示:將 PlaceholderState.startPlaceholderAnimation 重新命名為 PlaceholderState.animatePlaceholderPlaceholderState.isShowContent 重新命名為 PlaceholderState.isHidden,以及將 PlaceholderDefaults.shape 重新命名為 PlaceholderDefaults.Shape;將 painterWithPlaceholderOverlayBackgroundBrush 中的 painter 參數重新命名為 originalPainter;將 PlaceholderState.placeholderProgression 的顯示設定從公開變更為內部,並重新命名為 placeholderShimmerProgression;在 PlaceholderDefaults 中新增預留位置動畫時間常數。(Ie5a59)。
  • 我們已更新 EdgeButton API,如下所示:將 ScreenScaffold 的參數從 bottomButton 重新命名為 edgeButton;將 EdgeButtonSize 設為值類別。(Ieef15)
  • 我們已將 copy() 的瀏覽權限變更為公開,適用於 Wear 裝置的 Material3 Colors 類別 (I0287f)

修正錯誤

  • 新增點選 IconToggleButtonTextToggleButton 時的動畫最短時間 (Ieb333)
  • 新增 IconButtonTextButton 形狀動畫的最低時間長度 (Iebcee)
  • 修正 DatePicker 的重複選項狀態。(I3587c)。
  • 新增了快訊和確認對話方塊的動畫效果。(I173b1)。

1.0.0-alpha27 版

2024 年 10 月 16 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha27。1.0.0-alpha27 版包含這些修訂版本

API 變更

  • 我們已更新 ScreenScaffoldScrollIndicator,並將 Wear Compose Foundation LazyColumn 重新命名為 TransformingLazyColumn。(I0608b)。
  • EdgeButtonpreferredHeight 參數已重新命名為 buttonSize,其值只能從新推出的 EdgeButtonSize 值類別中的 4 個常數中選取。(Icdd70)
  • 我們已將 ListSubheader 的名稱變更為 ListSubHeader,並為 ListHeaderListSubHeader 新增可公開存取的預設值。(I96730)。
  • 我們為 Wear 新增了 HorizontalPagerScaffoldVerticalPagerScaffold 元件,可提供新的動畫,並協調時間文字和頁面指標元件。(Iff7d0)
  • 我們已在 HorizontalPagerScaffoldVerticalPagerScaffold 中新增旋轉支援功能,讓使用者可以使用旋轉輸入裝置瀏覽尋呼機。(I9770d)。
  • 我們已對 MotionScheme API 進行調整,以簡化使用方式並提升一致性。移除內嵌的 remember 函式,並將內建的 Motion Schemes 移至專屬的 MotionScheme 隨附物件。將 standardMotionSchemeexpressiveMotionScheme 重新命名為標準和表情符號。(I5fd45)。
  • 我們新增了對以系統顏色為基礎的動態色彩配置支援。(I073e9)
  • 我們已將 Stepper 更新至最新的使用者體驗規格。(I622bb)。

修正錯誤

  • 我們已更新資訊卡元件的字體排版和邊距。(I3ae48)
  • 我們已根據 UX 規格將 AlertDialog 中「確認」/「關閉」按鈕與其餘內容之間的邊框間距從 8dp 變更為 12dp (Ie55f0)
  • 我們已更新滑桿元件的顏色不透明度。(Idb383)。

1.0.0-alpha26 版

2024 年 10 月 2 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha26。1.0.0-alpha26 版包含這些修訂項目

API 變更

  • 我們已更新 HorizontalPageIndicator 的 API 和外觀,並新增 VerticalPageIndicatorVerticalPager 使用 (Ic9309)
  • AlertDialog 現在支援在按鈕堆疊變化版本中省略預設底部按鈕的功能,適用於不需要 EdgeButton 的自訂版面配置。(I34fa9)
  • 我們已為 Wear Material 3 新增 SwipeToReveal 元件 (Ic38b2)
  • 我們在 SwipeToReveal 中新增了對雙向滑動操作的支援,以便在目前畫面不支援滑動關閉的少數情況下使用。預設情況下,滑動方式仍是僅限從右到左滑動,強烈建議您遵循預設行為,避免與滑動關閉功能發生衝突。(Ifac04)
  • 我們已將 EdgeButtonbuttonHeight 參數重新命名為 preferredHeight。(I4fab3)。
  • Kotlin 版本已更新至 1.9 (I1a14c)
  • 我們已將 OpenOnPhoneDialogDefaults.Icon 重新命名為 OpenOnPhoneDialogDefaults.OpenOnPhoneIcon,以免與 Icon 發生衝突(I0f391)
  • 我們已在 LazyColumn 中新增對 ScrollIndicator 的支援。(Ia546a)
  • 我們已更新 TextToggleButtonIconToggleButton 的預設值。(I7aaa9)。
  • 我們已簡化 PickerPickerGroup API。(Id0653)。
  • 我們已新增 CardDefaults.ShapeCardDefaults.Height,這兩個符號 (即符記) 是使用該程式庫的開發人員的私密資訊。(I1594ab/347649765)。
  • 我們已將二進位區隔圓形進度指標的進度參數重新命名為 segmentValue。(Ib72d9)。
  • 我們已更新滑桿的顏色和版面配置。(Ic3eec)。

修正錯誤

  • 我們已更新 openOnPhone 圖示動畫 (I66f85)
  • 我們現在在 SliderTimePickerDatePicker 中使用 Google 符號圖示。(I46c7c)。
  • 我們已更新 ConfirmationOpenOnPhoneDialog 中的邊框間距。(Iaa82e)。

1.0.0-alpha25 版

2024 年 9 月 18 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha25。1.0.0-alpha25 版包含這些修訂項目

API 變更

  • 我們已新增未確定的圓形進度指標。(I427a7)。
  • 我們已為 CircularProgressIndicatorSegmentedCircularProgressIndicator 新增進度溢位 (進度超過 100%) 支援功能。進度超過 1.0 時,系統會以新的 overflowTrack 顏色表示。(Iaaa3d)。
  • 圓形 IconToggleButtonTextToggleButton 現在支援新的形狀動畫變化版本,其中不同的形狀代表已勾選、未勾選和按下狀態。我們仍會支援先前為剛按下狀態所提供的動畫形狀變化。(I29f03)。
  • 由於需要在 ScreenScaffold 中明確指定 EdgeButton 高度,因此我們已移除 EdgeButtonColumn 的支援功能。(Ie353d)
  • 我們已透過 ScreenScaffold 新增對 Wear Compose LazyColumn 的支援 (並為 LazyColumnState 新增 ScrollInfoProvider 的實作)。Ib8d29
  • 我們已將 LocalTextMaxLinesLocalTextAlignLocalTextOverflow 合併為單一 LocalTextConfiguration 本機組合,以便日後提供更具擴充性的解決方案。(I5edbc)。
  • 我們已新增 arc-large 做為額外的類型比例,用於畫面頂端或底部的簡短標題文字字串,例如確認疊加畫面。(I60e3e)
  • 我們已在 Button 中加入預設值,以便使用建議的大型和超大型圖示大小和內容邊距。(I84675)。

修正錯誤

  • 我們已更新 IconButtonTextButton 的顏色。(I48324)
  • 我們已將基本 Button 超載變更為垂直居中對齊,以便與其他超載保持一致。如要還原先前的行為,請使用 RowScope 中的 Modifier.align。(I66e57)。

1.0.0-alpha24 版本

2024 年 9 月 4 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha24。1.0.0-alpha24 版包含這些修訂項目

API 變更

  • 我們已在 Material3 主題中新增 Motion 配置。程式庫中的元件會使用這項功能,套用動畫規格,例如彈簧,以便呈現生動的動作。(I54ff3)
  • 我們已在 Material3 程式庫中新增 AppScaffoldScreenScaffold 元件,其中包含協調 TimeTextScrollIndicator 的層級和轉場功能。AppScaffold 提供頂層的架構元件,可置於所有畫面的頂端。因此,將 TimeText 新增至 AppScaffold 後,您就能在滑動切換畫面時,讓 AppScaffold 保持在原位。螢幕本身可以覆寫或隱藏時間文字。ScreenScaffold 會為 ScrollIndicator 提供一個位置,並在捲動時自動為捲動指標加上動畫效果,包括在閒置一段時間後隱藏捲動指標的逾時時間。(I047d6)
  • 我們新增了採用 Material3 設計的 ScrollIndicator。它會根據初始清單內容,設定固定的縮圖大小,以免在延遲載入內容時,導致大小出現差異。(Ic228d)。
  • 我們已變更 ScrollAway API,讓 ScreenStage 成為值類別而非列舉類別,以便在日後視需要新增其他階段。(I48c93)。
  • 我們新增了 EdgeButton,這是 Wear 專屬的獨特按鈕,其形狀會沿著螢幕底部的曲線 (I16369)
  • 我們已在 ScreenScaffold 中新增一個用於底部按鈕 (例如 EdgeButton) 的新版位,該版位會根據捲動內容顯示及調整大小 (I032eb)
  • 我們已新增 Modifier.scrollTransformModifier.targetMorphingHeight,為 LazyColumn 中的項目加入 Material3 動態效果。(Ie229a)
  • 我們已將 SegmentedCircularProgressIndicator 新增為 CircularProgressIndicator 的變化版本。區隔變化版本會在所有區隔中顯示單一進度值,或是顯示每個區隔的開啟/關閉狀態。(I6e059)
  • 我們已新增 LinearProgressIndicator 做為現有 CircularProgressIndicator 的替代方案。(I89182)
  • 我們已新增 AlertDialog,提供版面配置,向使用者顯示重要提示。變化版本包括一對確認/關閉按鈕,或是一組選項下方的單一底部按鈕 (通常是 EdgeButton)。兩種變化版本都設有圖示、標題和其他文字的版位,可提供更多詳細資訊。(Ieb873)
  • 我們新增了 OpenOnPhoneDialog,應用於指出會在使用者手機上繼續執行的動作。OpenOnPhoneDialog 會在指定的逾時後關閉。(I978fd)。
  • 我們新增了 Confirmation,這是一個對話方塊元件,其中包含圖示和曲線或線性文字的版位。系統會提供特定的成功/失敗訊息變化版本。確認訊息會在逾時後自動關閉。(Ib43e8)。
  • 我們已在 TimeText 中加入背景,以避免底層內容與 TimeText 重疊,並遮蓋時間。(Ia11fd)
  • 我們新增了 LevelIndicator,可顯示音量等設定的值,並可與現有的 Stepper 元件搭配使用,建構音量畫面。LevelIndicatorScrollIndicator 類似,但會顯示在螢幕的另一側,且預設的筆劃寬度較寬,且指標顏色不同。(I8a4ac)
  • 我們已新增 TimePicker,其中包含 24 小時制 (含或不含秒數) 或 12 小時制 (含 am/pm 選項) 的版面配置。(Ia5124)
  • 我們新增了 DatePicker,其中包含資料欄排序設定 (即日-月-年、月-日-年或年-月-日) 和選用的最小/最大日期。(Ibf13b)
  • 我們已在 TimeTexttext 函式中新增權重參數。如果 TimeText 由多個文字元素組成,您可以透過這個屬性控制空格的分配方式。(I36700)。
  • 我們新增了 RadioButtonSplitRadioButton,這些元件結合了 (分割)SelectableButton 和子項單選控制項 (If7ae8),簡化了先前的 API
  • 我們新增了 CheckboxButtonSplitCheckboxButton,這些元件結合了 (Split)ToggleButton 和子項核取方塊控制項 (Ia8f70),簡化了先前的 API
  • 我們新增了 SwitchButtonSplitSwitchButton,這些元件結合了 (Split)ToggleButton 和子項 Switch 控制項,簡化了先前的 API (I0d349)
  • 我們已更新 AnimatedText 說明文件,說明超出範圍的行為。(Iff30a)
  • 我們新增了 ButtonGroup,可結合 2 或 3 個按鈕,讓按下按鈕時產生協調的動畫。(Ie27db)。
  • 我們已為 IconButtonTextButton 新增可選的形狀動畫,(Iffca5)
  • 我們已在 ButtonIconButtonTextButtonCompactButtonEdgeButton 中新增額外的顏色變化版本 FilledVariant (I65fc3)
  • 我們已在 ImageWithScrimPainter 中新增 forcedSize 參數,因此按鈕圖片背景現在會預設維持元件大小。設定 forcedSize = null 時,系統會改用 Painter.instrinsicSize。(Ic57af)。
  • 我們已在按鈕中加入長按功能 (Ib613d)
  • IconButtonTextButton 也已新增長按支援功能。(I38891)。
  • 資訊卡現已支援長按操作。(I305d5)。
  • 我們已將 LocalTextMaxLinesLocalTextAlignLocalTextOverflow 新增為 CompositionLocals,並將其用於 Text 的參數預設值。組合元素的本機變數現在可供 CheckboxButtonSwitchButtonRadioButton 等元件使用,以便實作使用者體驗指南,但開發人員可視需要覆寫參數。(Iab841)。
  • 我們新增了 Placeholder,可在資料載入前,遮蓋按鈕和卡片等元件的內容。(I1a532)。
  • 我們已新增 IconToggleButtonColorsTextToggleButtonColors 取代已移除的 ToggleButtonColors。(Ie0bf1)

修正錯誤

  • 我們已更新 ButtonFilledTonalButtonOutlinedButtonChildButtonCompactButton,以便使用新的 CompositionLocals LocalTextMaxLinesLocalTextAlignLocalTextOverflow 實作使用者體驗指南 - 開發人員可視需要直接在文字上覆寫這些參數 (Ie51f7)
  • 我們已將 LevelIndicator 的預設描邊寬度變更為 6dp,以便與描邊寬度為 4dpScrollIndicator 區分開來。(If6f63)
  • 我們已修正 TimeText 中的問題,以便支援更大的掃描角度。(Ie489f)
  • 修正 EdgeButton 重組期間發生的問題。(I4cdca)。
  • 修正分割切換按鈕的版面配置,以便提供自訂內容邊距。(Ia33d3)。
  • 將小進度值向上捨入,至少為進度指標的線寬。(I3bd84)

1.0.0-alpha23 版本

2024 年 5 月 14 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha23。1.0.0-alpha23 版包含這些修訂版本

API 變更

  • 我們已更新 ToggleButtonRadioButton API,以便設定停用的顏色。(If13a7)
  • 我們已為 Material3 新增 CircularProgressIndicator。(Ib3bd7)。

修正錯誤

  • 我們已修正以下錯誤:選取的按鈕在已選取時,會宣告輕觸兩下即可切換的訊息。(I7ed88)

1.0.0-alpha22 版本

2024 年 5 月 1 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha22。1.0.0-alpha22 版包含這些修訂版本

API 變更

  • 我們已更新 Material3 ColorScheme。(I7b2b8)。
  • 我們已更新 Material3 Switch,並調整部分顏色,勾號現在與核取方塊的勾號一致。(Icac7b)。

修正錯誤

  • 請更新所有整合範例,以便使用新的 rotaryScrollable 修飾符。(I25090)。

1.0.0-alpha21 版本

2024 年 4 月 17 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha21。1.0.0-alpha21 版包含這些修訂項目

  • 由於先前版本發生技術問題,導致來源 JAR 檔案遺失,因此觸發了這次發布。此版本沒有新的提交內容。

1.0.0-alpha20 版本

2024 年 4 月 3 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha20。1.0.0-alpha20 版包含這些修訂項目

修正錯誤

  • 我們已調整漣漪按下和聚焦狀態的 alpha 值,以便顯示對比。(I59f0a)
  • 我們已在 ButtonToggleButtonRadioButton 中,根據最新的字體排版樣式和行高變更,在主要和次要標籤之間增加了間距。(I2c0ba)。

1.0.0-alpha19 版本

2024 年 3 月 6 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha19。1.0.0-alpha19 版包含這些修訂項目

API 變更

  • 我們已將 TimeText 新增至 Wear Compose Material3 程式庫。這個元件會在螢幕頂端顯示目前時間 (和其他狀態)。新的簡潔 Material3 API 可避免線性和曲線內容重複。(I4d7c3)。
  • 我們已將 RadioButton 的參數名稱從 onSelected 更新為 onSelect。(I1a971)。
  • RadioButtonSplitRadioButton 切割成符記,並重構現有方法,藉由新增顏色快取例項,並將 RadioButtonColorsSplitRadioButtonColors 方法設為內部方法,減少 CompositionLocal 查詢的次數。(I02b33)。

1.0.0-alpha18 版本

2024 年 2 月 21 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha181.0.0-alpha18 版包含此連結所列的修訂項目。

API 變更

  • 我們已重構 CardColorsToggleButtonColorsSplitToggleButtonColors 的預設模式,方法是內部建立快取例項,並減少 CompositionLocal 的使用量。(If3fec)

1.0.0-alpha17 版本

2024 年 2 月 7 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha171.0.0-alpha17 版包含此連結所列的修訂項目。

API 變更

  • 我們已更新 Button API,讓其預設使用 buttonColors,並移除重複的 filledButtonColors。(I4fe3b)
  • 我們已為 ButtonColorsIconButtonColorsTextButtonColors 重構預設模式,方法是內部建立快取執行個體,並減少 CompositionLocal 的使用量。(I5f51c)。
  • 我們已移除元件專屬色彩類別中的 rememberUpdatedState 額外負擔,並將色彩類別中的存取子方法標示為內部。(If6571)。

修正錯誤

  • 我們已更新 Modifier.minimumInteractiveComponentSize,以便使用 Modifier.node。(Iba6b7)。

1.0.0-alpha16 版本

2024 年 1 月 24 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha16查看 1.0.0-alpha16 版的修訂項

新功能

  • 我們新增了 CompactButton,可使用與按鈕相同的填滿、填滿色調和外框顏色。(I05df0)

API 變更

  • 我們已將 RadioButton/SplitRadioButton 新增為選取控制項的容器,例如 Radio 控制項。這與現有的 ToggleButton 不同,因為 RadioButton 可供選取 (並在選取群組中運作),而 ToggleButton 則可切換 (且是獨立的)。(I61275)。
  • 我們將從 Wear Compose Material3 程式庫中移除 LocalContentAlpha,以便與 Compose Material3 程式庫保持一致。(I49a0a)
  • 我們已更新 Wear 材質和 Wear Material 3 元件,讓這些元件在 API 中公開 MutableInteractionSource,現在會公開預設為空值的 nullable MutableInteractionSource。這裡沒有語意變更:傳遞空值表示您不想提升 MutableInteractionSource,但如果需要,會在元件中建立 MutableInteractionSource。變更為空值後,部分元件就不會分配 MutableInteractionSource,而其他元件則只會在需要時才以延遲方式建立例項,進而提升這些元件的效能。如果您未使用傳遞至這些元件的 MutableInteractionSource,建議改為傳遞空值。建議您在自己的元件中進行類似變更。(Ib90fcb/298048146)。
  • wear:compose-materialwear:compose-material3 程式庫中新增 ripple API,取代已淘汰的 rememberRipple。並新增暫時性的 CompositionLocal LocalUseFallbackRippleImplementation,將 Material 元件還原為使用已淘汰的 rememberRipple/RippleTheme API。這個選項會在下一個穩定版本中移除,僅適用於您提供自訂 RippleTheme 的情況,用於暫時遷移。如要瞭解遷移資訊和這項異動背後的更多背景資訊,請造訪 developer.android.com。(af92b21)
  • 我們對 HorizontalPageIndicator API 及其說明文件進行了微幅改善。(I60efc)。
  • 我們已更新 ColorScheme 使其不可變更,因此個別顏色的更新效率會降低,但常見的顏色用法效率會提高。這項異動背後的原因是,大多數應用程式不會將更新個別顏色做為主要用途。這仍有可能,但會比先前重組更多,進而大幅減少所有實質程式碼的狀態訂閱量,並影響更多標準用途的初始化和執行階段成本。(Ibc2d6)。
  • 已更新 ToggleButtonSplitToggleButton API,允許自訂停用顏色。此外,Material Design 符記現在可用於顏色和字體排版值。(If087c)
  • 更新按鈕圖片背景顏色,以便使用 Material Design 符記。(Iba215)
  • 我們已移除點擊處理程序,將 CheckboxSwitchRadioButton 元件變更為僅顯示元件。這些元件應在處理點擊事件的 (Split)ToggleButton 中使用,因此現在會更清楚地標示為僅供顯示 (且不適用於在 Wear 上獨立使用)。(I2322e)。

修正錯誤

  • 我們已在 Wear Compose Material 3 中新增了符記,用於表示時間長度和淡出效果的動畫值。(I437cd)。
  • 我們已修正 ToggleButtonSplitToggleButtonCheckboxSwitchRadioButton 中的錯誤,以免重複播放無障礙功能的聲明 (先前語意角色重複)。(Ica281)。
  • 我們已移除 CompactButton 的 MaterialCore 層,以提升效能。(7902858)。

1.0.0-alpha15 版本

2023 年 11 月 15 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha15查看 1.0.0-alpha15 版的修訂項

API 變更

  • 我們已將基礎層級 SwipeToDismissBox 重新命名為 BasicSwipeToDismissBox。這樣一來,您就能更清楚地區分基礎層級元件和 Material3 層級 SwipeToDismissBox。後者會從 MaterialTheme 提取顏色,用於遮罩,並將剩餘的實作委派給 BasicSwipeToDismissBox。(Ibecfc)

修正錯誤

  • 我們已移除 Material3 Button 的 material-core 層,以提升效能。(I55555)。

1.0.0-alpha14 版本

2023 年 10 月 18 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha141.0.0-alpha14 版包含此連結所列的修訂項目。

API 變更

  • 我們已從 Material3 HorizontalPageIndicator 移除 indicatorStyle 參數,改為採用裝置螢幕形狀 (線性或圓形)。(I83728)
  • 我們已透過新增 SplitToggleButtonColors 類別,將 SplitToggleButton 的顏色與 ToggleButton 的顏色分開。(I78bee)。

1.0.0-alpha13 版

2023 年 10 月 4 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha13查看 1.0.0-alpha13 版的修訂項

API 變更

  • 我們已在 TitleCard 中新增選用的副標題欄位。(Ifc45a)。
  • 我們已為 TextButton 新增 Material Design 顏色符記。(I769dc)。

1.0.0-alpha12 版

2023 年 9 月 20 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha121.0.0-alpha12 版包含此連結所列的修訂項目。

API 變更

  • 我們已更新 IconButton 以使用 Material Design 符記。(I3f137)
  • 我們已更新 IconToggleButton 以使用 Material Design 符記。(I7d263)。
  • 我們已將 CheckboxColorsRadioButtonColorsSwitchColors 的建構函式設為公用。(I82b73)。

1.0.0-alpha11 版本

2023 年 9 月 6 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha111.0.0-alpha11 版包含此連結所列的修訂項目。

修正錯誤

  • 我們已將 Material3 資訊卡的字體排版更新為 TitleMedium。(I597bd)
  • 我們已更新 Material3 ListHeaderListSubheader 的字體排版和對齊方式。(Ib5ceb)。

1.0.0-alpha10 版本

2023 年 8 月 23 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha101.0.0-alpha10 版本包含以下修訂項目。

新功能

  • 在 Wear Material3 程式庫中新增 HorizontalPageIndicator。(Ifee99)

API 變更

  • 更新按鈕程式碼,以便使用 Material3 設計符記。(I92fe4)。
  • 由於 Wear Material 3 的使用者介面細節仍在最終定案階段,因此我們將 Wear Material 3 Stepper 和 Slider API 宣告為實驗功能。(I84d54)。
  • 我們已從圓形 TextButtonTextToggleButton 中移除 ExtraSmall 大小,因為該大小只適用於 IconButton。(Ibc7d5)。

修正錯誤

  • 我們已更新 TextToggleButton 的字體排版指南,使用 LabelLarge 的 LargeButtonSize (Ib10fa)
  • 我們已更新 TextButton 的字體設定指南,使用 LabelLarge 做為 LargeButtonSize (I8f3a7)
  • 我們已將卡片的觸控目標最小值設為 48dp,以符合無障礙功能的規定。(Ieb9b1)
  • 新增 AppCard 圖片示範,移除 AppCard 背景示範 (Id735f)
  • 修正圓形按鈕中未正確連結修飾符的錯誤。(I5e162)。

1.0.0-alpha09 版本

2023 年 8 月 9 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha09查看 1.0.0-alpha09 版的修訂項

新功能

  • 我們已為 Material3 新增 ToggleButton (I6bed6)

API 變更

  • 我們已將 FloatRange 註解設為 API 限制,這項資訊先前已在註解中提及。(Icb401)。
  • 我們已更新 Wear Material3 的字體排版,以遵循最新的 Material3 規範。(I1bad6)。

修正錯誤

  • 我們已根據 Material3 設計更新 ButtonIconButtonTextButton 的顏色。(Ib2495)
  • 我們已修正停用狀態下核取方塊的勾選標記顯示情形。(Ib25bf)

1.0.0-alpha08 版本

2023 年 7 月 26 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha08查看 1.0.0-alpha08 版的修訂項

新功能

  • 我們已為 Material3 新增下列選取控制項:SwitchCheckboxRadioButton。(Ib918c)
  • 我們已將 IconToggleButtonTextToggleButton 新增至 Material3,這是一個圓形切換鈕,分別有一個圖示和文字的版位。針對不同大小的 ToggleButton,建議使用 Modifier.touchTargetAwareSize,並搭配各個切換按鈕提供的大小。(I9f015)
  • 我們已在 Material3 元件中新增 ListHeaderListSubheader。(Ibaefe)
  • 我們新增了 Material3 SwipeToDismissBox,可呼叫新的 Foundation SwipeToDismissBox,並提供主題的預設色彩值。(I275fb)。
  • 我們已將 Material3 InlineSlider 新增至 Wear Compose。可讓使用者從多種不同的值中選擇。選取範圍會以長條形式顯示範圍的最小值和最大值,使用者可以從該範圍選取單一值。InlineSlider 非常適合用來調整音量或亮度等設定。(I7085f)。

API 變更

  • 我們已更新 Wear Material 3 主題中的形狀,改為使用 RoundedCornerShape 而非 Shape。(Idb133)。
  • 我們已將 Button 的高度常數設為公開 (Idbfde)
  • 更新 API 檔案,以標註相容性抑制 (I8e87ab/287516207)
  • 我們已更新 Wear Compose Material 3 中的 InlineSliderColors,讓其具有公用建構函式和公用屬性。(I6b632)
  • 我們已更新 Wear Compose Material 3 中的所有色彩類別,讓其擁有公開建構函式和公開屬性。(I17702)。
  • 我們已公開 Button 的水平和垂直邊距常數。(Ieeaf7)。

修正錯誤

  • 按鈕現在會調整高度,以便在必要時容納因無障礙設計而變大的字型內容 (Iaf302)
  • 我們已更新多個 Button 示範,以解決無障礙存取問題。(I61ce9)。
  • StepperInlineSlider 現在支援長按重複點按,這樣一來,只要按住 + 或 - 按鈕,即可快速增加/減少 StepperInlineSlider 的值 (I27359)

1.0.0-alpha07 版本

2023 年 6 月 21 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha07查看 1.0.0-alpha07 版的修訂項

新功能

  • 我們已將 Stepper 元件新增至 Compose for Wear OS Material 3 程式庫。這與先前的 Material 版本類似,但根據開發人員的意見回饋,預設會省略範圍語意。我們會在需要範圍語義的情況下提供 Modifier.rangeSemantics。(Ic39fd)
  • 我們已將 curvedText 新增至 Compose for Wear OS Material 3 程式庫。(Ia8ae3)。

修正錯誤

  • 我們已更新 wear.compose.foundation,使其成為 wear.compose.material3 的 API 依附元件 (I72004b/285404743)

1.0.0-alpha06 版本

2023 年 6 月 7 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha06查看 1.0.0-alpha06 版的修訂項

修正錯誤

  • 我們已更新 TextButton,以便使用 toDisabledColor 擴充函式來修正已停用的 alpha 值。(I814c8)

1.0.0-alpha05 版本

2023 年 5 月 24 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha051.0.0-alpha05 版包含此連結所列的修訂項目。

新功能

  • 我們已將 TextButton 新增至 Material3,這是一個圓形按鈕,其中包含一個文字版位。針對不同大小的 TextButton,建議使用 TextButtonDefaults 提供的 Modifier.touchTargetAwareSizeExtraSmallButtonSizeSmallButtonSizeDefaultButtonSizeLargeButtonSizeIcon。預設的 TextButton 沒有邊框,且背景為透明,用於強調程度較低的動作。如需強調動作,請使用 filledTextButtonColors;如需強調中等程度,請使用帶有輪廓的 TextButton,並將邊框設為 ButtonDefaults.outlinedButtonBorder;如需強調中等程度,請使用 filledTonalTextButtonColors。(I667e4)
  • 我們已將 CardOutlinedCardAppCardTitleCard 新增至 Wear Compose Material3 程式庫。AppCardTitleCard 也可以使用 CardDefaults.outlinedCardColorsCardDefaults.outlinedCardBorder 指定外框外觀(I80e72)

API 變更

  • 我們已將 Button 標籤參數移至結尾,以支援結尾 lambda 語法,並移除角色參數 (因為這個參數可使用 Modifier.semantics 覆寫)。ButtonColors 建構函式現已公開。(Ie1b6d)

1.0.0-alpha04 版本

2023 年 5 月 10 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha041.0.0-alpha04 版本包含以下修訂項目。

新功能

  • 我們已將 IconButton 新增至 Material3,這是一個圓形按鈕,其中有一個圖示/圖片的單一版位。有四種變化版本:IconButtonFilledIconButtonFilledTonalIconButtonOutlinedIconButton。針對不同大小的 IconButton,建議使用 IconButtonDefaults 提供的 Modifier.touchTargetAwareSizeExtraSmallButtonSizeSmallButtonSizeDefaultButtonSizeLargeButtonSizeIcon。我們也提供 IconButtonDefaults.iconSizeFor,用於判斷特定按鈕大小的建議圖示大小。(I721d4)

1.0.0-alpha03 版本

2023 年 4 月 19 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha031.0.0-alpha03 版包含此連結所列的修訂項目。

API 變更

  • 我們已新增 Material 3 按鈕元件,這是我們的體育場形狀按鈕,在 Wear Compose Material 程式庫中原名為 Chip (已重新命名為 Button,以便與 Compose Material 3 程式庫保持一致)。預設的按鈕具有填滿的背景,並提供 FilledTonal (柔和背景)、Outlined (透明且有細邊框) 和 Child (透明背景且無邊框,用於具有最低顯眼度的輔助動作) 等按鈕變化。簡單圖示和文字內容的圓形按鈕將在日後的版本中推出。(Ia6942)

1.0.0-alpha02 版

2023 年 4 月 5 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha021.0.0-alpha02 版包含此連結所列的修訂項目。

修正錯誤

  • 我們已在 Wear Compose Material 3 中新增 DefaultTextStyle,預設 PlatformTextStyle.includeFontPadding 為 true (目前的設定)。這可讓我們在日後同步關閉預設的字型邊距,並使用 Compose 程式庫 (請參閱「修正 Compose 背景的字型邊距」)。(I7e461)。

1.0.0-alpha01 版

2023 年 3 月 22 日

發布 androidx.wear.compose:compose-material3:1.0.0-alpha011.0.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • Material 3 是新一代的 Material Design,包含更新的主題設定和重新設計的元件。Wear Compose 上的 Material 3 旨在與 Android 上的 Material 3 Compose 程式庫相容。此第一版 Alpha 版本包含以下內容的初期功能實作:

    • 材質主題:設定程式庫中各項元件的色彩配置、字體和形狀等設定。Material3 主題已修訂顏色,以便支援無障礙對比度。(I84005)。
    • 文字/圖示 - Wear Compose 應用程式的建構模塊 (I8e06a)
  • 我們會同時開發 Wear Material (androidx.wear.compose:compose-material) 和 Wear Material 3 (androidx.wear.compose:compose-material3)。日後推出的 Material3 版本將擴充小工具組,納入 Compose for Wear OS 的其他常見元件,例如按鈕、挑選器和滑桿。

  • Wear Material 和 Wear Material 3 程式庫互斥,不應在同一個應用程式中混用,主要是因為它們會參照不同的主題,可能會導致意外的不一致性。

Wear Compose 1.5 版

1.5.0-alpha07 版

2024 年 12 月 11 日

發布 androidx.wear.compose:compose-*:1.5.0-alpha07。1.5.0-alpha07 版包含這些修訂項目

API 變更

  • TransformingLazyColumnState 現在提供一種方法,可根據錨點項目索引觀察目前的捲動進度。(I72b01)
  • 我們已在 TransformingLazyColumn 中新增動畫,用於新增、移除及移動項目 (如果有新的 Modifier.animateItem)。(Iecb9c)
  • TransformingLazyColumn 現在會公開 beforeContentPaddingafterContentPadding 的值。(Iccd5f)
  • TransformingLazyColumn 現在提供組合本機 LocalTransformingLazyColumnItemScope,元件 (例如 Material3 中的 CardButton) 可在放入 TransformingLazyColumn 時自動轉換。呼叫端可以使用新的 TransformExclusion 包裝函式停用自動變形功能。(I1652f)。

修正錯誤

  • 我們已更新針對 U 以上版本裝置的旋轉功能,新增最小和最大甩動速度。(I33559)。
  • 修正 TransformingLazyColumn 中項目未包含任何可組合項時發生的當機問題 (Idb99d)
  • 我們已在 Android 香草冰淇淋上新增 ScrollFeedbackProvider 旋轉觸覺回饋支援功能。(Ibc553)
  • 我們已在使用 SwipeToReveal 時提高觸控斜率,以減少在垂直捲動時意外觸發滑動動作的機率。(Ic0672)。
  • 我們已更新 SwipeDismissableNavHost,以便在 API 35 以上版本中使用 PredictiveBackHandler。在這種情況下,系統會套用新的動畫。(I08c11)。

1.5.0-alpha06 版

2024 年 11 月 13 日

發布 androidx.wear.compose:compose-*:1.5.0-alpha06。1.5.0-alpha06 版包含這些修訂項目

API 變更

  • 我們已移除不再需要的 orientation 參數,簡化 PagerStateScrollInfoProvider。新行為是讓 TimeText 在水平和垂直分頁時都保持在原位。(I71767)。
  • TransformingLazyColumn 已在先前版本中推出。我們現在移除了 Wear 的 LazyColumn 別名 (會轉送至 TransformingLazyColumn),改用新名稱 TransformingLazyColumn。我們也已移除 TransformingLazyColumnVisibleItemInfoheight 屬性,請改用 measuredHeight。(I0ea1e)
  • 我們已將 PagerDefaults.snapFlingBehavior snapAnimationSpecTween 變更為 Spring 規格。(I10d02b/349781047b/303807950)
  • 我們已將 LocalReduceMotion CompositionLocal 升級為穩定版 (Ia6f32)

修正錯誤

  • 我們已更新 Modifier.rotaryScrollable,以便使用 focusTargetWithSemantics,進一步支援 rotary 中的語意。(Ief0a0)
  • 我們已將 Compose 程式庫的最低 API 依附元件更新至 1.7.4。(I88b46)。
  • 我們已停用 TransformingLazyColumn 中的寬度變形功能,以便解決裁剪錯誤問題。(I3dfb8)。
  • 修正了在 TransformingLazyColumn 過度捲動後導致項目消失的錯誤 (Id7668)
  • 我們已為 TransformingLazyColumn 新增 LazyLayoutSemantics。(Ia8f56)

1.5.0-alpha05 版

2024 年 10 月 30 日

發布 androidx.wear.compose:compose-*:1.5.0-alpha05。1.5.0-alpha05 版包含這些修訂項目

API 變更

  • 我們已在 TransformingLazyColumnState 上新增對 animateScrollTo 的支援,以便在捲動至項目時顯示動畫。(I4097d)。
  • 我們已在 TransformingLazyColumnState 上新增 requestScrollTo,以便將捲動延後至下一個測量。(I20a5e)
  • 我們已在 TransformingLazyColumn 中新增對 contentPadding 的支援。(I3a69c)。

修正錯誤

  • 我們已修正在內容高度短於螢幕高度時,轉譯 TransformingLazyColumn 時發生的錯誤。(I6c3e1)
  • TransformingLazyColumnScrollInfoProvder 現在可正確追蹤第一個項目。(I1e4a3)
  • TransformingLazyColumnState 現在會儲存其狀態 (anchorItemIndexanchorItemScrollOffset)。(I3d265)

1.5.0-alpha04 版

2024 年 10 月 16 日

發布 androidx.wear.compose:compose-*:1.5.0-alpha04。1.5.0-alpha04 版包含這些修訂項目

API 變更

  • 我們已將 Wear Compose 基礎結構 LazyColumn 重新命名為 TransformingLazyColumn,以便清楚區分這項元素與 Compose 基礎結構 LazyColumn。(I0608b)。
  • 新增水平/垂直翻頁機的旋轉支援功能,讓使用者可透過旋轉輸入裝置瀏覽翻頁機。(I9770d)。
  • 我們已更新新的 PagerDefaults,明確指出分頁器會根據預設自動對齊頁面。(Iff7d0)
  • TransformingLazyColumnItemScrollProgress 現已是值類別,應可改善效能。(Ic399e)
  • TransformingLazyColumn 現在支援旋轉式立即可用。(I05206)
  • TransformingLazyColumnState 現在支援 scrollToItem。(I507b3)
  • SwipeToReveal API 中移除 @ExperimentalWearFoundationApi (I34a66)

1.5.0-alpha03 版

2024 年 10 月 2 日

發布 androidx.wear.compose:compose-*:1.5.0-alpha03。1.5.0-alpha03 版包含這些修訂版本

API 變更

  • 我們在 SwipeToReveal 中新增了對雙向滑動操作的支援,以便在目前畫面不支援滑動關閉的少數情況下使用。。預設情況下,滑動揭露功能仍只會在從右到左滑動時啟用,強烈建議您遵循預設行為,以免與滑動關閉功能發生衝突。(Ifac04)
  • 我們已更新 LazyColumnState 以覆寫 canScrollForwardcanScrollBackward,現在當第一或最後一個項目位於螢幕中央時,系統就會停止捲動。(Ia77d7)
  • 我們新增了 HorizontalPagerVerticalPager 元件,可解決常見問題,例如在 Wear 上可能發生的焦點處理和系統滑動操作互動問題。(I2902b)
  • 我們已新增對 LazyColumn 的支援,可透過 layoutItems 公開用戶端的 keycontentType。(I1bd9c)

修正錯誤

  • 我們已使用繪圖標記更新曲線文字動畫,使其更流暢。(I73a15)。
  • 我們已更新 Material Dialog 說明文件,反映在顯示標記設為「否」後,系統不會呼叫 onDismissRequest。(Ifd8d6)。
  • 修正 Material 對話方塊中暈影動畫的錯誤 (I126bf)

1.5.0-alpha02 版

2024 年 9 月 18 日

發布 androidx.wear.compose:compose-*:1.5.0-alpha02。1.5.0-alpha02 版包含這些修訂項目

API 變更

  • 我們已透過 ScreenScaffold 新增對 Wear Compose LazyColumn 的支援 (並為 LazyColumnState 新增 ScrollInfoProvider 的實作)。Ib8d29
  • 我們已將 viewportSize 新增至 LazyColumnLayoutInfo。(I4187f)。

修正錯誤

  • 我們已修正錯誤,因此當 userScrollEnabled 標記設為 false 時,ScalingLazyColumn 會停用旋轉捲動功能。(I490abb/360295825)。
  • 我們已修正錯誤,解決曲線文字上出現意外垂直邊框間距的問題。曲線文字的高度現在更貼近文字實際使用的空間。請注意,這可能會導致涉及彎曲文字的螢幕截圖測試失敗 (Iaa6ef)
  • 我們已將 Dialog 的錯誤修正內容還原,因為在某些情況下,showDialog 會設為 false,導致 onDismissRequest 被呼叫多次,但 Dialog 會呼叫 onDismissRequest 回呼。(I64656)

1.5.0-alpha01 版本

2024 年 9 月 4 日

發布 androidx.wear.compose:compose-*:1.5.0-alpha01。1.5.0-alpha01 版包含這些修訂版本

API 變更

  • 我們已將新的 LazyColumn 新增至 Wear Compose Foundation 程式庫,並提供相關的 LazyColumnStateLazyColumnScope API。這可做為使用 Wear Compose 建立可自訂的縮放和變形效果的基礎。(Ib3b22)
  • 我們已將 itemsIndexed 的索引版本新增至 LazyColumnScope,做為新的 LazyColumn API 的一部分。(Ib4a57)
  • 我們已新增 LazyColumn 修飾符,以便支援縮放和變形行為。(Ie229a)
  • HierarchicalFocusCoordinator 已升級為穩定版。(I31035)
  • 我們已為弧形文字新增字母間距支援功能。(I3c740)
  • rotationLocked 參數新增至 CurvedLayout.curvedComposable,停止旋轉元件。(I66898)
  • 已從 Wear Material 和 Wear Material3 中移除暫時性的 LocalUseFallbackRippleImplementation API (I62282)
  • @WearPreviewDevices 多格預覽畫面移除 WearDevices.SQUARE (I11c02)

修正錯誤

  • SwipeToReveal 現在會將顯示的項目置於螢幕可見的部分,這有助於在 SwipeToReveal 用於清單時,讓項目一律可供互動,且不會落在螢幕外。(I38929)
  • SwipeToReveal 現會在 animatedTo 完成時將 lastActionType 重設為 None。(I59b03)
  • 改善了 curvedComposable 上新 rotationLocked 參數的說明文件。(Ifbd57)。
  • 修正將 NaN 傳入 ScalingLazyColumnSnapFlingBehaviorperformFling 時發生的異常終止問題。(Ic13da)
  • 修正曲線版面配置大小修飾符的錯誤 (I0fedf)
  • 我們已新增對以「sp」指定的字母間距支援功能。(I9f6e3)
  • 我們已修正 Material2 對話方塊中的錯誤,當對話方塊變得不可見時,系統不會呼叫 onDismissRequest 回呼 (I64656)
  • LayoutCoordinates.introducesFrameOfReference 已重新命名為 LayoutCoordinates.introducesMotionFrameOfReference,以更能反映其用途。重新命名相關函式,以便根據該標記計算座標。(I3a330)

1.4 版

1.4.0 版本

2024 年 9 月 4 日

發布 androidx.wear.compose:compose-*:1.4.0。1.4.0 版包含這些修訂版本

自 1.3.0 版以來的重要異動

  • ScalingLazyColumnPicker 現在預設支援旋轉輸入功能,建議您移除明確的旋轉處理,並延遲至預設系統行為。如有需要,請使用 rotaryScrollableBehavior 參數設定捲動或固定行為。如果是固定行為,建議您使用 flingBehavior 參數提供固定行為和觸控捲動功能。
  • Modifier.rotaryScrollable 是新的修飾符,可將旋轉事件與可捲動容器連結,讓使用者在 Wear OS 裝置上使用錶冠或旋轉邊框捲動畫面。
  • SwipeDismissableNavHost 現在提供應用程式內轉場效果的進入動畫。
  • 系統現在會在首次顯示畫面時預設顯示 PositionIndicator

其他異動

1.4.0-rc01 版本

2024 年 8 月 21 日

發布 androidx.wear.compose:compose-*:1.4.0-rc01。1.4.0-rc01 版本包含這些修訂項目

  • 我們已將 Compose 依附元件更新至 1.7.0-rc01,並將 Wear Compose Navigation 綁定至 androidx.lifecycle 2.8.3

1.4.0-beta03 版

2024 年 6 月 12 日

發布 androidx.wear.compose:compose-*:1.4.0-beta03。1.4.0-beta03 版包含這些修訂項目

修正錯誤

  • 我們已更新 Modifier.rotaryScrollable,將「focusable」替換為「focusTarget」,以提升效能。(Id294b)。
  • 我們已修正 ProgressIndicatorTalkBack 下重複播報的問題。(I94563)。
  • 我們已更新 Wear Compose 程式庫基準設定檔。(I3cbc3)。

1.4.0-beta02 版本

2024 年 5 月 29 日

發布 androidx.wear.compose:compose-*:1.4.0-beta02。1.4.0-beta02 版包含這些修訂項目

修正錯誤

  • 我們已將從曲線文字傳遞至螢幕閱讀器的邊界寬度增加,以解決文字截斷的問題 (Id865f)。
  • 我們已限制傳遞至螢幕閱讀器的 HorizontalPageIndicator 邊界,先前指標會佔滿整個畫面 (Id8d7a)。

1.4.0-beta01 版本

2024 年 5 月 14 日

發布 androidx.wear.compose:compose-*:1.4.0-beta01。1.4.0-beta01 版包含這些修訂項目

Compose for Wear OS 的 1.4-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性 API 除外)。Wear Compose 1.4 包含下列新功能:

  • 我們新增了 Modifier.rotaryScrollable,這是一種可將旋轉事件與可捲動的容器連結的新修飾符,可讓使用者透過錶冠或 Wear OS 裝置的旋轉邊框捲動畫面。此外,ScalingLazyColumnPicker 現在預設支援旋轉輸入。使用 rotaryScrollableBehavior 參數設定捲動或對齊行為。針對貼齊行為,建議您透過 flingBehavior 參數提供貼齊功能,以便觸控捲動。
  • SwipeDismissableNavHost 現在提供應用程式內轉場效果的進入動畫。
  • 系統現在會在首次顯示畫面時預設顯示 PositionIndicator
  • SelectableChipSplitSelectableChip 已新增為 ToggleChip 的變化版本,請搭配 RadioButton 使用,以便提供可選取的語意,而非可切換的語意,以利無障礙功能
  • ListHeader 現在支援高度調整功能,當內容需要額外的高度來容納大型字型時,即可調整高度。

修正錯誤

  • 我們已修正以下錯誤:選取的方塊在已選取時,會宣告輕觸兩下即可切換。(I7ed88)

1.4.0-alpha08 版本

2024 年 5 月 1 日

發布 androidx.wear.compose:compose-*:1.4.0-alpha08。1.4.0-alpha08 版包含這些修訂項目

API 變更

  • 我們已對新的旋轉 API 進行以下變更:將 Modifier.rotary 重新命名為 Modifier.rotaryScrollable;將 RotaryBehavior 介面重新命名為 RotaryScrollableBehavior,並將其函式 handleScrollEvent 重新命名為 performScroll;將 RotaryScrollableAdapter 重新命名為 RotaryScrollableLayoutInfoProvider,並移除 scrollableState 屬性。(I0c8a6)
  • 我們對旋轉 API 做出了其他變更:將 RotaryScrollableLayoutInfoProvider 重新命名為 RotarySnapLayoutInfoProvider (因為這個供應工具只需要用於旋轉與縮放);將 RotaryScrollableDefaults.snapBehavior snapOffset 中的 snapOffset 參數類型從 Int 變更為 Dp。(Iddebe)
  • 我們已將 SplitSelectableChip 上的 clickInteractionSource 參數重新命名為 containerInteractionSource。(Ia8f84)。
  • 我們已更新 SplitSelectableChip 的點擊回呼參數名稱,從 onClick 改為 onSelectionClick,從 onBodyClick 改為 onContainerClick。(I32237)。

修正錯誤

  • 我們已將 PositionIndicator 的水平邊框間距更新為 2dp (原本為 5dp),以修正 PositionIndicator (捲動條) 與可捲動內容重疊的錯誤。請注意,由於邊框變更,這項變更可能會導致包含 PositionIndicator 的現有螢幕截圖無法正常顯示。(I57472)。
  • 我們改善了新版旋轉 API 的說明文件,說明低解析度和高解析度旋轉裝置之間的差異。(I63abe)。
  • 我們已解決 SwipeDismissableNavHost 中的範圍超出例外狀況,這類狀況可能會在插補的 Alpha 值小於零時觸發。(Ib75a1b/335782510)。

1.4.0-alpha07 版本

2024 年 4 月 17 日

發布 androidx.wear.compose:compose-*:1.4.0-alpha07。1.4.0-alpha07 版包含這些修訂項目

API 變更

  • 我們新增了 Modifier.rotary,這是一種可將旋轉事件與可捲動的容器連結的新修飾符,可讓使用者透過錶冠或 Wear OS 裝置上的旋轉邊框捲動畫面。此外,ScalingLazyColumn 和 Picker 現已預設支援旋轉輸入,並提供新的超載,其中包含 rotaryBehavior 參數,可用於指定捲動或快速滑動設定。如果 rotaryBehavior 參數設為 snap,建議您也透過 flingBehavior 參數提供 snap,以便觸控捲動。(I2ef6f)。
  • NestedScroll 來源的 Drag 和 Fling 已由 UserInputSideEffect 取代,以便因應這些來源的擴充定義,現在包括動畫 (Side Effect) 和滑鼠滾輪和鍵盤 (UserInput)。(I40579)。
  • 我們新增了 SelectableChipSplitSelectableChip,以便將 Switch/Checkbox 等切換控制項與 RadioButton 等可選控制項做出明確區隔。這會將先前新增的 ToggleChip/SplitToggleChip 超載替換為 selectionControl 參數。(Ia0217)
  • 已將 ProgressIndicatorDefaults 中的 IndeterminateStrokeWidth 瀏覽權限修飾符更新為公開。(I5b5a4)。

1.4.0-alpha06 版本

2024 年 4 月 3 日

發布 androidx.wear.compose:compose-*:1.4.0-alpha06。1.4.0-alpha06 版包含這些修訂項目

修正錯誤

  • 我們已新增內部旋轉支援草稿,這是從 Horologist 將 Rotary 行為遷移至 AndroidX 的更大努力的一部分。(I617d1)。
  • 我們已新增觸覺回饋支援的內部草稿,這是從 Horologist 將 Rotary 行為遷移至 AndroidX 的更大努力的一部分。(I5568a)。

1.4.0-alpha05 版

March 20, 2024

發布 androidx.wear.compose:compose-*:1.4.0-alpha05。1.4.0-alpha05 版包含這些修訂項目

API 變更

  • 我們已將 ScalingLazyListStateinitialCenterItemIndexinitialCenterItemScrollOffset 屬性設為公開。(I0c616)
  • 我們已將 ProgressIndicatorDefaults 中的 FullScreenStrokeWidth 設為公開。(Ibea23)。

修正錯誤

  • 我們減少了 ScalingLazyColumnlayoutInfo 的呼叫次數,藉此改善 PositionIndicator 的效能。(Idc83d)。

1.4.0-alpha04 版本

2024 年 3 月 6 日

發布 androidx.wear.compose:compose-*:1.4.0-alpha04。1.4.0-alpha04 版包含這些修訂版本

API 變更

  • 我們已為 ToggleChipSplitToggleChip 新增超載,採用 selectionControl 參數而非 toggleControl 參數。應搭配 RadioButton 控制項使用,以便提供可選取的語意,而非可切換的無障礙語意 (I1d6d9)
  • 我們已將 ToggleChipSplitToggleChip 的新 selectionControl 超載參數名稱從 onSelected 更新為 onSelect (I1a971)

1.4.0-alpha03 版

2024 年 2 月 21 日

發布 androidx.wear.compose:compose-*:1.4.0-alpha031.4.0-alpha03 版包含此連結所列的修訂項目。

API 變更

  • Modifier.inspectable 包裝函式已淘汰。這個 API 會不必要地讓修飾符失效,因此我們不建議使用。如果開發人員想要將修飾符屬性公開給工具,建議在 ModifierNodeElement 上實作 inspectableProperties() 方法。(Ib3236)

修正錯誤

  • 我們已修正 WearPreview* 註解的說明文件錯誤。(Id526d)

1.4.0-alpha02 版

2024 年 2 月 7 日

發布 androidx.wear.compose:compose-*:1.4.0-alpha02查看 1.4.0-alpha02 版的修訂項目

修正錯誤

  • 我們已修正滑動顯示的錯誤,在這種情況下,只要開始滑動另一個項目,即可與某個項目的已提交動作互動 (並取消該動作)。(Ide059)
  • 我們已更新 ListHeader,以便在內容需要額外高度以容納大型字型大小時調整高度。(I7290cb/251166127)。

1.4.0-alpha01 版

2024 年 1 月 24 日

發布 androidx.wear.compose:compose-*:1.4.0-alpha01查看 1.4.0-alpha01 版的修訂項目

新功能

  • 我們已為 SwipeDismissableNavHost 新增進入動畫,以便進行應用程式內轉場效果。(cfeb79a)
  • 系統現在會在首次顯示畫面時預設顯示 PositionIndicator。這項異動是為了協助您遵守 Wear 品質指南。很抱歉,這表示您必須更新包含 PositionIndicator 的螢幕截圖測試,因為 PositionIndicator 先前不會顯示。(419cef7)

API 變更

  • 我們已在 wear:compose-materialwear:compose-material3 程式庫中新增了新的 ripple API,用來取代已淘汰的 rememberRipple。並新增暫時性的 CompositionLocal LocalUseFallbackRippleImplementation,將 Material 元件還原為使用已淘汰的 rememberRipple/RippleTheme API。這個選項會在下一個穩定版本中移除,僅適用於您提供自訂 RippleTheme 的情況,用於暫時遷移。如要瞭解遷移資訊和這項異動背後的更多背景資訊,請前往 developer.android.com。(af92b21)
  • 我們已更新 ColorScheme 使其不可變更,因此個別顏色的更新效率會降低,但常見的顏色用法效率會提高。這項異動背後的原因是,大多數應用程式不會將更新個別顏色做為主要用途。這仍有可能,但會比先前重組更多,進而大幅減少所有 Material 程式碼的狀態訂閱量,並影響更多標準用途的初始化和執行階段成本。(f5c48b7)
  • 我們已更新 Wear 材質和 Wear 材質 3 元件,讓這些元件在 API 中公開 MutableInteractionSource,現在會公開預設為空值的 nullable MutableInteractionSource。這裡沒有語意變更:傳遞空值表示您不想提升 MutableInteractionSource,但如果需要,會在元件中建立 MutableInteractionSource。變更為空值後,部分元件就不會分配 MutableInteractionSource,而其他元件則只會在需要時才以延遲方式建立例項,進而提升這些元件的效能。如果您未使用傳遞至這些元件的 MutableInteractionSource,建議改為傳遞空值。建議您在自己的元件中進行類似變更。(f8fa920)
  • 我們已更新 rememberExpandableState,以儲存可展開狀態。這樣可確保在前往其他畫面時儲存資料,並在返回原始畫面時還原資料。(5c80095)。

修正錯誤

  • 我們已更新 ReduceMotion 設定,以便使用生命週期感知事件監聽器。(7c6b122)
  • 我們已更新 TouchExplorationStateProvider 的 Listener,使其具備生命週期感知功能 (be28b01)
  • 我們已移除 CompactButton 的 MaterialCore 圖層,以提升效能 (25db8e9)
  • 我們已讓 BasicSwipeToDismissBox 更能應付 NaN 偏移,以免發生例外狀況。(b983739)
  • 我們已更新 BasicSwipeToDismissBox,確保 Alpha 值在 0,1 範圍內
  • 我們已修正 ToggleButtonSplitToggleButtonCheckboxSwitchRadioButton 中的錯誤,以免重複播放無障礙功能廣播訊息 (先前語意角色重複) (d11eeb7)

1.3 版本

1.3.1 版本

2024 年 4 月 3 日

發布 androidx.wear.compose:compose-*:1.3.1。1.3.1 版包含這些修訂項目

修正錯誤

  • 我們已修正滑動顯示的錯誤,在該錯誤中,只要開始滑動另一個項目,即可與某個項目上的已提交動作互動 (並取消該動作)。(Ide059)

1.3.0 版本

2024 年 1 月 24 日

發布 androidx.wear.compose:compose-*:1.3.01.3.0 版包含此連結所列的修訂項目。

自 1.2.0 版以來的重要異動

  • SwipeToDismissBoxState 類別、SwipeToDismissValue 列舉,以及 Modifier.edgeSwipeToDismiss 擴充功能函式現在都屬於 androidx.wear.compose.foundation 套件,而非 androidx.wear.compose.material 套件。這個更新的架構可讓您在實作手勢處理時,不必考量其他設計考量。Material Design 工作流程 (例如套用已設定主題的顏色) 會個別處理。
  • SwipeToRevealCardSwipeToRevealChip 類別可協助您實作 recommended swipe-to-reveal guidanceSwipeToRevealSample 類別會示範如何使用這些元件。
  • 1.3.0-alpha02 版本推出了變更,導致 ChipToggleChip 物件的高度增加,以便更好地支援使用者選取的字型縮放比例。這可能會導致部分內容遭到裁剪。為修正這個問題,MaterialThemelarge 形狀現在使用較大的圓角半徑 (26 dp,而非 24 dp)。ChipToggleChip 物件會使用這個新的角落半徑,避免在 Chip 和 ToggleChip 的角落裁剪內容。

    • 由於大多數 ChipsToggleChips 的預設高度為 52 dp,因此不會有所變更。不過,如果 ChipToggleChip 物件包含多行主要或次要標籤文字,或是高度已覆寫,可能會導致螢幕截圖測試失敗。

其他異動

如需 1.3.0 版中推出的完整變更項目,請參閱 beta01 版本資訊

導入建議

  • 如果應用程式允許使用者平移螢幕內容 (例如以地圖為基礎的應用程式),請在 SwipeDismissableNavHost 可組合項中將 userSwipeEnabled 設為 false,藉此關閉滑動操作,並加入可讓使用者前往上一個畫面的按鈕。
  • 如要在捲動清單中淡入和變更位置的動畫期間,關閉位置指標的動畫,請使用 SnapSpec 物件。
  • 在等待媒體應用程式載入內容以供播放時,請顯示空白的 Placeholder 可組合項。
  • 如要建立可隨選展開的項目集合,請考慮使用實驗性的 ExpandableStateMapping 類別。

1.3.0-rc01 版本

2024 年 1 月 10 日

發布 androidx.wear.compose:compose-*:1.3.0-rc011.3.0-rc01 版包含此連結所列的修訂項目。

修正錯誤

  • 我們已更新 MaterialTheme 大型形狀,以便使用 26dp 圓角半徑,而 Chip 和 ToggleChip 也將採用這項更新。當內容需要額外的高度來容納較大的字型大小時,就需要進行這項變更,以便支援高度調整功能,否則現有的體育場形狀會裁剪部分文字內容。

    文字在邊角處遭到裁剪
    圖 1:文字在角落處遭到裁剪。
    未裁剪文字
    圖 2:未裁剪的文字。

    這項變更可能會導致螢幕截圖測試失敗。(I2e6ae)

1.3.0-beta02 版

2023 年 12 月 13 日

發布 androidx.wear.compose:compose-*:1.3.0-beta021.3.0-beta02 版包含此連結所列的修訂項目。

修正錯誤

  • 我們已在 BasicSwipeToDismissBox 中還原預期的滑動動作。這項功能在先前版本中已有所變更,因此轉場效果的滑動部分會在手指觸碰螢幕時發生。(Id8e76)

1.3.0-beta01 版本

2023 年 11 月 15 日

發布 androidx.wear.compose:compose-*:1.3.0-beta01查看 1.3.0-beta01 版的修訂項

Compose for Wear OS 的 1.3-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear Compose 1.3 包含下列新功能:

  • SwipeToDismissBoxStateSwipeToDismissValueModifier.edgeSwipeToDismiss 已從 androidx.wear.compose.material 遷移至 androidx.wear.compose.foundation,並與 BasicSwipeToDismissBox 中的滑動關閉基礎實作方式搭配使用。這樣一來,滑動關閉手勢的處理方式就能獨立於 Material Design 使用,例如 androidx.wear.compose.navigation 中的 SwipeDismissableNavHost。建議您仍將 androidx.wear.compose.materialSwipeToDismissBox 與 Material Design 搭配使用,因為它會從 MaterialTheme 提取顏色,然後將其餘實作委派給 BasicSwipeToDismissBox
  • SwipeDismissableNavHost 現在支援新的 userSwipeEnabled 參數,可針對不需要滑動處理的螢幕關閉滑動處理。
  • BasicSwipeToDismissBox 已使用 HierarchicalFocusCoordinator 改善焦點處理方式。
  • SwipeToReveal 在 Material 中提供新的 SwipeToRevealCardSwipeToRevealChip 可組合項,遵循 CardChip 的建議使用者體驗指南。也支援撤銷次要動作。
  • DefaultTextStyle 現在會關閉字型邊距,以便在 Android 平台上保持一致。
  • ChipToggleChip 現在會調整高度,以便容納因無障礙功能而放大字型而增加的內容
  • PositionIndicator 現在提供個別的動畫規格,用於淡入、淡出和位置變更動畫。基於效能考量,建議您在使用可捲動的清單時,關閉淡入效果和位置變更功能。
  • ExpandableStateMapping 提供一種新方法,可在需要按需建立 ExpandableStates 時使用,但不一定需要 @Composable 範圍。
  • 如果內容不再處於就緒狀態,Placeholder 現在可允許重設。此外,減少動態效果設定現在也適用於 Placeholder 上的閃爍效果和擦除動作。

已知問題

  • 系統初次顯示畫面時,不會顯示 PositionIndicator。我們打算在 1.4 初期 alpha 版中進行變更,讓該圖示在初始顯示時不含任何動畫。

API 變更

  • 我們已將基礎層級 SwipeToDismissBox 重新命名為 BasicSwipeToDismissBox。這樣一來,基礎層級元件和 Material 層級 SwipeToDismissBox 之間的差異就更清楚了。後者會從 MaterialTheme 提取顏色,用於遮罩,並將剩餘的實作委派給 BasicSwipeToDismissBox。(Ibecfc)
  • 我們已將 rememberExpandableStateMapping 標示為實驗功能,並改善 expandableItem 的效能。(I5f6bc)。
  • 我們已將 Material SwipeToReveal 卡片和方塊 API 中的 SwipeToRevealAction 類別,替換為使用 SwipeToRevealPrimaryActionSwipeToRevealSecondaryActionSwipeToRevealUndoAction 可組合項的以插槽為基礎的 API。如需新 API 的使用方式範例,請參閱程式碼範例。(Ia8943)。
  • 我們已將 PositionIndicator 動畫旗標替換為 AnimationSpec 參數。您可以將 snap 傳遞為 AnimationSpec,藉此停用個別動畫。(I6c523)

修正錯誤

  • 我們已修正在限制大小時,因限制曲線文字而觸發的錯誤 (I50efe)
  • 我們已解決與 curvedComposable 相關的潛在 NaN 當機問題 (I970eb)
  • 我們已將 PositionIndicator 上移除的位置變更醒目顯示動畫還原。(Ieb424)
  • 我們已移除 Material Chip 的 Material-Core 層,以提升效能。(If2dcb)。

1.3.0-alpha08 版

2023 年 10 月 18 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha081.3.0-alpha08 版包含此連結所列的修訂項目。

API 變更

  • 我們已在 PositionIndicator 超載中新增個別旗標,用於控制不同的動畫:showFadeInAnimationshowFadeOutAnimationshowPositionAnimation。舊版 API 已淘汰,並將呼叫轉送至新版 API。基於效能和使用者體驗一致性的考量,當 PositionIndicator 與可捲動的清單搭配使用時,建議您關閉 showFadeInAnimationshowPositionAnimation 標記。如果 PositionIndicator 用於獨立指標 (例如音量變更),建議您開啟所有 3 個動畫。(I44294)。
  • 我們已淘汰 Material SwipeToDismissBoxStateSwipeToDismissValueedgeSwipeToDismiss,因為滑動關閉功能已遷移至 wear.compose.foundation。請用 wear.compose.foundation 等值取代。(Iee8c9)。

修正錯誤

  • 我們已更新 Wear Compose 基礎、Material 和 Navigation 程式庫的基準設定檔。(Idb060)。
  • 我們已將先前 CL 中引進的 PositionIndicator 行為變更還原,以便在螢幕初始顯示時顯示 PositionIndicator 動畫。我們打算在 1.4 初期 Alpha 版中進行類似的變更,讓 PositionIndicator 一開始顯示,但沒有任何動畫。(I41843)
  • 我們已解決 PositionIndicator 中的部分效能問題。(I1c654b/302399827)
  • 我們已改善觸控探索狀態供應器預設實作的效能,讓系統依賴 State<Boolean> 而非衍生狀態。(Ieec4d)。
  • 我們已為 Android 13 以上版本設定 systemGestureExclusion 矩形。(Ib1f4b)。

1.3.0-alpha07 版

2023 年 10 月 4 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha071.3.0-alpha07 版包含此連結所列的修訂項目。

API 變更

  • 我們已在 PositionIndicator 中新增個別旗標,用於控制不同的動畫:showFadeInAnimationshowFadeOutAnimationshowPositionAnimation。舊版 API 已淘汰,並將呼叫轉送至新版 API。基於效能和使用者體驗一致性的考量,當 PositionIndicator 與可捲動的清單搭配使用時,建議您關閉 showFadeInAnimationshowPositionAnimation 標記。如果 PositionIndicator 用於獨立指標 (例如音量變更),建議您開啟所有 3 個動畫。(Ia2d63)

修正錯誤

  • 我們改善了滑動顯示動作,在主要動作文字中加入淡出動畫,並在完全滑動展開時淡出次要動作/變更圖示比例。(Ib7223)
  • 建議您將滑動揭露動作設為無障礙,我們已在滑動揭露範例中新增自訂無障礙動作。(I42224)。
  • 我們改善了 SwipeToDismissBox 的效能,包括重構,確保初始邏輯不會觸發重組。SwipeToDismissBox 現在會以全螢幕大小繪製。(Ie0aa2)。
  • 我們已修正 PositionIndicator 錯誤消失的錯誤。(I2091a)
  • 透過最佳化重組,改善 PositionIndicator 的效能。後續新增了用於控制動畫的新旗標 (fadeInfadeOutpositionChange) (請參閱「API 變更」) (Ifac7d)
  • 我們已為 PositionIndicator 新增 Microbenchmark 測試 (Idf875)

1.3.0-alpha06 版

2023 年 9 月 20 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha061.3.0-alpha06 版包含此連結所列的修訂項目

修正錯誤

  • 我們已新增對 Modifier.edgeSwipeToDismiss 的支援,並與 SwipeToReveal 搭配使用。(I95774b/293444286)。
  • 我們已為 Material SwipeToRevealChipSwipeToRevealCard 新增範例。(Ieb974)
  • 我們已更新 Wear Compose Foundation 和 Material 程式庫的基準設定檔。(I1dd1f)

1.3.0-alpha05 版

2023 年 9 月 6 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha051.3.0-alpha05 版包含此連結所列的修訂項目

修正錯誤

  • 我們已在「滑動顯示」中新增處理程序,因此一次只能滑動一個項目。(I3cd7a)。
  • 改善 ScalingLazyColumnDefaults 的說明文件,以更貼近實際行為。(I886d3)

1.3.0-alpha04 版本

2023 年 8 月 23 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha041.3.0-alpha04 版包含此連結所列的修訂項目

新功能

  • 我們已為 SwipeToReveal 的次要動作新增撤銷支援功能。(I7a22d)

API 變更

  • 在 Wear Material3 程式庫中新增 HorizontalPageIndicator。(Ifee99)
  • 更新 Wear Compose 預覽工具,以便使用 androidx.wear.tooling.preview 程式庫。(Ib036e)。

修正錯誤

  • 修正圓形按鈕中未正確連結修飾符的錯誤。(I5e162)。

1.3.0-alpha03 版

2023 年 8 月 9 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha031.3.0-alpha03 版包含此連結所列的修訂項目。

API 變更

  • 我們在 Material 中新增了兩個可組合項,可透過資訊卡和方塊實作 SwipeToReveal。這些可組合項遵循元件的 UX 最佳做法建議,可讓開發人員更輕鬆地使用 Wear Material 中的現有元件導入 SwipeToReveal。(I7ec65)
  • 我們已將 FloatRange 註解設為 API 限制,這項資訊先前已在註解中提及。(Icb401)。

修正錯誤

  • 我們已將 ScalingLazyColumn 的初始捲動邏輯移至 onGloballyPositioned() 中。(Ic90f1)。
  • 我們現在會在 PositionIndicatorProgressIndicatorSelectionControls 中使用 drawWithCache 來最佳化筆劃分配。(I5f225b/288234617)。
  • 我們已修正停用狀態下核取方塊的勾選標記顯示情形。(Ib25bf)
  • 我們已更新 Placeholder,讓系統在內容不再處於就緒狀態時,可透過重設作業顯示預留位置。(Ibd820)。
  • 我們已修正部分不穩定的 Placeholder 測試 (Idb560)

1.3.0-alpha02 版本

2023 年 7 月 26 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha02查看 1.3.0-alpha02 版的修訂項

API 變更

  • 我們提供 ExpandableStateMapping,這是產生 ExpandableStates 的新方法,適用於需要按需建立 ExpandableStates 的情況,但不一定在 @Composable 範圍內 (Iff9e0)
  • SwipeToDismissBox 已從 androidx.wear.compose.material 遷移至 androidx.wear.compose.foundation 套件。(I275fb)。
  • 更新 API 檔案,以註解相容性抑制。(I8e87ab/287516207)。
  • 我們已將 ChipCompactChipToggleChip 的高度常數設為公開 (Idbfde)
  • 我們已公開 ChipCompactChip 的水平和垂直邊距。(Ieeaf7)。
  • 新增功能,可透過新的 userSwipeEnabled 參數關閉 SwipeDismissableNavHost 中的滑動操作處理。(Id2a0bb/230865655)。
  • 我們已更新 Wear Compose Navigation 程式庫,以便使用 Wear Compose Foundation 提供的新 SwipeToDismissBox。(I4ff8e)。

修正錯誤

  • 我們已修正 z 順序錯誤,當按鈕存在時,按下按鈕的行為後,expandedItem 不會顯示正確的內容。(I1899db/289991514)。
  • 使用 HierarchicalFocusCoordinator 改善 SwipeToDismissBox (以及 SwipeDismissableNavHost) 的焦點處理方式 (I45362b/277852486)
  • 我們已修正 SwipeableV2 中的手勢處理方式。(I89737)。
  • 我們已完成 1.2 版的基準設定檔。(Id5740)
  • SwipeToDismissBox 遷移至 Foundation 後,Material SwipeToDismissBox 實作項目現在會轉送至 Foundation,並提供其主題的預設顏色值。(If8451)
  • 我們已在 ListHeader 中新增標題語意。(Ic5420)。
  • ChipToggleChip 現在會調整高度,以便在需要時容納因無障礙功能而變大的字型內容。(Iaf302)
  • 修正 SplitToggleChip 可點選區域的語意角色中出現的錯誤,以便提供無障礙功能。(Ieed3a)。
  • 減少動畫設定現在會關閉預留位置上的閃爍效果和擦除動畫。(I91046)。
  • StepperInlineSlider 現在支援重複點按長按,只要按住 + 或 - 按鈕,即可快速增加/減少 StepperInlineSlider 的值。(I27359)

1.3.0-alpha01 版本

2023 年 6 月 21 日

發布 androidx.wear.compose:compose-*:1.3.0-alpha011.3.0-alpha01 版本包含以下修訂項目。

修正錯誤

  • 如同 1.2.0-alpha071.2.0-alpha10 所述,我們現在會變更 DefaultTextStyle,以關閉字型邊距,讓 Android 平台上的字型邊距保持一致。這麼做可解決部分使用大字型導致文字裁剪的情況,但也可能影響螢幕版面配置,因此需要更新螢幕截圖測試。例如,我們在這裡看到文字裁剪 (Ic6a86)
使用大字型時,文字會遭到裁剪
圖 1:文字遭到裁剪。
  • 關閉字型邊距後,系統就不會顯示:
使用大字型時,文字不會遭到截斷
圖 2:未裁剪的文字。
  • 我們已更新 wear.compose.foundation,使其成為 wear.compose.material 的 API 依附元件 (I72004b/285404743)
  • 我們已修正 SwipeToDismissBox 中的錯誤。背景和內容鍵現在會傳遞至 remember 區塊,以便在內容或背景變更時建立新的修飾符。(Ib876cb/280392104)。
  • 我們已更新 TimeText,讓您在選擇 12 或 24 小時制時間格式時,可以使用語言代碼。(If4a3d)。
  • 我們已修正 SwipeToDismissBox contentScrimColor 預設參數的不一致性。(I2d70f)。
  • 我們已改善 SwipeToReveal 中的動作處理方式。(I28fb7)。

已知問題

  • 支援使用者設定的字型大小是無障礙設計的必要條件。我們知道,如果以較大的字型大小顯示多行方塊,可能會導致文字遭到裁剪,因此我們會在 1.3 版 Alpha 早期版本中更新方塊,以便在這些情況下調整高度。

1.2 版本

1.2.1 版本

2023 年 10 月 18 日

發布 androidx.wear.compose:compose-*:1.2.1查看 1.2.1 版的修訂項目

修正錯誤

  • 修正 PositionIndicator 錯誤消失的錯誤。(7a167f)。

1.2.0 版本

2023 年 8 月 9 日

發布 androidx.wear.compose:compose-*:1.2.01.2.0 版包含此連結所列的修訂項目。

自 1.1.0 版以來的重要異動

1.2.0-rc01 版本

2023 年 7 月 26 日

發布 androidx.wear.compose:compose-*:1.2.0-rc01查看 1.2.0-rc01 版的修訂項目

修正錯誤

  • 我們已完成 1.2 版 (Id5740) 的基準設定檔

1.2.0-beta02 版

2023 年 6 月 7 日

發布 androidx.wear.compose:compose-*:1.2.0-beta021.2.0-beta02 版包含此連結所列的修訂項目。

新功能

  • 我們新增了實驗性的 LocalReduceMotion CompositionLocal 變數,可停用 ScalingLazyColumn 的縮放和淡出效果。(I58024)。

修正錯誤

  • 我們已更新 Wear Compose 基礎結構和 Material 程式庫的基準設定檔(I4725d)
  • 修正 SwipeToDismissBox contentScrimColor 參數的預設值不一致的問題 (I2d70f)
  • 我們已修正 IncludeFontPadding 設定所用的 DefaultTextStyle 預設值 (I737ed)

1.2.0-beta01 版本

2023 年 5 月 24 日

發布 androidx.wear.compose:compose-*:1.2.0-beta01查看 1.2.0-beta01 版的修訂項

Compose for Wear OS 1.2 的功能

Compose for Wear OS 的 1.2-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定 (標示為實驗性的除外)。Wear Compose 1.2 包含下列新功能:

  • expandableItemexpandableItems 是兩個新的 Foundation 元件,可支援在 ScalingLazyColumn 中展開項目。請將 expandableItem 用於單一可展開項目,例如文字,其中包含多行。請使用 expandableItems 為一組可展開的項目,並使用 expandableButton 簡化建立按鈕的程序,以便在內容展開後收合。
  • HierarchicalFocusCoordinator:這個實驗性可組合項可將組合中的子樹狀結構標示為已啟用或已停用聚焦。
  • Picker:API 現已包含 userScrollEnabled,可控制挑選器是否處於作用中,以供使用者捲動。
  • PickerGroup:新的可組合項,可一併處理多個 Picker。這項功能會使用 HierarchicalFocusCoordinator API 處理 Picker 之間的焦點,並讓 Picker 項目自動置中。
  • Placeholder:我們已更新亮色和「抹除」動畫。內容準備就緒後,系統現在會立即套用抹除效果。
  • ScalingLazyColumn:我們已將 ScalingLazyColumn 和相關類別從 androidx.wear.compose.material.ScalingLazyColumn 遷移至 androidx.wear.compose.foundation.lazy.ScalingLazyColumn。請更新至 Foundation.Lazy 版本。
  • SwipeToReveal - 我們已新增實驗性支援功能,可透過滑動方式顯示次要動作,補足現有的「長按」模式。
  • Stepper - 現已提供額外的 enableRangeSemantics 參數,以便停用預設的範圍語義。
  • Previews - 我們已新增下列自訂註解,用於在 Wear 螢幕上預覽可組合項:WearPreviewSmallRound 會在小圓形裝置上預覽可組合項;WearPreviewLargeRound 會在大型圓形裝置上預覽可組合項;WearPreviewSquare 會在正方形裝置上預覽可組合項。此外,以下是多重預覽註解:WearPreviewFontScales 會在 Wear 裝置上預覽多種字型大小的可組合項,而 WearPreviewDevices 則會在不同 Wear 裝置上預覽可組合項。
  • 我們已在 Wear Compose 中新增 DefaultTextStyle,將 PlatformTextStyle.includeFontPadding 屬性預設為 true (這是目前的設定)。這樣一來,我們就能在 1.3 的早期 Alpha 版本中,同步關閉預設的字型邊距,並搭配 Compose 程式庫使用。詳情請參閱 1.2.0-alpha10

新功能

  • 我們已新增實驗性支援功能,在啟用 reduce_motion 設定時,可停用縮放和淡出動畫。(I58024)。

修正錯誤

  • 改善 CurvedSize.ktangularWidthDp 的說明文件 (Iab75c)
  • SwipeDismissableNavHost 現在會記錄警告,說明空白回溯堆疊的可能原因。這麼做是為了避免在回溯堆疊為空時,因 IllegalArgumentException 而發生非預期的當機情形。(I04a81b/277700155)。

1.2.0-alpha10 版本

2023 年 5 月 10 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha101.2.0-alpha10 版本包含以下修訂項目。

新功能

  • 我們已新增滑動揭露功能,以便存取次要動作。這個模式可補足「長按」模式,也就是使用者可用來顯示 (不同) 次要動作的現有方式。(I60862)。

API 變更

  • 我們已在 SwipeToReveal 中將 RevealScope 新增至動作可組合項,可存取顯示其他動作的偏移量。(I3fd56)。

修正錯誤

  • 修正在甩動後,ScalingLazyColumn 會卡在 Wear API 33 的問題 (Ic4599)
  • 我們已對 PositionIndicator 進行部分效能改善,以減少資源浪費。(I35e92)
  • 我們已修正 Chip 和 CompactChip 中的錯誤,該錯誤會導致語意角色不再設為 Role.Button。(I93f91b/277326264)。

已知問題

  • 我們已在 Android Studio 中發現一個錯誤,使用 @WearPreviewDevices 和 @WearPreviewFontScales 註解時,會導致預覽畫面無法轉譯。我們預計很快就會發布修正版本。請注意,其他 Wear 預覽註解在 Android Studio Giraffe 2022.3.1 以上版本中正常運作。

  • 1.2.0-alpha07 版本中,我們將 DefaultTextStyle 新增至 Wear Compose,並將現有的 PlatformTextStyle.includeFontPadding 值設為 true。如需背景資訊,請參閱「修正 Compose 中的字型邊距」。我們將在 1.3 的早期 Alpha 版中變更 DefaultTextStyle,以關閉字型邊距,讓 Android 平台保持一致。這麼做可解決部分使用大型字型時文字遭到裁剪的問題,但也可能影響螢幕版面配置,因此螢幕截圖測試需要更新。舉例來說,如果使用較大的字型大小,我們會看到文字遭到裁剪:

使用大字型時,文字會遭到裁剪
圖 1:文字遭到裁剪。
  • 關閉字型邊距後,系統就不會顯示:
使用大字型時,文字不會遭到截斷
圖 2:未裁剪的文字。

您現在可以透過覆寫主題中的字體排版,採用新的設定。請參閱程式碼範例

1.2.0-alpha09 版本

2023 年 4 月 19 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha091.2.0-alpha09 版本包含以下修訂項目。

API 變更

  • angularSizeDp 新增至 CurvedModifier API,以便在 DP 中設定角度寬度 (I89a52)

修正錯誤

  • 我們已修正時間挑選器試用版中的無障礙設計問題(Id0eb7)

1.2.0-alpha08 版

2023 年 4 月 5 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha08查看 1.2.0-alpha08 版的修訂項

API 變更

  • 我們已將「ExpandableItemsState」重新命名為「ExpandableState」。(If85ea)
  • 我們新增了 expandableButton,讓您可以更輕鬆地建立在內容展開時會收起的按鈕,並更新了可展開項目的示例。(Iae309)

修正錯誤

  • 改善可展開的範例,顯示更多可能性。修改 expandableItem 的動畫,讓動畫內容保持居中。(I2f637)
  • 更新 ToggleControls,以便在使用 State 手動製作顏色動畫時,避免額外重組。(I5d319)

1.2.0-alpha07 版

2023 年 3 月 22 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha07查看 1.2.0-alpha07 版的修訂項

API 變更

  • 我們已將可展開項目元件 (在 1.2.0-alpha06 中新增) 從 Material 移至 Foundation,因為這些元件並未對 MaterialTheme 提供有意義的參照。(Ib0525)。

修正錯誤

  • 我們已修正在使用 PickerGroup 的畫面中發生的當機情形,方法是確保在沒有 Picker 聚焦時,PickerGroup 能正確處理聚焦。我們也新增了對 RSB 捲動功能的支援,適用於 Picker 示範。(If8c19)
  • 我們改善了對話轉場效果,現在的開場轉場效果更流暢,與結尾轉場效果相得益彰。(Ib5af9)
  • 我們已在 Wear Compose 中新增 DefaultTextStyle,將 PlatformTextStyle.includeFontPadding 屬性預設為 true (這是目前的設定)。這可讓我們在日後同步關閉預設的字型邊框間距,並使用 Compose 程式庫。如要瞭解背景資訊,請參閱「修正 Compose 中的字型邊框間距」。(I2aee8)。
  • 透過 activity-compose 還原了 UpsideDownCake 預覽依附元件,該依附元件會阻止應用程式發布至 Google Play 商店。(I6443d)。

1.2.0-alpha06 版本

2023 年 3 月 8 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha06查看 1.2.0-alpha06 版的修訂項目

API 變更

  • 新增 CurvedBox 元件,該元件會在彎曲世界中將元件置於彼此上方。(I29200)
  • 新增可展開項目 - 兩個新元件,可支援 ScalingLazyColumn 中的一組可展開項目,或可展開的單一項目,例如可展開的行數的文字。(I95dd5)。
  • 我們新增了以下自訂註解,可在 Wear 螢幕上預覽可組合項:WearPreviewSmallRound 會在小圓形裝置上預覽可組合函式;WearPreviewLargeRound 會在大型圓形裝置上預覽可組合函式;WearPreviewSquare 會在正方形裝置上預覽可組合函式。此外,以下是多重預覽註解:WearPreviewFontScales 會在 Wear 裝置上預覽多種字型大小的可組合項,而 WearPreviewDevices 則會在不同 Wear 裝置上預覽可組合項。如要使用這些預覽版,您必須使用最新的 Android Studio (Giraffe Canary 6) 或更高版本。請注意,如果這些註解不符合您的目的,您仍可使用預覽功能,並透過參數進一步自訂。(I397ff)。
  • 我們已將 HierarchicalFocusCoordinator 標示為實驗功能,但考量到其廣泛的適用性,我們認為這項功能可納入核心 Compose 程式庫。(I3a768)

修正錯誤

  • 修正 HierarchicalFocusCoordinator 上的錯誤,當 lambda 傳入 focusEnabled 參數時,現在可以正確使用新的參數。(Icb353)。
  • ButtonCompactButtonChipCompactChipToggleButton 中,如果使用原色做為背景,我們已將預設的停用內容顏色更新為背景顏色。這麼做可改善無障礙的對比度。(I527cc)。

1.2.0-alpha05 版本

2023 年 2 月 22 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha05查看 1.2.0-alpha05 版的修訂項目

API 變更

  • 更新 PickerGroup API,讓您可選擇將最小限制條件套用至可組合項。如果設為 true,PickerGroup 就會允許從父項可組合項傳遞的最小約束條件。如果設為 false,PickerGroup 會重設最小限制。(I3e046)
  • 我們已將 animateScrollToOption 新增至 Picker API,以便為特定 Picker 選項支援程式輔助動畫 (I6fe67)

修正錯誤

  • 我們已更新 HorizontalPageIndicator,以支援由右至左的版面配置。(Ia4359)。
  • HorizontalPageIndicator 中的從右到左版面配置新增螢幕截圖測試 (I6fbb8)
  • 針對使用 TestNavHostControllerSwipeDismissableNavHostTest 新增更多測試 (I61d54)

1.2.0-alpha04 版本

2023 年 2 月 8 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha041.2.0-alpha04 版包含此連結所列的修訂項目。

新功能

  • PickerGroup:使用焦點 API 一併處理多個 Picker。這項功能可處理不同 Picker 之間的焦點,並讓 Picker 依據參數自動置中。透過此功能,開發人員可以變更不同 Picker 之間的焦點,同時處理群組中的事件。在 TalkBack 模式下,PickerGroup 會將焦點移至群組中的所選 Picker,藉此處理 TalkBack 焦點 (I60840)。

API 變更

  • 我們已透過額外的 enableRangeSemantics 參數為 Stepper 新增超載,以便停用預設的範圍語義 (Ia61d4)

修正錯誤

  • 允許將 ScalingLazyColumn 加入橫向捲動頁面的巢狀結構中 (Iec3f8b/266555016)
  • 改善 Stepper kdoc 和 StepperTest 測試清理功能 (Ic118e)
  • androidx.navigation 依附元件更新為 2.5.3 版 (If58ed)

1.2.0-alpha03 版

2023 年 1 月 25 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha03查看 1.2.0-alpha03 版的修訂項

API 變更

  • 我們已將 ScalingLazyColumn (及其相關類別) 從 androidx.wear.compose.material.ScalingLazyColumn 遷移至 andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (詳情請參閱遷移相關範例)。這個新位置更符合 compose.foundation.lazy.LazyColumn 的位置,也較自然,因為它並不是絕對的 Material 元件。為了準備新的 Material3 程式庫,我們仍在進行變更,也會同時調整現有的 Material 程式庫 (I060e7)。

以下為 ScalingLazyColumn 從 Material 遷移至 Foundation.Lazy 的過程中進行的變更:

  • 以 Material ScalingLazyColumn 為目標的 PositionIndicator API 已淘汰,請更新至 Foundation.Lazy ScalingLazyColumn。此外,已在 ScalingLazyListLayoutInfo 中新增 anchorType 欄位 (I29d95)。
  • 已在 Wear Compose Material 套件中將 ScalingLazyColumn 標示為已淘汰 (I16d34)
  • 我們已更新 ScrollAway 修飾符來使用 Wear Compose Foundation.Lazy 提供的 ScalingLazyListState,並淘汰從 Wear Compose Material 接收 ScalingLazyListState 的超載 (Ifc42c)。
  • 我們已更新 Dialog API 來使用 Foundation.Lazy 提供的 ScalingLazyListState,並淘汰使用 Material ScalingLazyListState 的超載 (Ic8960)
  • 我們已更新 Picker API 來使用 Foundation.Lazy 提供的 ScalingParams,並淘汰使用 Material ScalingParams 的超載 (Idc3d8)。

修正錯誤

  • 修正 ScalingLazyListState.centerItemIndex 中導致不必要重組的錯誤,確保其只會在值實際發生變更時推送更新 (Ia9f38)
  • 我們改善了 SwipeToDismissBox 的效能。(I3933b)
  • 在 Wear Compose Foundation 中新增 ScalingLazyColumn 的基準測試 (Ie00f9)
  • 我們已更新 Material 中的部分內部 ScalingLazyColumn 類別方法,讓這些方法使用 Foundation.Lazy 中的對等項目 (I38aab)
  • 我們修正了 Picker 測試的一些問題,並新增更多使用偏移值檢查捲動的測試 (I6ac34)
  • 我們將 ScalingLazyColumn 整合示範改為依附 Foundation.Lazy 而非 Material ScalingLazyColumn (Ic6caa)
  • 我們已在 DatePicker 示範中加入選用的 fromDate/toDate 參數 (I961cd)

1.2.0-alpha02 版本

2023 年 1 月 11 日

發布 androidx.wear.compose:compose-*:1.2.0-alpha021.2.0-alpha02 版包含此連結所列的修訂項目。

API 變更

  • Android Compose UI 測試會在執行畫面要進入閒置狀態 (例如透過 waitForIdle) 時,為每個畫面執行版面配置傳遞作業。這可能會影響到宣告版面配置動畫的個別畫面測試 (I8ea08b/222093277)。
  • 在 Wear Text 中新增 minLines 參數,使其行為與 BasicText 保持一致 (I24874)
  • CompactChipTapTargetPadding 已開放使用,因此會顯示在說明文件中 (If1e70b/234119038)

修正錯誤

  • 停用 wear.compose 套件的多平台版本 (Iad3d7)
  • 修正 scrollToOption 的 KDoc (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() 已更新為使用 rememberUpdatedState,因此在發生 onContentReady lambda 情形時,該狀態就會更新。(I02635b/260343754)
  • 我們利用 Modifier.graphicsLayer 中的新組合策略,修正了在 Picker 元件中發生的文字時基誤差問題。(I99302)
  • 修正在 DatePicker 試用版中導致畫面閃爍的錯誤 (I660bd)
  • 改善 12 小時時間和日期挑選器試用版的無障礙設計 (I05e12)
  • 更新時間和日期挑選器試用版,讓挑選器在未選取的情況下,不會受到 RSB 變更的影響 (I4aecb)

1.2.0-alpha01 版本

2022 年 12 月 7 日

發布了 androidx.wear.compose:compose-*:1.2.0-alpha011.2.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • 我們已更新 Placeholder 實驗功能,讓內容準備就緒後立即套用「抹除」效果,不必等待下一個動畫迴圈開始。此外,我們還更新了亮色和抹除動畫。(I5a7f4)

API 變更

  • 我們已新增 HierarchicalFocusCoordinator 可組合項,以將組合中的子樹狀結構標示為已啟用或已停用聚焦 (I827cb)。
  • 我們已新增新屬性,以覆寫 ToggleButton 的語意角色。(I67132)
  • 我們已更新 TimeTextDefaults.TimeFormat12Hours,以移除 TimeText 中的上午/下午。這會變更 TimeText API 中 timeSource 參數的預設值。(I1eb7f)
  • 我們已擴充 Picker API,改善畫面中有多個挑選器時的無障礙功能。當中有一個新屬性 userScrollEnabled,可控制挑選器是否處於作用中,以供使用者捲動。(I3c3aa)

修正錯誤

  • OutlinedButton/OutlinedCompactButton 的預設邊框寬度已從 2.dp 變更為 1.dp,以符合最終的使用者體驗規格。(Icf84d)
  • 為了減少第一個新增至空白 ScalingLazyColumn 的項目效果,顯示捲動到適當位置,我們已新增內容為空時的預估 autoCentering topPadding。此變更會假設初始項目的高度為 0.dp,藉此計算所需的頂端邊框間距。如為 ScalingLazyListAnchorType.ItemStart,這會計算正確的頂端邊框間距。如為 ScalingLazyListAnchorType.ItemCenter,由於內容的高度必須配合項目實際高度來正確調整大小,讓使用者只要小幅捲動即可達到適當位置,因此計算結果會不正確。(I239a4)。
  • 為配合 Wear 平台,我們已更新 SwipeToDismiss 動畫的背景紗罩。(I9003e)
  • 我們已針對大小為 0 的清單項目修正 LazyListStateScalingLazyListStatePositionIndicator 處理方式,以避免除數為零的錯誤。(Ic28dd)

1.1 版

1.1.2 版

2023 年 2 月 8 日

發布 androidx.wear.compose:compose-foundation:1.1.2androidx.wear.compose:compose-material:1.1.2androidx.wear.compose:compose-navigation:1.1.21.1.2 版包含此連結所列的修訂項目。

修正錯誤

  • 修正 ScalingLazyListState.centerItemIndex 中導致不必要重組的錯誤,確保其只會在值實際發生變更時推送更新 (Ia9f38)

1.1.1 版

2023 年 1 月 11 日

發布 androidx.wear.compose:compose-foundation:1.1.1androidx.wear.compose:compose-material:1.1.1androidx.wear.compose:compose-navigation:1.1.11.1.1 版包含此連結所列的修訂項目

修正錯誤

  • PlaceholderState.rememberPlaceholderState() 已更新為使用 rememberUpdatedState,因此在發生 onContentReady lambda 情形時,該狀態就會更新。(I02635b/260343754)

1.1.0 版本

2022 年 12 月 7 日

發布了 androidx.wear.compose:compose-foundation:1.1.0androidx.wear.compose:compose-material:1.1.0androidx.wear.compose:compose-navigation:1.1.01.1.0 版包含此連結所列的修訂項目

自 1.0.0 版本以來的重要變更

新功能

  • 我們已更新 Placeholder 實驗功能,讓內容準備就緒後立即套用「抹除」效果,不必等待下一個動畫迴圈開始。此外,我們還更新了亮色和抹除動畫。(I5a7f4)

修正錯誤

  • OutlinedButton/OutlinedCompactButton 的預設邊框寬度已從 2.dp 變更為 1.dp,以符合最終的使用者體驗規格。(Icf84d)
  • 為了減少第一個新增至空白 ScalingLazyColumn 的項目效果,顯示捲動到適當位置,我們已新增內容為空時的預估 autoCentering topPadding。此變更會假設初始項目的高度為 0.dp,藉此計算所需的頂端邊框間距。如為 ScalingLazyListAnchorType.ItemStart,這會計算正確的頂端邊框間距。如為 ScalingLazyListAnchorType.ItemCenter,由於內容的高度必須配合項目實際高度來正確調整大小,讓使用者只要小幅捲動即可達到適當位置,因此計算結果會不正確。(I239a4)。
  • 為配合 Wear 平台,我們已更新 SwipeToDismiss 動畫的背景紗罩。(I9003e)
  • 我們已針對大小為 0 的清單項目修正 LazyListStateScalingLazyListStatePositionIndicator 處理方式,以避免除數為零的錯誤。(Ic28dd)

1.1.0-rc01 版

2022 年 11 月 9 日

發布 androidx.wear.compose:compose-foundation:1.1.0-rc01androidx.wear.compose:compose-material:1.1.0-rc01androidx.wear.compose:compose-navigation:1.1.0-rc011.1.0-rc01 版包含此連結所列的修訂項目。

修正錯誤

  • 我們已新增 PlaceholdersScrollAwayRadioButtonSwitchCheckboxOutlinedButtonOutlinedCompactButtonOutlinedChipOutlinedCompactChip 的基準設定檔規則。(I8249c)
  • 我們已修正 Modifier.scrollAway 的錯誤,因此如果指定的 itemIndex 無效 (例如,如果該項目索引超出範圍),那麼系統現在仍會顯示 TimeText。(I2137a)
  • 我們已配合平台實作方式更新 SwipeToDismissBox 動畫。初始握壓動畫播放後,如果系統觸發關閉程序,畫面現在會向右滑出 (I41d34)。
  • 為取得最佳化效果,我們已將 Modifier.scrollAway 更新為只讀取測量區塊中的 scrollState,以免每次重新測量後都要重組修飾符 (I4c6f1)。
  • 我們已為預留位置新增說明文件和範例,以便在 Modifier.placeholderModifier.placeholderShimmer 套用至相同的可組合項時,顯示正確的順序。(Ie96f4b/256583229)
  • OutlinedCompactChip/OutlinedChip 的預設邊框寬度已從 2.dp 變更為 1.dp,以符合最終的使用者體驗規格。(Ib3d8e)
  • 我們已修正 rememberPickerState 中更新輸入內容未儲存的錯誤,這麼一來,即使對輸入內容進行變更,可組合項也不會更新。(I49ff6b/255323197)
  • 我們針對預留位置進行了部分 UI 更新:1) 將亮色梯度變更為 1.5 倍的螢幕大小,2) 新增亮色處理進度的緩動函式 (立方貝茲) 和 3) 加快抹除作業的動畫 (250 毫秒)。(Id29c1)
  • 我們修正了預留位置抹除效果中的 UI 錯誤:由於未將元件在螢幕上的位置納入考量,導致方塊和卡片背景遭到抹除的時間稍微提前。(I2c7cb)
  • 我們已更新預留位置背景繪圖以合併顏色,而非在情況允許時建立圖層,這麼做可降低不同裁剪圖層的 Alpha 混合風險,以免底層顏色在預留位置背景邊緣滲出。(I2ea26)
  • 我們修正了 ScalingLazyListState.centerItemIndex/centerItemOffset 的計算功能,這樣如果兩個項目同時出現在可視區域中心線的任一側,最接近的項目即會視為 centerItem。(I30709b/254257769)
  • ScalingLazyListState.layoutInfo.visibleItemsInfo 之前有會在 ScalingLazyColumn 初始化期間回報不正確偏移值的錯誤,此錯誤已經修正。現在系統會傳回空白清單,直到所有清單項目顯示完畢且擁有正確的偏移值為止。檢查 ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() 即可確認 ScalingLazyColumn 初始化完成,且項目已顯示 (I3a3b8)。

1.1.0-beta01 版本

2022 年 10 月 24 日

發布 androidx.wear.compose:compose-foundation:1.1.0-beta01androidx.wear.compose:compose-material:1.1.0-beta01androidx.wear.compose:compose-navigation:1.1.0-beta011.1.0-beta01 版包含此連結所列的修訂項目。

Compose for Wear OS 1.1 的功能

Compose for Wear OS 的 1.1.0-beta01 版本指出,此程式庫版本功能完整且 API 已鎖定。

  • Wear Compose 1.1 版本內附下列新功能:
    • Picker - 改善 Picker 的無障礙功能,讓使用者可透過螢幕閱讀器瀏覽含有多個挑選器的畫面,也能使用內容說明。
    • Picker contentDescription 參數現在只用於選定的 Picker 選項,並且採用可為空值的字串 (在先前的修訂項目中,必須將對應內容從選項傳送至內容說明,但只能使用選定的選項)。
    • Picker 項目現在會一律採用置中對齊,藉此修正當 gradientRatio 設為零時,會產生變更對齊方式副作用的錯誤。
    • Chip/ToggleChip - 我們已更新 Chip/ToggleChip 的預設漸層,使其符合最新的使用者體驗規格。ChipDefaults.gradientBackgroundChipColors 已更新為從 50% 的 primary 開始,而非 32.5%。
    • Chip/ToggleChip - 新增用於修改方塊形狀的超載。
    • Chip/Button/ToggleButton - 新增 Chip 和 Button 的外框描繪樣式,以及全新的 OutlinedChipOutlinedButton 可組合項,可提供具有細邊框的透明 Chip/Button
    • Card - 更新 Card 的預設漸層,使其符合最新的使用者體驗規格。CardDefaults.cardBackgroundPainter 已更新為從 30% 的 primary 開始,並於 20% 的 onSurfaceVariant 結束 (先前為 20% 至 10% 的 onSurfaceVariant)。ToggleChip.toggleChipColors 從 75% 平面到 32.5% primary 的線性漸層,變更為從 0% 平面到 50% primary。
    • Button/ToggleButton - 新增用於修改按鈕形狀的屬性。
    • Theme - 更新 MaterialTheme 中的多種預設顏色,藉此改善無障礙功能,因為原始顏色的對比度不足,導致使用者難以區分方塊/資訊卡/按鈕的背景與主題背景顏色。
    • InlineSlider/Stepper - 新增 Button 角色,讓 Talkback 可將其視為按鈕。
    • Scaffold - PositionIndicator 已定位並調整大小,因此只要使用所需空間即可。這種做法很實用,舉例來說,如果在當中加入語意資訊,TalkBack 現在會在螢幕上取得 PositionIndicator 的正確邊界。
    • CurvedText/TimeText - 新增 Modifier.scrollAway,可根據捲動狀態 (具有可處理 ColumnLazyColumnScalingLazyColumn 的超載) 垂直捲動項目,使其顯示/不顯示在畫面中。使用者開始向上捲動項目清單時,系統通常會使用 ScrollAway 來捲動 TimeText,使其不顯示在畫面中
    • CurvedText/TimeText - 新增對 CurvedTextStylefontFamilyfontStylefontSynthesis 的支援,可用於 curvedTextbasicCurvedText
    • CurvedText/TimeText - 在建構函式中加入 fontWeight,並新增 CurvedTextStyle 的複製方法
    • ToggleControls - 新增 CheckboxSwitchRadioButton 動畫切換控制項,與 ToggleChipSplitToggleChip 搭配使用。這些控制項可用來取代 ToggleChipDefaults 提供的靜態圖示 (switchIconcheckboxIconradioIcon)。
    • Placeholder - 新增對實驗性預留位置的支援,共有三種不同的視覺效果,可彼此相互搭配運用。
    • 首先是在 Chip 和 Cards 等容器中使用的預留位置背景刷效果,可以在等待載入內容時,繪製在一般背景上。
    • 其次則是用於繪製橢圓形預留位置小工具的修飾符 (Modifier.placeholder()),這是繪製在載入中的內容上方。
    • 第三是修飾符梯度/亮色效果 (Modifier.placeholderShimmer()),會覆蓋在其他效果之上,讓使用者知道目前正在等待資料載入。
      • 所有這些效果都經過協調,並透過精心編排的方式一閃而過並抹除。
  • 核心 Compose 依附元件已從 1.2 更新為 1.3

API 變更

  • 字型參數 (fontFamilyfontWeightfontStylefontSynthesis) 現在可以直接指定為 curvedText 的參數 (Idc422)

修正錯誤

  • curveTextbasicCurvedText 現在可與 TalkBack 正確搭配運作,這些 API 會與經過調整大小和位置 (但為空白) 的 compose-ui 節點建立關聯,並使用文字做為內容說明 (I7af7cb/210721259)
  • 修正 Picker 的問題:當 PickerState.repeatedItems = false 時,在 Picker 內部的 ScalingLazyColumn 中新增 autoCentering 參數的明確設定,確保能將第零個選項捲動至檢視畫面的中央。(I8a4d7)

1.1.0-alpha07 版本

2022 年 10 月 5 日

發布 androidx.wear.compose:compose-foundation:1.1.0-alpha07androidx.wear.compose:compose-material:1.1.0-alpha07androidx.wear.compose:compose-navigation:1.1.0-alpha071.1.0-alpha07 版包含此連結所列的修訂項目。

新功能

  • 我們開始支援實驗性的預留位置,共有三種不同的視覺效果,可彼此相互搭配運用。首先是在 Chip 和 Cards 等容器中使用的預留位置背景刷效果,可以在等待載入內容時,繪製在一般背景上。其次則是用於繪製橢圓形預留位置小工具的修飾符 (Modifier.placeholder()),這是繪製在載入中的內容上方。第三是修飾符梯度/亮色效果 (Modifier.placeholderShimmer()),會覆蓋在其他效果之上,讓使用者知道目前正在等待資料載入。所有這些效果都經過協調,並透過精心編排的方式一閃而過並抹除。(I3c339)

API 變更

  • 新增對 CurvedTextStyle 中的 fontWeightfontFamilyfontStylefontSynthesis 的支援,可用於 curvedTextbasicCurvedText。這些參數可用於指定曲線文字上的字型和樣式 (Iaa1a8)、(I72759)。
  • 已將 Modifier.scrollAway 的偏移參數更新為 Dp,以便與 Modifier.offset 保持一致 (先前是在像素中)。此外,亦重構為 LayoutModifier 增進效率 (I9f94b)。
  • 在新的切換按鈕控制項 API 中,我們已將 RadioButton’s circleColor 重新命名為 ringColor。(I28fa9)
  • 我們新增了 CheckboxSwitchRadioButton 動畫切換控制項,與 ToggleChipSplitToggleChip 搭配使用。這些控制項可用來取代 ToggleChipDefaults 提供的靜態圖示 (switchIconcheckboxIconradioIcon)。(I8a8c4)

1.1.0-alpha06 版本

2022 年 9 月 21 日

發布 androidx.wear.compose:compose-foundation:1.1.0-alpha06androidx.wear.compose:compose-material:1.1.0-alpha06androidx.wear.compose:compose-navigation:1.1.0-alpha061.1.0-alpha06 版包含此連結所列的修訂項目。

新功能

  • 我們新增了 Modifier.scrollAway,可根據捲動狀態 (具有多載,可處理 ColumnLazyColumnScalingLazyColumn) 垂直捲動項目,使其顯示/不顯示在畫面中。使用者開始向上捲動項目清單時,系統通常會使用 ScrollAway 來捲動 TimeText,使其不顯示在畫面中 (I61766)。

修正錯誤

  • PositionIndicator 已定位並調整大小,因此只要使用所需空間即可。這種做法很實用,舉例來說,如果在當中加入語意資訊,TalkBack 現在會在螢幕上取得 PositionIndicator 的正確邊界 (Ie6106b/244409133)。

1.1.0-alpha05 版本

2022 年 9 月 7 日

發布 androidx.wear.compose:compose-foundation:1.1.0-alpha05androidx.wear.compose:compose-material:1.1.0-alpha05androidx.wear.compose:compose-navigation:1.1.0-alpha051.1.0-alpha05 版包含此連結所列的修訂項目。

修正錯誤

  • InlineSliderStepper 新增了按鈕角色,以便 Talkback 將它們視為按鈕。(Icb46cb/244260275)
  • 我們已修正 Scaffold 中位置指標和網頁指標的 Z 順序。這些指標現在位於暈影頂端,因此如果存在指標,不會被暈影遮蔽。(Ib988fb/244207528)

1.1.0-alpha04 版本

2022 年 8 月 24 日

發布 androidx.wear.compose:compose-foundation:1.1.0-alpha04androidx.wear.compose:compose-material:1.1.0-alpha04androidx.wear.compose:compose-navigation:1.1.0-alpha041.1.0-alpha04 版包含此連結所列的修訂項目。

API 變更

  • 我們已更新 MaterialTheme 中的多種預設顏色,以改善無障礙設計,因為原始顏色的對比度不足,導致使用者難以區分方塊/卡片/按鈕的背景與主題背景顏色。更新的顏色包括 surface(0xFF202124->0xFF303133)、onPrimary(0xFF202124->0xFF303133)、onSecondary(0xFF202124->0xFF303133)、primaryVariant(0xFF669DF6->0xFF8AB4F8) 和 onError(0xFF202124->0xFF000000)。雖然顏色變化比較細微,但可能會影響現有的螢幕截圖測試 (81ab09)。

修正錯誤

  • 修正 ScalingLazyColumn 中的邏輯錯誤,這類錯誤會導致具有少許清單項目 (通常是 2 個) 的清單無法完成初始化,進而導致結果顯示為透明 (504347)。

1.1.0-alpha03 版本

2022 年 8 月 10 日

發布 androidx.wear.compose:compose-foundation:1.1.0-alpha03androidx.wear.compose:compose-material:1.1.0-alpha03androidx.wear.compose:compose-navigation:1.1.0-alpha031.1.0-alpha03 版包含此連結所列的修訂項目。

新功能

  • 我們新增了 ChipsButtons 的外框描繪樣式,以及全新的 OutlinedChipOutlinedButton 可組合項,可提供具有細邊框的透明 Chip/Button (Id5972)

API 變更

  • 新增用於修改按鈕形狀的超載 (Icccde)

修正錯誤

  • 我們已修正 ToggleChip 的切換控制項區域大小,因為原本的大小與使用者體驗規格不符。使用者體驗規格要求在標籤與 24x24.dp 的切換控制項圖示區域之間留出 4.dp 的空格字元,確保總寬度為 28.dp。然而,系統實作時卻錯誤提供了 36x24.dp 的切換控制項區域,因而佔用了 8.dp 的可用文字標籤區域。注意:這項修正錯誤可為文字標籤提供額外空間,因此可能有助於改善溢出文字的文字版面配置。如果您的螢幕截圖測試包含 ToggleChips,就可能需要更新。(I514c8b/240548670)

1.1.0-alpha02 版本

2022 年 7 月 27 日

發布 androidx.wear.compose:compose-foundation:1.1.0-alpha02androidx.wear.compose:compose-material:1.1.0-alpha02androidx.wear.compose:compose-navigation:1.1.0-alpha021.1.0-alpha02 版包含此連結所列的修訂項目。

新功能

  • 我們已將核心 Compose 程式庫中 Wear OS 的 Compose 依附元件從 1.2.0 更換為 1.3.0-alpha0X

API 變更

  • 新增用於修改方塊形狀的超載 (I02e87)

修正錯誤

  • 我們為顯示/隱藏對話方塊時暈影的顯示設定,以便與現有的縮放動畫保持一致 (Ida33e)。
  • 已修正以下錯誤:捲動頁面時,一些快速滑過行為可能導致發生以零爲除數的情況 (I86cb6)。
  • 修正 ChipDefaults.childChipColor() 中的錯誤,確保已停用的背景顏色完全透明 (I2b3c3b/238057342)。

1.1.0-alpha01 版本

2022 年 6 月 29 日

發布 androidx.wear.compose:compose-foundation:1.1.0-alpha01androidx.wear.compose:compose-material:1.1.0-alpha01androidx.wear.compose:compose-navigation:1.1.0-alpha011.1.0-alpha01 版包含此連結所列的修訂項目。

API 變更

  • Picker 的 contentDescription 參數現在只用於選定的 Picker 選項,並且採用可為空值的字串 (先前必須將對應內容從選項傳送至內容說明,但只會使用選定的選項)。(Ife6a7)
  • 我們改善了 Picker 的無障礙功能,讓使用者可透過螢幕閱讀器瀏覽含有多個挑選器的畫面,也能使用內容說明 (I64edb)。

修正錯誤

  • 我們已更新 Wear Compose 程式庫內建的基準設定檔規則 (I9c694)
  • 我們已更正從右向左模式下的方塊漸層方向。過去是從左上到右下,而現在則是從右上到左下。(Ic2e77)
  • 我們已更新 Chip/ToggleChip/Card 的預設漸層,使其符合最新的使用者體驗規格。ChipDefaults.gradientBackgroundChipColors 已更新為從 primary 的 50% 開始,而非 32.5%。CardDefaults.cardBackgroundPainter 已更新為從 30% 的 primary 至 20% 的 onSurfaceVariant (先前為從 onSurfaceVariant 的 20% 至 10%)。ToggleChip.toggleChipColors 從 75% surface 的線性漸層至 32.5% primary,變更為從 0% surface 至 50% primary (I43bbd)
  • 我們已在具有漸層背景的 Chip/ToggleChips 背後加上背景顏色 (MaterialTheme.color.surface),這樣即可確保在極少數情況下,這些元素能在淺色背景中明顯呈現。(Ibe1a4b/235937657)
  • Picker 項目現在會一律採用置中對齊,修正當 gradientRatio 設為零時,會產生變更對齊方式副作用的錯誤 (I712b8)。

1.0 版本

1.0.2 版本

2022 年 9 月 7 日

發布 androidx.wear.compose:compose-foundation:1.0.2androidx.wear.compose:compose-material:1.0.2androidx.wear.compose:compose-navigation:1.0.21.0.2 版包含此連結所列的修訂項目。

修正錯誤

  • 我們已修正 Scaffold 中位置指標和網頁指標的 Z 順序。這些指標現在位於暈影頂端,因此如果存在指標,不會被暈影遮蔽。(Ib988fb/244207528)

1.0.1 版本

2022 年 8 月 24 日

發布 androidx.wear.compose:compose-foundation:1.0.1androidx.wear.compose:compose-material:1.0.1androidx.wear.compose:compose-navigation:1.0.11.0.1 版包含此連結所列的修訂項目。

修正錯誤

  • 修正 ScalingLazyColumn 中的邏輯錯誤,這類錯誤會導致具有少許清單項目 (通常是 2 個) 的清單無法完成初始化,進而導致結果顯示為透明 (076c61)。

1.0.0 版本

2022 年 7 月 27 日

發布 androidx.wear.compose:compose-foundation:1.0.0androidx.wear.compose:compose-material:1.0.0androidx.wear.compose:compose-navigation:1.0.01.0.0 版包含此連結所列的修訂項目。

1.0.0 的主要功能

  • 這是 Compose for Wear OS 的第一個穩定版本 (瞭解詳情)。
  • Compose for Wear OS 是以核心 Compose 程式庫為基礎建構,提供其他穿戴式裝置元件,並視情況針對穿戴式裝置量身打造核心 Compose 元件的替代實作方式。
  • 如需 Wear Compose 主要元件清單,請參閱「Compose for Wear OS Beta01」的版本資訊。

修正錯誤

  • 我們為顯示/隱藏對話方塊時暈影的顯示設定,以便與現有的縮放動畫保持一致 (Ida33e)。
  • 已修正以下錯誤:捲動頁面時,一些快速滑過行為可能導致發生以零爲除數的情況 (I86cb6)。
  • 修正 ChipDefaults.childChipColor() 中的錯誤,確保已停用的背景顏色完全透明 (I2b3c3b/238057342)。

1.0.0-rc02 版本

2022 年 6 月 22 日

發布 androidx.wear.compose:compose-foundation:1.0.0-rc02androidx.wear.compose:compose-material:1.0.0-rc02androidx.wear.compose:compose-navigation:1.0.0-rc021.0.0-rc02 版包含此連結所列的修訂項目。

修正錯誤

  • 我們已更正從右向左 (RTL) 模式下的資訊卡漸層方向。過去是從左上到右下,而現在則是從右上到左下 (Ic2e77)。
  • 我們已更新 Chip/ToggleChip/Card 的預設漸層,使其符合最新的使用者體驗規格。ChipDefaults.gradientBackgroundChipColors 已更新為從 50% 的 primary 開始,而非 32.5%。CardDefaults.cardBackgroundPainter 已更新為從 primary 的 30% 開始,並於 onSurfaceVariant 的 20% 結束 (先前是從 onSurfaceVariant 的 20% 至 10%)。ToggleChip.toggleChipColors 從 75% surface 的線性漸層至 32.5% primary,變更為從 0% surface 至 50% primary。(I43bbd)
  • 我們已在具有漸層背景的 Chip/ToggleChips 背後加上背景顏色 (MaterialTheme.color.surface),這樣即可確保在極少數情況下,這些元素能在淺色背景中明顯呈現。(Ibe1a4b/235937657)
  • 我們已更新 Wear Compose 程式庫內建的基準設定檔規則 (I9c694)

1.0.0-rc01 版本

2022 年 6 月 15 日

發布 androidx.wear.compose:compose-foundation:1.0.0-rc01androidx.wear.compose:compose-material:1.0.0-rc01androidx.wear.compose:compose-navigation:1.0.0-rc011.0.0-rc01 版本包含以下修訂項目。

API 變更

  • Compose 程式庫中的介面現已使用 jdk8 預設介面方法建立 (I5bcf1)

修正錯誤

  • 我們已從清單標頭中移除 fillMaxWidth() 的明確呼叫,原因是已不再需要使用,而且如果在 ScalinglazyColumn 內混合使用 ListHeader()Chip() 元件還可能發生問題,導致 ListHeader 項目在捲動進入/退出畫面時寬度也會隨之增加/縮減 (I37144b/235074035)
  • 我們已修正 ScalingLazyColumn 可能會導致清單項目在第 0 項達到特定大小 (含邊框間距) 時,除非使用者捲動畫面,否則無法正確繪製的錯誤 (Ic6159b/234328517)
  • 我們稍微調整了當項目接近螢幕邊緣時,ScalingLazyColumn 的加/減速行為,以便配合使用者體驗規格更新內容。舊值 CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> 新值 CubicBezierEasing(0.3f, 0f, 0.7f, 1f)。如果想保留舊的行為,您可以覆寫 ScalingLazyColumnscalingParams (Ie375c)
  • CompactChip 新增邊框間距,確保輕觸目標的大小至少達到 48.dp 高,才能符合 Material 無障礙功能準則。這可能會影響您現有使用 CompactChips 的版面配置,因為這些項目需要使用更多空間。(I3d57c)

1.0.0-beta03 版本

2022 年 6 月 1 日

發布 androidx.wear.compose:compose-foundation:1.0.0-beta03androidx.wear.compose:compose-material:1.0.0-beta03androidx.wear.compose:compose-navigation:1.0.0-beta031.0.0-beta03 版包含此連結所列的修訂項目。

新功能

  • 現在 ScalingLazyColumn 可以在 Compose @Preview 模式下使用了。(I3b3b6b/232947354)

API 變更

  • ScalingLazyColumn.horizontalAlignment 屬性的預設值由 Start 改為 CenterHorizontally,如此一來,當清單項目並未填滿整個欄寬度時,會按照能顯示最多內容的方式對齊。如果想切換回之前的行為,請設定 horizontalAlignment = Alignment.Start。(I9ed4b)

已知問題

  • CompactChip 的輕觸高度低於 Material 無障礙功能準則。我們會在下個版本 (6 月 15 日) 修正此問題。如果您使用的是 CompactChip,這項變更會影響您的版面配置,因為 CompactChip 的上下方現在會有額外的邊框間距。請您調整並測試版面配置,或請參閱錯誤留言瞭解如何使用現有的行為。(b/234332135)

修正錯誤

  • 新的新增或移除 TimeText 開始文字動畫示範。(I16d75)
  • 新增 HorizontalPageIndicator.PagesState 的測試 (I64ed0)
  • 更新 TimeText,以便更符合使用者體驗規格 (Ib7ea1)

1.0.0-beta02 版本

2022 年 5 月 18 日

發布 androidx.wear.compose:compose-foundation:1.0.0-beta02androidx.wear.compose:compose-material:1.0.0-beta02androidx.wear.compose:compose-navigation:1.0.0-beta021.0.0-beta02 版包含此連結所列的修訂項目。

新功能

  • 現在即使處於唯讀模式,挑選器也會回應捲動事件。這樣使用者就不必在捲動之前,先輕觸選取 Picker。在唯讀模式中,除了目前所選選項之外,其他選項都無法以 gradientColor 的填充遮蔽。(I72925)
  • 我們已變更 Chip/ToggleChip/CompactChip/SplitToggleChip 的使用者體驗行為,禁止這些項目在預設情況下執行 fillMaxWidth,而會配合內容調整尺寸。如要保留先前的行為,只要新增 modifier = Modifier.fillMaxWidth()(I60a2cb/232206371) 即可

修正錯誤

  • 採用 TextStyleCurvedTextStyle 建構函式現在也會遵循 fontWeight (這項設定可於日後的 API 修訂版本中,新增至建構函式和複製方法) (Ieebb9)
  • 改善邊緣滑動功能。使用 Modifier.edgeSwipeToDismiss 時,如果從邊緣區域觸發左側滑動,則滑動方向變為向右時,不會再觸發滑動關閉。以往只要向左滑動,再往右滑動即可啟動滑動手勢 (I916ea)。
  • HorizontalPageIndicator 現在可以在螢幕上顯示最多 6 頁。如果網頁總數超過 6 頁,左側或右側會有一個半尺寸指標,頁面之間會流暢地轉換 (I2ac29)。
  • 改善了 ScalingLazyColumnPicker 的預設貼齊行為 (I49539)
  • 改善邊緣滑動功能。使用 Modifier.edgeSwipeToDismiss 時,只有第一次輕觸到邊緣並往右滑動時,滑動關閉才會觸發。以往只要捲動到達起點,即可從螢幕的任何部分滑動來觸發滑動關閉。(I8ca2a)

1.0.0-beta01 版

2022 年 5 月 11 日

發布 androidx.wear.compose:compose-foundation:1.0.0-beta01androidx.wear.compose:compose-material:1.0.0-beta01androidx.wear.compose:compose-navigation:1.0.0-beta011.0.0-beta01 版包含此連結所列的修訂項目。

Compose for Wear OS 1.0 的功能

隨著程式庫功能建置完成且 API 成功鎖定,Compose for Wear OS 的 1.0.0-beta01 標示了重要的里程碑。

1.0 版本提供的 Wear Compose Material Design 元件包括:

  • Material Theme - 用作取代 Compose for Mobile MaterialTheme 的替代功能,在導入時立即導入 Wear Material Design 使用者體驗指南的穿戴式裝置上提供構建元件的色彩、圖形和字型排版。
  • ButtonCompactButtonToggleButton - 按鈕提供一個用來擷取圖示、圖片或簡短文字的版位 (最多 3 個字元)。圓形的圖形,適用於預設、大型或小型按鈕的建議大小。CompactButton 提供單一版位,可擷取任何內容 (圖示、圖片或文字),且外型為圓形,背景尺寸為超小。CompactButton 會在背景周圍提供透明的邊框間距 (可選),增加可點擊的區域。ToggleButton 按鈕提供單一版位,可擷取任何內容 (簡短文字、圖示或圖片),具有開啟/關閉 (已勾選/未勾選) 狀態,帶有顏色和不同圖示,以顯示是否已勾選
  • 資訊卡 - 用於顯示應用程式的相關資訊,例如通知。AppCardTitleCard 針對不同用途提供了彈性設計,針對資訊卡內容或背景提供不同的版面配置和圖片支援。
  • 方塊 - 體育場形狀的元件,與按鈕類似,但面積較大且有多個版位,可用於標籤、次要標籤和圖示。支援多種尺寸,並以圖片為背景。
  • ToggleChip 和 SplitToggleChip - 具有已勾選/未勾選狀態的方塊,並加入顯示圖示的 ToggleControl 版位,例如用於顯示元件已勾選狀態的切換鈕或圓形按鈕。此外,SplitToggleChip 中有兩個可輕觸的區域,一個可點擊,另一個可切換。
  • CircularProgressIndicator - Wear Material 進度指標,共有兩種版本。第一種表示進行中的工作完成比例,並支援起始和結束角度的圓形軌跡間隙。第二種則指示未指定等候時間的未知進度。
  • curvedText - 構成 DSL 的一部分,用於描述 CurvedLayoutscurvedRowcurvedColumn,以便在圓形裝置周圍佈置元件。如要進一步瞭解 CurvedLayoutCurvedModifier,請參閱下文對於 Wear Component Foundation 的說明 (這個做法在非曲線世界中與「修飾符」的作用類似),而且可以設定版面配置、邊框間距、漸層等各個面向。
  • 對話方塊、快訊和確認 - 對話方塊會顯示全螢幕對話方塊,疊加任何其他內容,並支援滑動關閉。它需要一個應針對 Wear Material 對話方塊內容的版位,例如「快訊」或「確認訊息」。快訊是針對對話方塊內容,提供圖示、標題和訊息的版位。它可承載兩個並排顯示的負數按鈕和正數按鈕,或一個用於一個或多個垂直堆疊的方塊的版位。確認訊息是針對對話方塊內容,會在指定期間內顯示訊息。它有一個圖示或圖片的版位 (可能是動畫)。
  • HorizontalPageIndicator - 以適於穿戴式裝置板型規格的方式顯示水平頁面位置。專為全螢幕設計,可在圓形裝置上顯示弧形指標。可搭配 Accompanist 網頁檢視器使用。
  • Icon - Wear 的 Icon 實作方式,會從 Wear Material Theme 取得顏色和 Alpha 值。如需可點擊圖示,請參閱 Button 或 Chip。
  • Picker - 顯示可捲動的項目清單,讓使用者從中選擇項目。根據預設,兩個項目會在兩個方向上「無限」重複。以唯讀模式顯示即可隱藏未選取的選項。
  • PositionIndicator - 以適於穿戴式裝置板型規格的方式顯示捲動位置或其他位置指示。專為全螢幕設計,可在圓形裝置上顯示弧形指標。
  • Scaffold - 實作基本 Wear Material Design 視覺版面配置結構。這個元件提供的 API 可將多個 Wear Material 元件 (例如 TimeTextPositionIndicatorVignette) 組合用於建構螢幕,確保這類元件配置適當的版面配置策略,並收集必要的資料,讓這些元件能搭配運作正確。
  • ScalingLazyColumn - 捲動縮放/魚眼清單元件,構成 Wear Material Design 語言的關鍵部分。為內容項目提供縮放和透明度效果。ScalingLazyColumn 是專為處理大量內容項目而設計,只有在需要的時候才會產生具體情況或加以撰寫。
  • Slider - 可讓使用者從多種不同的值中選擇。所選範圍會以長條形式顯示,也可以選擇使用分隔符顯示。
  • Stepper - 一個全螢幕元件,可讓使用者使用畫面頂端和底部的增加/減少按鈕選取值,且在中間具有版位,可插入文字或方塊。
  • SwipeToDismissBox - 處理滑動關閉手勢。它需要一個用於背景 (僅在滑動手勢時顯示) 和前景內容的版位。也可選擇將 SwipeDismissableNavHost 與 Androidx 導覽庫 (參閱下方 Wear Compose Navigation 程式庫) 合併使用。
  • Text - Wear 實作的 Compose Material Text 元件,從 Wear Material Theme 取得色彩和 Alpha 值
  • TimeText - 會在螢幕頂端顯示時間和應用程式狀態的元件。在圓形螢幕上使用曲線文字,將畫面內容調整為螢幕形狀。
  • Vignette - 用於 Scaffold 的螢幕處理方式,會在使用可捲動內容時對螢幕頂端和底部進行模糊處理。

  • Wear Compose Foundation 還提供下列元件:

  • CurvedLayout - Wear Foundation CurvedLayout 是一個版面配置可組合項,能夠將子項擺放在弧形中,並視需求旋轉。這與彎曲成環形區隔的 Row 版面配置類似。請注意,CurvedLayout 的內容並不是可組合的 lambda,而是 DSL (特定領域語言)。在 CurvedLayout 的 DSL 中,所有元素都支援由 CurvedModifier 建立的選用修飾符參數。

  • basicCurvedText - CurvedLayout DSL 中的元素,basicCurvedText 可讓開發人員按照圓形的彎曲方向 (通常是圓形螢幕的邊緣) 輕鬆撰寫曲線文字。只能在 CurvedLayout 內建立 basicCurvedText,以確保最佳使用體驗,例如能夠指定位置和使用 CurvedModifiers。請注意,在大多數情況下,我們通常會使用 curvedText,因為該元件使用 Materia 主題設定。

  • curvedComposable - 包裝一般可撰寫內容,以便與 CurvedLayout 搭配使用。如果 curvedComposable 中包含多個元素,這些元素會彼此疊加 (例如 Box)。如要沿曲線放置多個可編寫項,請用 curvedComposable 來分別包裝。

  • curvedRow 和 curvedColumn - 與「列」或「欄」類似,curvedRowcurvedColumn 可以嵌入 CurvedLayout 中,以根據需要佈置元素。針對 curvedRow,可指定角度版面配置方向和徑向對齊。針對 curvedColumn,可指定角度對齊和徑向。

  • CurvedModifier - 所有弧形元件都接受可使用 CurvedModifier 建立的修飾符參數:支援背景、大小、重量和填充字元。

  • Wear Compose Navigation 也包含下列元件:

  • SwipeDismissableNavHost - 在 Compose 階層中提供一個自行導覽的位置,並透過滑動手勢進行反向導覽。內容會顯示在 SwipeToDismissBox 中,並顯示目前的導航層級。滑動關閉手勢期間,系統會在背景中顯示先前的導航層級 (如有)。

  • 請參閱先前各 Alpha 版的版本資訊,進一步瞭解交付項目。

API 變更

  • 新增了 CurvedModifier.padding* 個函式。這些函式用來指定要在曲線元件周圍增加的額外空間。(I4dbb4)
  • 移除了 CompositionLocal 個內部類別 (I42490)
  • ButtonCompactButtonToggleButton 圖示大小新增了固定值做為指引 (I57cab)
  • AppCardTitleCard 中新增已啟用的參數。現在他們的 API 與 androidx.compose.material 資訊卡類似。參數設為 False 時,資訊卡將無法點擊。(Idc48db/228869805)

修正錯誤

  • 現在當達到下限/上限時,Stepper 會停用「減少」和「增加」按鈕,並且將 ContentAlpha.disabled 套用至 iconColor (I4be9f)
  • 使用漸層效果來繪製時,在挑選器內容的周圍加入了 1dp 的邊框間距,可避免滑動時出現文字上的誤差。(I0b7b9)
  • PositionIndicator 新增螢幕擷取畫面測試 (I5e8bc)
  • AppCardTitleCard 新增更多測試 (I85391b/228869805)

1.0.0-alpha21 版本

2022 年 4 月 20 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha21androidx.wear.compose:compose-material:1.0.0-alpha21androidx.wear.compose:compose-navigation:1.0.0-alpha211.0.0-alpha21 版包含此連結所列的修訂項目。

新功能

  • 新增曲線修飾符來指定曲線元素的背景:CurvedModifier.background.radialGradientBackground.angularGradientBackground (I8f392)
  • 允許指定曲線文字溢位模式 (clip/ellipsis/visible)。(I8e7aa)
  • 新增 CurvedModifier.weight 修飾符,類似於 Compose 中的修飾符,可用於 curvedRow 和 CurvedLayout (針對寬度) 的子項以及 CurdColumn 的子項 (針對高度) (I8abbd)。
  • 新增 CurvedModifier.size.angularSize.radialSize 修飾符,用於指定曲線元素的大小 (I623c7)。

API 變更

  • 對參數進行重新排序,確保在 Wear Compose API 中,背景始終在顏色之前 (I43208)
  • 移除順時針和 insideOut 參數,並更換為新類別中更具表現力的常數。曲線版面配置方向現在可以清楚辨識 LayoutDirection,未指定時則會沿用 (If0e6a)
  • 我們已將 autoCenter: Boolean 更換為 autoCenter: AutoCentringParams,以修正 ScalingLazyColumn 的 API 問題。(Ia9c90)
  • 我們已將整個 API (Chip/ToggleChip/Dialog/Slider/Stepper/...) 中的 iconTintColortoggleControlTintColor 重新命名為 iconColortoggleControlColor,因為這個顏色已在 icon/toggleControl 版位中套用。(Ied238)
  • PageIndicatorStyle 列舉重寫入值類別 (I2dc72)
  • 我們已在可組合項版位中新增 RowScope/ColumnScope/BoxScope,以便向開發人員指出版面配置假設。這樣一來,開發人員就能在部分版位內容中使用額外的修飾符,且不需要提供額外的版面配置元素。此外,我們還對 AppCard/TitleCard 顏色做出了微幅更新,以使 timeColorappColor 預設採用 contentColor。不過,您仍然可以視需要個別覆寫這些屬性。(I26b59)
  • SwipeToDismissBoxState.Companion 物件設為不公開 (I39e84)
  • 修正 InlineSliderStepper 的參數順序問題。這是一項符合 API 規範的簡單變更 (I11fec)
  • 由於 SwipeToDismissBoxState 的 Saver 物件未經使用,我們已將其移除 (Ifb54e)。
  • 我們更新了 CompactChip,使其符合最新的使用者體驗規格。邊框間距已縮減為水平 = 12.dp,垂直 = 0.dp。標籤的字型已從按鈕改為 caption1。同時具有圖示和標籤時,建議圖示大小為 20x20;針對僅含圖示的緊湊條狀標籤,建議大小則為 24x24。針對僅包含圖示的應用實例,我們還確保圖示置中對齊。(Iea2be)
  • 我們為 ScalingLazyListLayoutInfo 新增了多個欄位,讓開發人員瞭解已套用的 contentPaddingautoCenteringPadding 數量。這非常有益於開發人員計算滑動/捲動數據 (I7577b)
  • 我們已針對對話方塊實作輸入/輸出轉換。新增 showDialog 參數,且對話方塊現在可控制自身的瀏覽權限 (讓對話方塊在顯示/隱藏時,可執行開頭和結尾動畫)。請注意,當使用者透過滑動關閉功能離開對話方塊時,系統不會執行結尾動畫。此外,我們還在最近新增的 SwipeToDismissBox 超載中新增了狀態的預設值。(I682a0)
  • 為了更妥善支援 i18n 和 a11y,我們已變更 ToggleChipSplitToggleChip,使其不再成為 toggleControl 版位的預設值。我們還變更了 ToggleChipDefaults,現在下列方法會傳回 ImageVector,而非 Icon (請注意,由於這些方法不再傳回 @Composables,因此已改為以小寫字母開頭),以及傳回 SwitchIcon()->switchIcon()CheckboxIcon->checkboxIcon()RadioIcon()->radioIcon(),這讓開發人員能夠,也鼓勵他們建立自己的 Icon() 可組合項,並搭配適當的 contentDescription 集 (I5bb5b)。
  • 我們已在 SwipeDismissableNavHost 中新增 SwipeDismissableNavHostState 參數。這將支援在用做導覽目的地的螢幕上使用邊緣滑動動作,因為現在可以在需要邊緣滑動的螢幕上提升 SwipeToDismissBoxState 並將其用來初始化 SwipeDismissableNavHostStateModifier.edgeSwipeToDismiss (I819f5b/228336555)

修正錯誤

  • 確保在需要時更新曲線版面配置。(Ie8bfab/229079150)
  • 針對 https://issuetracker.google.com/issues/226648931 修正錯誤 (Ia0a0ab/226648931)
  • 移除不必要的實驗性註解 (I88d7e)

1.0.0-alpha20 版本

2022 年 4 月 6 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha20androidx.wear.compose:compose-material:1.0.0-alpha20androidx.wear.compose:compose-navigation:1.0.0-alpha201.0.0-alpha20 版包含此連結所列的修訂項目。

新功能

  • SwipeToDismiss 新增 edgeSwipeToDismiss 修飾符。允許 swipeToDismiss 僅在可視區域左側邊緣保持啟用狀態。系統會在螢幕中心需要處理水平分頁時使用這個修飾符,例如在二維平面捲動地圖或水平滑動多個頁面。(I3fcecb/200699800)

API 變更

  • CurvedModifiers 進行基礎實作,這樣可以引進一些自訂曲線內容的方法 (目前尚不提供 CurvedModifiers,但日後可能會提供建立自訂修飾符的功能) (I9b8df)
  • 為方便理解,更新了 EdgeSwipe 修飾符說明文件和預設值。(I6d00d)
  • PageIndicator 版位新增至 Scaffold。透過直接將 PageIndicator 新增至 Scaffold,可能會確保其在圓形裝置上正確顯示。(Ia6042)
  • InlineSlider 和 Stepper 參數中移除預設圖示。這將有助於開發人員更加關注本地化和無障礙功能需求。示範和範例已顯示預設圖示的用法。(I7e6fd)
  • 在 TimeText 中,以「Start」和「End」取代「Trailing」和「Leading」參數名稱 (Iaac32)
  • 我們新增了含 onDismissed 參數的 SwipeToDismissBox 超載,以便支援在滑動手勢完成時觸發瀏覽事件的常見用法。(I50353b/226565726)
  • TimeText 用法中移除 ExperimentalWearMaterialApi 註解 (Ide520)
  • 我們已將 ScalingLazyList/Column 範圍和資訊介面標示為密封狀態,因為這些介面不可供外部開發人員實作,這樣我們日後便可向其中新增成員,而無需對二進位檔進行破壞性變更。(I7d99f)
  • 我們在挑選器中新增了 flingBehaviour 屬性,並新增了 PickerDefaults.flingBehaviour() 方法,以便設定快速滑動行為,例如新增 RSB 支援。PickerState 現在會實作 ScrollableState 介面。(Ib89c7)

修正錯誤

  • 更新 Wear Compose 程式庫的 Android 執行階段 (ART) 基準設定檔規則。ART 可以在裝置上運用設定檔規則,事先編譯特定應用程式子集,提升應用程式效能。請注意,這對於可進行偵錯的應用程式沒有任何影響。(Iaa8ef)
  • 改善說明文件 (I2c051)

1.0.0-alpha19 版本

2022 年 3 月 23 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha19androidx.wear.compose:compose-material:1.0.0-alpha19androidx.wear.compose:compose-navigation:1.0.0-alpha191.0.0-alpha19 版包含此連結所列的修訂項目。

API 變更

  • 已將 CurvedRow 重新命名為 CurvedLayout,並改寫為使用 DSL 的範圍。使用這個 DSL 時,您可以使用一系列巢狀 curvedRowcurvedColumn (這些是列與欄的曲線版面配置等值) 來指定更複雜的曲線版面配置。在這些版面配置元素中,可以使用三個元素:curvedComposable (用於新增任何 @Composable)、basicCurvedText (Foundation 的曲線文字) 和 curvedText (Wear Material 感知型曲線文字)。(Ib776a)
  • 使 PositionIndicator 的側邊可設定。基本 PositionIndicator 的位置現在可設定為 End (可感知版面配置方向)、OppositeRsb (考慮螢幕旋轉,將自身放置在實體 RSB 對面),或絕對的 Left 和 Right。(I2f1f3)
  • 針對 SwipeToDismissBox,我們已將 SwipeDismissTarget.Original 重新命名為 SwipeToDismissValue.Default,並將 SwipeDismissTarget.Dismissal 重新命名為 SwipeToDismissValue.Dismissed。我們還將 SwipeToDismissBoxDefaults.BackgroundKeySwipeToDismissBoxDefaults.ContentKey 分別移至 SwipeToDismissKeys.ContentSwipeToDismissKeys.Background。(I47a36)
  • 針對具有多個 Picker,但一次只能編輯一個 Picker 的螢幕,我們已為 Picker 新增唯讀模式。挑選器為唯讀時,會顯示目前選取的選項和一個標籤 (如有提供)。(I879de)
  • 已重構 SwipeToDismissBoxState,將 ExperimentalWearMaterialApi 的範圍限制為 Modifier.swipeableSwipeableState (現已在內部使用)。SwipeToDismissBoxState 現在包含 currentValuetargetValueisAnimationRunningsnapTo,以支援常見應用實例。如果您還需要任何其他屬性,請通知我們。此外,還修正了 SwipeableState 在滑動偏移量處於錨定標記捨入誤差內的情況下的行為。(I58302)

修正錯誤

  • 簡化並修正程式碼,偵測 ScalingLazyColumn 的內容是否可以捲動 (用於判斷是否要顯示捲軸) (I7bce0)
  • 修正當有多個狀態且在不同狀態間切換時位置指示器出現的錯誤 (I320b5)
  • 我們已按照最新的使用者體驗指南,更新 Compose for Wear OS 的預設主題字體排版/字型。需要注意的是,display1 (40.sp) 和 display2 (34.sp) 小於其先前的值,並且行高和行間距也進行了一些其他微幅更新。(Ie3077)
  • 我們為 SwipeToDismissBox 新增了阻力,確保它只有在執行滑動關閉動作時移動,而且完全不會在相反方向上移動。(Ifdfb9)
  • 我們變更了 CircularProgressIndicator 函式的部分預設參數值,以使其符合 Wear Material Design 使用者體驗指南。針對 Spinner/Indeinant 版本,更新了大小 (40->24.dp)、MetricColor (primary->onBackground)、trackColor 透明度 (30%->10%) 和筆劃寬度 (4->3dp)。針對 Progress/Determinate 版本,更新了 trackColor 透明度 (30%->10%)。(I659cc)
  • 我們已根據最新的 Wear Material Design UX 規格,更新了 ScalingLazyColumn 的預設縮放參數。從視覺上看,這會讓清單項目在更靠近清單中心的位置開始縮放,但在清單邊緣的縮放比例卻比之前低。(Ica8f3)
  • ScalingLazyColumnDefaults.snapFlingBehavior 做出部分調整,改善動畫的結束效果 (If3260)

1.0.0-alpha18 版本

2022 年 3 月 9 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha18androidx.wear.compose:compose-material:1.0.0-alpha18androidx.wear.compose:compose-navigation:1.0.0-alpha181.0.0-alpha18 版包含此連結所列的修訂項目。

API 變更

  • PositionIndicator 有多項改善:ShowResult 已重新命名為 PositionIndicatorVisibility。改善部分效能,避免不不必要的重新編譯 (Iaed9d)
  • 已更新 SplitToggleChip 的建議顏色。現在,SplitToggleChip 會在勾選或取消勾選時顯示純色背景,而 ToggleControl 的顏色是顯示是否勾選該元件的主要標誌。我們新增了新的 ToggleDefaults.splitToggleChipColors() 以支援新的色彩配置。我們也簡化了 toggleChipColors() 方法,移除 splitBackgroundOverlayColor (I7e66e)
  • 我們已將 unadjustedSize 新增至 ScalingLazyListItemInfo,因為使用浮動運算法的縮放比例和縮放係數無法計算出原始項目大小。(I54657b/221079441)
  • 新增 HorizontalPageIndicator。這代表總頁面數和所選頁面。可能為線性或曲線,視裝置形狀而定。同時也支援自訂指標形狀,可定義每個指標的視覺呈現方式 (Iac898)。
  • 我們已更新 PickerState,這樣就能順利更新 numberOfOptions。這項功能支援多種用途,例如 DatePicker,即當月天數會因所選月份而有所不同。PickerState 的建構函式參數已據此變更為 initialNumberOfOptions。(Iad066)
  • PositionIndicator 為捲軸且無法捲動時則隱藏。(Id0a7f)
  • 為了與 Scaffold 保持一致,全螢幕對話方塊元件現在會顯示 PositionIndicatorVignette。我們現在也使用 ScalingLazyColumn 而非 Column,這表示 Dialog 的內容現位於 ScalingLazyListScope 中,且通常必須使用項目 { /* content */ } 括住。Dialog 會據此支援 verticalArrangement 參數 (Idea13)。
  • 我們已將 ToggleChipSplitToggleChip toggleIcon 屬性的名稱變更為 toggleControl,這樣能與 Material Design 保持一致,方便設計人員和開發人員瀏覽 API (If5921b/220129803)。
  • 我們已加入新的 Caption3 輸入至 Wear Material Theme Typology。Caption3 是一種小型字型,可於編寫長度非常長的內容使用 (例如:法律內容)。(I74b13b/220128356)

修正錯誤

  • 在位置中停止貼齊動畫。(Idb69d)
  • PositionIndicator 中的動畫變更。(I94cb9)
  • 根據 UI/使用者體驗意見回饋,我們已變更 ScalingLazyColumn AutoCentering,使其僅提供足夠的空間,確保具有索引 ScalingLazyListState.initialCenterItemIndex 或更高的項目可完整捲動至可視區域的中央。如此一來,開發人員一開始就能將與此項目相關的一或兩個項目置於中間位置,而這些項目無法捲動至中間位置。這表示 AutoCenter 的 ScalingLazyColumn 將無法捲動至 initialCenterItemIndex/initialCenterItemScrollOffset 的上方 (I22ee2)
  • 我們已針對 Date Picker 新增示範說明,並修正了 PickerState 中必須等到 Picker 顯示後才會套用 initiallySelectedOption 的錯誤。(Id0d7e)
  • 為減少在圓形畫面中寬幅 ScalingLazyColumn 項目遭到裁切的情況發生,我們已將預設水平邊框間距從 8 增加到 10 dp。(I0d609)
  • 確認 PositionIndicator 在捲動時顯示。(Ied9a2)

1.0.0-alpha17 版本

2022 年 2 月 23 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha17androidx.wear.compose:compose-material:1.0.0-alpha17androidx.wear.compose:compose-navigation:1.0.0-alpha171.0.0-alpha17 版包含此連結所列的修訂項目。

新功能

  • 我們已新增可搭配 ScalingLazyColumn 使用的貼齊支援。設定 flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) 可啟用貼齊支援。(I068d3b/217377069)
  • 我們已新增 Picker 的示範,說明如何以 24 小時或 12 小時制選擇時間 (Ie5552)。

API 變更

  • 修正正方形裝置上的 TimeText 自訂字型和樣式問題 (Iea76e)
  • ScalingLazyListLayoutInfo 現在有 reverseLayoutviewportSize,以及符合 LazyListLayoutInfo 的螢幕方向屬性 (I4f258b/217917020)
  • ScalingLazyColumn 現在有符合 LazyList 中屬性的 userScrollEnabled 屬性 (I164d0b/217912513)
  • 根據預設,挑選器現在會在頂端和底部顯示漸層 (Iab92a)

修正錯誤

  • 我們已修改 ScalingLazyColumn,使其無法完全填滿其父項的所有空間。而是從內容尺寸擷取尺寸資料。這與 LazyColumn 的行為一致。如果要恢復舊行為,請將 Modifier.fillMaxWidth()/width()/widthIn() 傳遞至 ScalingLazyColumn (I51bf8)
  • 我們已改善 SwipeDismissableNavHost.kt 的例外狀況訊息,並會在為導覽堆疊空白時觸發。(I1b1dc)

1.0.0-alpha16 版本

2022 年 2 月 9 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha16androidx.wear.compose:compose-material:1.0.0-alpha16androidx.wear.compose:compose-navigation:1.0.0-alpha161.0.0-alpha16 版包含此連結所列的修訂項目。

新功能

  • 新增 CircularProgressIndicator。進度指標會顯示程序的長度或未指定的等待時間長度,支援在全螢幕模式下使用 TimeText 或其他元件時的間隔 (中斷)。 (Iab8da)

API 變更

  • Picker 現在提供 flingBehavior 參數,預設值會在使用者捲動/快速滑動時,讓 Picker 直接跳到最接近的選項 (I09000)。
  • NativeSlider 和 Stepper 適用的其他整數 API (I1b5d6)

修正錯誤

  • ScalingLazyListState 的預設 initialCenterItemIndex 已從 0 變更為 1。也就是說,除非以 ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =) 覆寫其狀態結構,否則系統會在初始化時將第 2 個清單項目 (index == 1) 放在可視區域中央,而第 1 個 (index == 0) 項目則會放在第 2 個項目前面。這樣就能獲得更好的預設視覺效果,因為大多數可視區域都會填入清單項目。(I0c623b/217344252)
  • 我們已減少 ScalingLazyColumn 預設的 extraPadding,確保從 10% 到 5% 有足夠的清單項目可以繪製 (即使我們縮減了部分項目的尺寸)。這將避免編寫可能不會在可視區域中顯示的額外清單項目。如果使用非標準 scalingParams (例如:執行個體的極端縮放功能),開發人員可以使用 viewportVerticalOffsetResolver 調整額外的邊框間距。(I76be4)
  • 修正方形裝置多行 TimeText (Ibd3fb) 的問題
  • 我們已修改 ScalingLazyColumn,使其無法完全填滿其父項的所有空間。而是從內容尺寸擷取尺寸資料。這與 LazyColumn 的行為一致。如果要恢復舊行為,請將 Modifier.fillMaxSize() 傳遞至 ScalingLazyColumn。注意:此變更尚未完成,我們會在下一個 Alpha 版本的後續變更中解決相關問題 (I3cbfa)。

1.0.0-alpha15 版本

2022 年 1 月 26 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha15androidx.wear.compose:compose-material:1.0.0-alpha15androidx.wear.compose:compose-navigation:1.0.0-alpha151.0.0-alpha15 版包含此連結所列的修訂項目。

API 變更

  • 我們已在 ScalingLazyColumn 中加入新的屬性 autoCentering。如果為 True (預設值),可確保所有項目 (包括第一個和最後一個項目) 都可以捲動,以便這些項目能夠在清單可視區域中央顯示。請注意,如果您使用自動置中功能,建議您將垂直內容邊框間距設為 0.dp。如果同時設定 autoCentering 和垂直內容邊框間距,兩者都會為第一個清單項目之前和最後一個清單項目之後提供額外空間,以使清單項目可以在較大範圍內捲動。(I2a282b/214922490)
  • 我們已新增 Dialog 元件,讓任何可組合項能夠觸發位於其他內容上方的全螢幕對話方塊。顯示時,對話方塊支援滑動關閉功能,並在滑動手勢會在背景顯示父項內容。對話方塊內容應為 AlertConfirmation (從較舊的元件 AlertDialogConfirmationDialog 重新命名) - AlertConfirmationDialog 都位於androidx.wear.compose.material.dialog 套件中。「快訊」和「確認」可做為導覽目的地。此外,您也可以視需要在「快訊」和「確認」參數中加入 ColumnScope。(Ia9014)
  • 我們已從 WearOS 材質主題色彩中移除 onSurfaceVariant2,並以 onSurfaceVariant 取代程式庫中的元素。(Icd592)
  • 新增可透過程式輔助方式在 PickerState 中選取選項的方法,但現在在建立 PickerState 時也可以指定最初選取的選項。(I92bdf)
  • 我們已開始支援自訂 ScalingLazyColumn 的快速滑過行為 (I1ad2eb/208842968)。
  • 已新增 NavController.currentBackStackEntryAsState()Wear.Compose.Navigation 程式庫。(If9028b/212739653)。
  • 為具有旋轉側邊按鈕的 Wear 裝置新增了 Modifier.onRotaryScrollEvent()Modifier.onPreRotaryScrollEvent()。(I18bf5b/210748686)

1.0.0-alpha14 版本

2022 年 1 月 12 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha14androidx.wear.compose:compose-material:1.0.0-alpha14androidx.wear.compose:compose-navigation:1.0.0-alpha141.0.0-alpha14 版包含此連結所列的修訂項目。

新功能

  • 我們在 ScalingLazyListState 中新增了多種方法,讓開發人員能夠控制捲動至特定清單項目以及設定初始清單項目和偏移量的動作。

    在做出這項變更的過程中,我們還修改了 ScalingLazyList,使其定位到 ScaleLazyList 可視區域的中間位置,而非可視區域的起始位置。

    ScalingLazyList 中新增屬性 anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter,以控制中央 (ScalingLazyListAnchorType.ItemCenter) 或 Edge (ScalingLazyListAnchorType.ItemStart) 是否應符合可視區域的中心點。

    因此,ScalingLazyListItemInfo.offsetScalingLazyListItemInfo.adjustedOffset 已經改變,現在也會反映出商品在清單項目和清單中 anchorType 的偏移情形。舉例來說,假設 ScalingLazyColumnanchorTypeItemCenter,且某個清單項目的中心位於可視區域的中心線上,則偏移值為 0

    新的方法包括 scrollToanimatedScrollTocenterItemIndexcenterItemOffset。(I61b61)

  • 我們在 SwipeDismissableNavHost 中新增返回按鈕處理常式,因此按下返回按鈕可前往導覽階層中的上一個層級。(I5b086b/210205624)

1.0.0-alpha13 版本

2021 年 12 月 15 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha13androidx.wear.compose:compose-material:1.0.0-alpha13androidx.wear.compose:compose-navigation:1.0.0-alpha131.0.0-alpha13 版包含此連結所列的修訂項目。

API 變更

  • 我們已製作 RangeIcons 的內部內部資料 (InlineSliderStepper 內部參照)。(I927ec)

修正錯誤

  • 修正問題:SwipeDismissableNavHost 會在達到 CREATED 生命週期狀態之前,將目的地新增至 Compose 階層,導致 IllegalStateException。這項修正需要先更新 navigation-compose2.4.0-beta02 以上的依附元件 (I40a2bb/207328687)。

  • 新增 Drawables 列舉類別,可從 Wear Compose 程式庫取得可繪製資源,這樣便不再需要使用反射機制。修正 minifyEnabled=trueshrinkResources=true 中資料庫可繪項目遭到移除的問題。(Ib2a98)

  • 已在 Wear Compose 中針對 Stepper 新增測試 (I2d03a)

  • 已在 Wear Compose Navigation 中針對 SwipeDismissableNavHost 新增範例。(I85f06)

1.0.0-alpha12 版本

2021 年 12 月 1 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha12androidx.wear.compose:compose-material:1.0.0-alpha12androidx.wear.compose:compose-navigation:1.0.0-alpha121.0.0-alpha12 版包含此連結所列的修訂項目。

新功能

  • 我們已新增 Stepper 元件,可讓使用者從多個值範圍內選擇。Stepper 是一種全螢幕控制項,其頂端和底部有增加按鈕和減少按鈕,中間具有版位,預計會插入方塊或文字。如果需要,可以自訂按鈕圖示。(I625fe)

  • 我們已加入 2 個新的可組合項來顯示對話方塊:一個是 AlertDialog,用於等待使用者回應,並顯示標題、圖示、訊息,以及 a) 兩個提供簡單二選一選項的按鈕;或 b) 方便使用者更靈活選擇的垂直堆疊方塊或切換方塊;另一個是 ConfirmationDialog,用於顯示有逾時的確認訊息。這個簡單的對話方塊會提供一個標題和一個 (動畫) 圖示的位置。(Ic2cf8)

API 變更

  • 為建議的對話方塊時間長度值新增單位 (毫秒)。(I09b48)

1.0.0-alpha11 版本

2021 年 11 月 17 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha11androidx.wear.compose:compose-material:1.0.0-alpha11androidx.wear.compose:compose-navigation:1.0.0-alpha111.0.0-alpha11 版包含此連結所列的修訂項目。

新功能

  • 我們已新增挑選器元件,讓使用者可從捲動清單中選取項目。根據預設,可選取的項目清單會在這兩個方向「無限」重複,從側邊看就是一個旋轉的圓柱體。日後將在更新版本中新增兩種功能:在滑動/快速滑動後對齊某個值;新增函式至 PickerState,以設定/捲動至目前值。 (I6461b)

API 變更

  • 新增 ScaleLazyItemScope 和部分新修飾符 fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight,允許根據父項容器的大小調整清單項目的大小。項目可設為填滿全部或部分父項大小。這會公開 LazyRow/Column 中的現有功能 (I4612f)
  • 新增對 ScalingLazyColumn 的支援功能,讓項目可擁有鍵。另外也新增便利的方法,可從 Array 和 List 新增項目 (Ic1f89)。

修正錯誤

  • TimeText 的其他範例 (I8cb64)

1.0.0-alpha10 版本

2021 年 11 月 3 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha10androidx.wear.compose:compose-material:1.0.0-alpha10androidx.wear.compose:compose-navigation:1.0.0-alpha101.0.0-alpha10 版包含此連結所列的修訂項目。

新功能

  • 新增 Wear Compose 的 InlineSlider。InlineSlider 可讓使用者從多種不同的值中選擇。選取範圍會以長條形式顯示範圍的最小值和最大值,使用者可以從該範圍選取單一值。(If0148)

  • 瞭解 WearOS Codelab 的新版 Compose!

API 變更

  • 現在 Macrobenchmark 的 minSdkVersion23 (If2655)。

修正錯誤

1.0.0-alpha09 版本

2021 年 10 月 27 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha09androidx.wear.compose:compose-material:1.0.0-alpha09androidx.wear.compose:compose-navigation:1.0.0-alpha091.0.0-alpha09 版包含此連結所列的修訂項目。

新功能

  • 我們已在 Wear OS 上推出 Compose 的開發人員預覽版。請參閱我們的網誌文章,瞭解主要可組合項並取得其他資源的連結,即可開始使用這些資源。

API 變更

  • 新增支援功能,讓開發人員可以自訂 Wear Material Design Color 主題中的所有顏色 (I4759bb/199754668)。

修正錯誤

  • 新增可保留狀態的 SwipeToDismissBox 範例 (Ibaffe)
  • 從 CurvedText、TimeText 和 SwipeToDismissBox 的 KDoc 新增 developer.android.com 指南的連結。(I399d4)
  • 如果沒有現行目的地,SwipeDismissableNavHost 現在會擲回例外狀況 (代表未使用 wear.compose.navigation.composable 公用函式建構 NavGraph) (I91403)
  • 在 TimeText 中針對時間來源加入額外的說明文件和範例 (I4f6f0)

1.0.0-alpha08 版本

2021 年 10 月 13 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha08androidx.wear.compose:compose-material:1.0.0-alpha08androidx.wear.compose:compose-navigation:1.0.0-alpha081.0.0-alpha08 版包含此連結所列的修訂項目。

API 變更

  • 我們已將 AppCard 和 TitleCard body 的屬性重新命名為 content,並移至屬性清單尾端,以結尾的 lambda 形式提供這些屬性。此外,為保持與新運算單元名稱一致,bodyColor 也重新命名為 contentColor (I57e78)。

修正錯誤

  • 針對按鈕、卡片、方塊、主題、位置指標和縮放延遲欄位元件,從 KDoc 加入 developer.android.com 指南的連結。(I22428)
  • 修正 WearOS SwipeToDismissBox 有時無法處理滑動手勢的問題。(I9387e)
  • 新增 Button、CompactButton、Chip、CompactChip、AppCard、TitleCard、ToggleButton、ToggleChip、SplitToggleChip 新增範例 (Iddc15)
  • 針對 Card、Chip、ToggleChip、TimeText 和 ScalingLazyColumn 新增 Microbenchmark 效能測試。(If2fe9)

1.0.0-alpha07 版本

2021 年 9 月 29 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha07androidx.wear.compose:compose-material:1.0.0-alpha07androidx.wear.compose:compose-navigation:1.0.0-alpha071.0.0-alpha07 版包含此連結所列的修訂項目。

新功能

  • 在質感中加入 CurvedText 元件,這個元件可讓開發人員輕鬆沿圓圈弧線 (通常位於圓形螢幕邊緣) 寫入曲線文字。 (I19593)

API 變更

  • 新增 TimeText 的測試 (Idfead)
  • 將 ArcPAddingValues 轉換為介面。(Iecd4c)
  • 新增動畫至 SlideToDismissBox (I9ad1b)
  • 新增 hasBackground 參數至 hasToCloseBox API,這樣如果沒有可顯示的背景內容時,就可以停用滑動手勢。(I313d8)
  • rememberNavController() 現在接受可選用的 Navigator 執行個體組合;系統會將這個執行個體加到傳回的 NavController,對選用的導覽器 (例如來自 Accompanist Navigation Material 的導覽器) 提供更完善的支援。(I4619e)
  • 從導覽常見功能參照 NamedNavArgument,並從 Wear.compose.browsing 移除副本。(I43af6)

修正錯誤

  • 修正在小型裝置上進行 CurvedRow 測試時發生的不穩定問題。(If7941)
  • 修正在內容更新時可能在 CurvedRow 上閃爍的問題,並確保曲線列能重新評估 (Ie4e06)
  • 為與 UX Spec 變更保持一致,已更新 ChipDefaults.gradientBackgroundChipColors()。梯度現在會以 MaterialTheme.colors.primary 開頭,且 Alpha 度為 32.5%,結束位置為 MaterialTheme.colors.surface、Alpha @ 0%,背景為 MaterialTheme.colors.surface @ 75% Alpha。(Id1548)
  • 我們已根據最新的 Wear Material Design UX Spec 更新選取狀態的 ToggleChips 顏色。選取的 ToggleChips 現在有從 MaterialTheme.color.surface @ 0% alpha 左上方到 MaterialTheme.color.primary @ 32% alpha 的底部,位於 MaterialTheme.color.surface @ 75% alpha 的右下角。因此 ToggleChip 的勾選和取消勾選之間有更明確的差異。(Idd40b)

1.0.0-alpha06 版本

2021 年 9 月 15 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha06androidx.wear.compose:compose-material:1.0.0-alpha06androidx.wear.compose:compose-navigation:1.0.0-alpha061.0.0-alpha06 版包含此連結所列的修訂項目。

新功能

  • 我們已為 Scaffold 新增頂層應用程式可組合項,以便提供一種結構,用於處理 PositionIndicators (例如捲動或音量) 位置,亦即在螢幕頂端顯示時間和應用程式狀態的區域。另外,我們也支援使用 Vignette 對可捲動內容的螢幕頂端和底部邊緣進行模糊處理。Scaffold 的主要區域是指應用程式內容放置的位置。(I5e0bf)
  • 新增 Wear Compose 的 TimeText 實作 (I5654c)

Wear Compose 導覽程式庫

  • 我們已新增第一版的 Wear Compose Navigation 程式庫,整合了 Wear Compose 和 Androidx Navigation 程式庫。這可讓您輕鬆地將 @Composable 函式做為應用程式目的地。

  • 初始版本提供以下功能:

    • SwipeDismissableNavHost 可組合函式可代管導覽圖表,並可透過滑動手勢向後瀏覽
    • NavGraphBuilder.composable 擴充功能可協助建立導覽圖表
    • rememberSwipeDismissableNavController() 可允許提升狀態
  • 在以下使用範例中,我們建立了兩個畫面並在兩者之間進行導覽:

    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")
            }
        }
    }
    
  • Wear Compose Navigation 已封裝為獨立的程式庫,因此實作專屬手動導覽功能的簡易 WearCompose 應用程式無需依附 Androidx Navigation 程式庫。

API 變更

  • 透過針對背景和內容設定金鑰辨識,更新 SwipeDismissableNavHost 以支援 rememberSaveable (I746fd)
  • 我們已新增 PositionIndicator 轉接程式,可以處理 LazyListState (I21b88)
  • 更新 TalkBackToDismissBox 以支援 RememberSave (Ie728b)
  • 在 ScalingLazyColumn 新增 reverseLayout 支援。這可允許倒轉捲動和版面配置的方向 (I9e2fc)
  • 淘汰 performGestureGestureScope,並替換為 performTouchInputTouchInjectionScope (Ia5f3fb/190493367)。
  • 我們已將 VignetteValue 重新命名為 VignettePosition,並將 ScalingLazyColumn 重新命名為 VignettePosition.TopAndBottom。(I57ad7)
  • 由於我們日後可能決定新增 ScalingLazyRow 實作,因此已將 ScalingLazyColumnState 重新命名為 ScalingLazyListState,將 ScalingLazyColumnItemInfo 重新命名為 ScalingLazyListItemInfo,將 ScalingLazyColumnLayoutInfo 重新命名為 ScalingLazyListLayoutInfo,以及將 ScalingLazyColumnScope 重新命名為 ScalingLazyListScope。(I22734)

修正錯誤

  • 更新 CompactChip 說明文件,說明沒有提供圖示和標籤時會如何。(I4ba88)
  • 我們已調整 Wear 資訊卡元件。(I6b3d0)
    1. 標題和內文之間的 TitleCard 間距已從 8.dp 減少為 2.dp。
    2. TitleCard 標頭字型已從內文變更為 title3。
    3. 資訊卡背景梯度已變更,使背景變暗。

1.0.0-alpha05 版本

2021 年 9 月 1 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha05androidx.wear.compose:compose-material:1.0.0-alpha051.0.0-alpha05 版包含此連結所列的修訂項目。

API 變更

  • 將 ArcPAddingValues 標示為 @Stable (I57deb)
  • ScalingLazyColumnState 現可實作 ScrollableState 介面,讓開發人員能夠以程式輔助的方式捲動元件。(I47dbc)

修正錯誤

  • 我們已減少 Chip 和 ToggleChip 中圖示和文字之間的間距,使其與 UX Spec 的更新一致。(I83802)

1.0.0-alpha04 版本

2021 年 8 月 18 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha04androidx.wear.compose:compose-material:1.0.0-alpha041.0.0-alpha04 版包含此連結所列的修訂項目。

新功能

  • 新增 SwipeToDismissBox 和可滑動修飾符,可用來支援由左至右的滑動關閉手勢。雖然與導覽元件無直接關聯,但這仍應於離開一個畫面並前往另一個畫面時使用。在滑動關閉手勢的示範中加入整合測試 (I7bbaa)。
  • 我們已將 ScalingLazyColumnItemInfo 和 ScalingLazyColumnLayoutInfo 介面新增至 ScaleLazyColumnState 類別,讓開發人員可在套用縮放功能後取得 ScaleLazyColumn 中項目的實際位置和大小。我們已修正了在 ScaleLazyColumn 套用「top」內容邊框間距時計算縮放比例的錯誤 (I27c07)。

API 變更

  • 新增 CurvedTextStyle 類別,用來指定曲線文字樣式選項。這與 TextStyle 相似,但現在只支援顏色、字型大小和背景。日後還會加入更多樣式選項 (I96ac3)。
  • 我們已將 ScalingLazyColumnItemInfo 和 ScalingLazyColumnLayoutInfo 介面新增至 ScaleLazyColumnState 類別,讓開發人員可在套用縮放功能後取得 ScaleLazyColumn 中項目的實際位置和大小。我們已修正了在 ScaleLazyColumn 套用「top」內容邊框間距時計算縮放比例的錯誤 (I27c07)。
  • SwipeDismissTarget 列舉中新增 @ExperimentalWearMaterialApi (屬於 SwipeToDismissBox API 的一部分)。(I48b5e)

修正錯誤

  • 新增 SwipeToDismissBox 的測試材料 (I9febc)

1.0.0-alpha03 版本

2021 年 8 月 4 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha03androidx.wear.compose:compose-material:1.0.0-alpha031.0.0-alpha03 版包含此連結所列的修訂項目。

API 變更

  • 新增 CurvedText 元件,可讓開發人員輕鬆撰寫文字,並依照曲線形狀 (通常在圓形螢幕邊緣) 排列文字 (Id1267)
  • 我們已將 CardDefaults.imageBackgroundPainter() 重新命名為 CardDefaults.imageWithScrimBackgroundPainter(),明確指出含有背景圖片的區塊圖片。(I53206)
  • 新增 ScaleLazyColumn 元件,為 Wear Material 提供清單元件,讓該清單內容可以縮小,並且隨著向元件邊緣延展逐漸變為透明,提供魚眼畫面的效果 (I7070c)。

修正錯誤

  • 為因應 UX Spec 更新,我們已變更 AppCard 中 appName 內容的預設顏色。appName 的預設顏色是 MaterialTheme.colors.onSurfaceVariant。此外,針對標題版位新增缺少的參數文件說明。(Ic4ad1)

1.0.0-alpha02 版本

2021 年 7 月 21 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha02androidx.wear.compose:compose-material:1.0.0-alpha021.0.0-alpha02 版包含此連結所列的修訂項目。

新功能

  • 加入新類別 CurvedRow,以弧形方式排列可組合函式 (I29941)
  • 新增可在應用程式中使用的新資訊卡類別 (TitleCard),並支援使用圖片做為 Card 的背景來突顯內容 (I53b0f)

API 變更

  • 加入支 CurvedRow 的放射狀對齊的支援 (類似列中的垂直對齊方式) (Id9de5)
  • 加入新類別 CurvedRow,以弧形方式呈現可組合函式 (I29941)
  • 新增可在應用程式中使用的新資訊卡類別 (TitleCard),並支援使用圖片做為 Card 的背景來突顯內容 (I53b0f)
  • 在 ToggleChipDefaults 中新增切換圖示 (核取方塊、切換和圓形按鈕),讓開發人員能夠輕鬆設定 ToggleChip 和 SplitToggleChips (I7b639)
  • 更新方塊開始和結束內容的邊框間距,因此無論方塊是否顯示圖示,邊框間距一律為 14.dp (先前顯示圖示時,為 12.dp;不顯示時,則為 14.dp) (I34c86)

修正錯誤

  • 新增 CurvedRow 的測試 (I93cdb)
  • 將 Wear Compose 依附元件套用至 Compose 1.0.0-rc01。(Ie6bc9)
  • 變更資訊卡和方塊中的背景圖片繪製功能,讓圖片經裁剪後不再縮放,以維持圖片比例。(I29b41)
  • 針對 Button 和 ToggleButton 加入更多多示範和整合測試。(5e27ed2)
  • 加入更多方塊測試,可用於處理 imageImageChips 的內容顏色 (Ia9183)

1.0.0-alpha01 版本

2021 年 7 月 1 日

發布 androidx.wear.compose:compose-foundation:1.0.0-alpha01androidx.wear.compose:compose-material:1.0.0-alpha011.0.0-alpha01 版包含此連結所列的修訂項目。

新功能

Wear Compose 是 Kotline、支援 Wear Material 設計的 Compose 程式庫,也是 Wear OS 穿戴式裝置的 Material Design 擴充功能。此第一版 Alpha 版本包含以下內容的初期功能實作:

  • 材料主題 - 設定這個程式庫中各項元件的顏色、字體和形狀等設定。
  • Chip、CompactChip - 方塊為體育場形狀,且提供不同變化,用於容納圖示、標籤和次要標籤內容。
  • - ToggleChip、SplitToggleChip - 一種特殊的方塊類型,內含雙狀態切換圖示 (例如圓形按鈕或核取方塊) 的版位。此外,SplitToggleChip 中有兩個可輕觸的區域,一個可點擊,另一個可切換。
  • Button、ComactButton - 按鈕的形狀為圓形,內含一個用於顯示圖示或極少文字 (最多 3 個字元) 的內容版位。
  • ToggleButton - 用於開啟或關閉特定動作的按鈕,內含一個用於顯示圖示或極少文字 (最多 3 個字元) 的內容版位。
  • 資訊卡、AppCard - 矩形圓角設計,可為應用程式圖示、時間、標題和內文等內容提供運算單元。

日後推出的新版本將進一步支援小工具組設計,增加 Wear Material Design 挑選器、滑桿、清單、頁面指標、對話方塊、捲動式 RSB 指示燈、閃光燈等等。

此外,我們還會為其他穿戴式裝置專屬功能 (例如曲線版面配置和文字) 和鷹架提供支援,讓開發人員能夠輕鬆建構穿戴式應用程式/疊加。

Wear Compose 的材質設計原則與 Compose Material 相同,雖然是以穿戴式裝置為目標。為穿戴式裝置建構應用程式時,應使用 Wear Compose Material 程式庫取代 Compose Material 程式庫。

開發人員應將這兩個「Material」程式庫視為互斥,不得在同一個應用程式中混用。如果開發人員發現其依附元件中內含 Compose Material 程式庫,這表示:a) Wear Compose Material 程式庫中缺少元件 (在這種情況下,請告訴我們您需要的元件);或者 b) 目前使用的元件不是我們建議用於穿戴式裝置的元件。