Wear Tiles

建立 Wear OS by Google 智慧型手錶的應用程式。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2022 年 8 月 24 日 1.1.0 - - -

宣告依附元件

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

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

Groovy

dependencies {
    // Use to implement support for wear tiles
    implementation "androidx.wear.tiles:tiles:1.1.0"

    // Use to utilize components and layouts with Material Design in your tiles
    implementation "androidx.wear.tiles:tiles-material:1.1.0"

    // Use to preview wear tiles in your own app
    debugImplementation "androidx.wear.tiles:tiles-renderer:1.1.0"

    // Use to fetch tiles from a tile provider in your tests
    testImplementation "androidx.wear.tiles:tiles-testing:1.1.0"
}

Kotlin

dependencies {
    // Use to implement support for wear tiles
    implementation("androidx.wear.tiles:tiles:1.1.0")

    // Use to utilize components and layouts with Material design in your tiles
    implementation("androidx.wear.tiles:tiles-material:1.1.0")

    // Use to preview wear tiles in your own app
    debugImplementation("androidx.wear.tiles:tiles-renderer:1.1.0")

    // Use to fetch tiles from a tile provider in your tests
    testImplementation("androidx.wear.tiles:tiles-testing:1.1.0")
}

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

意見回饋

您的意見可協助我們改善 Jetpack。發現新的問題或有改善這個程式庫的想法時,請告訴我們。建立新的問題之前,請先查看這個程式庫中的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 文件

1.1 版本

1.1.0 版本

2022 年 8 月 24 日

發布 androidx.wear.tiles:tiles-*:1.1.01.1.0 版本包含以下修訂項目。

自 1.0.0 版本以來的重要異動

  • 這是包含 Tiles Material 程式庫的首個穩定版本 (詳情請參閱我們的網誌)。
  • 這個程式庫包含符合 Material 指南且易於使用的元件和版面配置。包含的元件為 ButtonChipCompactChipTitleChipCircularProgressIndicatorText。所有這些元件都有其專屬的顏色物件,且使用主要顏色建立類別,即可輕鬆針對所有元件套用相同的主題。除了色彩之外,還有印刷樣式類別,您可以使用印刷樣式名稱輕鬆取得 FontStyle 物件。
  • 除了元件之外,還有建議的並排版面配置:PrimaryLayoutEdgeContentLayoutMultiButtonLayoutMultiSlotLayout。所有版面配置均套用了符合 Material 指南的邊框間距和樣式。
  • 如需 Tiles Material 程式庫中的元件和版面配置清單,請參閱資訊方塊的版本資訊。

1.1.0-rc01 版本

2022 年 8 月 10 日

發布 androidx.wear.tiles:tiles-*:1.1.0-rc011.1.0-rc01 版包含以下修訂項目。

  • Beta 版本和 RC 版本之間沒有任何變更。

1.1.0-beta01 版本

2022 年 7 月 27 日

發布 androidx.wear.tiles:tiles-*:1.1.0-beta011.1.0-beta01 版本包含以下修訂項目。

Tiles Material 程式庫的 1.0.0-beta01 版本包含遵守 Material 指南且易於建構的元件和版面配置。

包含的元件如下:

  • Button - 可點擊的圓形物件,包含含 3 個預先定義大小的圖示、文字或圖片。
  • Chip - 可點擊的體育場形狀的物件,包含圖示、主要和次要標籤,高度固定且可自訂寬度。
  • CompactChipTitleChip - 標準方塊的兩種變化版本,其高度和尺寸皆相同,可以含有一行文字。
  • CircularProgressIndicator - 在螢幕邊緣周圍的彩色弧形,其具有指定的開始和結束角度,可呈現完整的或部分圓圈,以及後方的完整進度弧形。
  • Text - 使用建議的 Wear Material 字體樣式的樣式化文字

這些元件都有各自的顏色物件 (可透過主要 Colors 類別建構),輕鬆對所有元件套用相同的主題。除了顏色以外,您也可以使用 Typography 類別輕鬆使用字體排版名稱取得 FontStyle 物件。

除了元件外,還有建議的圖塊版面配置:

  • PrimaryLayout:版面配置可自訂,例如新增主要或次要標籤、中間部分的內容,以及底部的主要方塊。這個版面配置的主要內容可新增為 MultiSlotLayoutMultiButtonLayout 物件。
  • EdgeContentLayout - 代管CircularProgressIndicator周圍的版面配置,版面配置內有主要內容,以及周圍有主要或次要標籤。
  • MultiButtonLayout - 版面配置可以包含 1 到 7 個按鈕,並按照質感設計指南排列 (視數字而定)。
  • MultiSlotLayout - 行列狀樣式的版面配置,水平對齊且有間隔插槽 (適用於圖示或其他小型內容)。

所有版面配置均套用了符合 Material 指南的邊框間距和樣式。

API 變更

  • 為 Chip 元件進行重大重構,其中包含 Builder 中的分隔 setter,讓內容的每個部分都能透過重新命名來以符合規範 (主要標籤、次要標籤、圖片資源 ID)。此外,如未設定,系統會自動產生內容說明。(I57622)
  • ProgressIndicatorLayout 已重新命名為 EdgeContentLayout (Ic1aa6)
  • 按鈕大小內容已重新命名為 without _BUTTON 後置字串,並在 Button 中加上額外的 Javadocs 說明。(I1dfe2)

修正錯誤

  • 更新 Material Layouts 中的邊界、邊框間距和整體排列方式,以符合所有類型的建議版面配置和螢幕大小和形狀。
  • 改善 Material Layouts。在 MultiSlotLayout 版位中,可彈性調整內容寬度,而非固定大小 (I52919)、(If18b4)
  • CompactChip 上可輕觸的區域已調高,以符合無障礙指南。(Ie8264)

1.1.0-alpha09 版本

2022 年 6 月 29 日

發布 androidx.wear.tiles:tiles-*:1.1.0-alpha091.1.0-alpha09 版本包含這些修訂版本。

新功能

  • 我們已在 ProgressIndicatorLayout 中新增選用標籤,並為這項功能提供了相關支援。(I30788)

API 變更

  • ElementMetadata 的輔助方法現在接受 ElementMetadata,而非修飾元。(I5a70f)

修正錯誤

  • 已移除 CompactChip 的字元限制 (最多 9 個字元)。如果文字過大,無法放入 PrimaryLayout 的畫面中,系統會顯示刪節號。(Id56ec)
  • Chip 中的 getter 現在可以加上 Content 後置字串。(Iba437)
  • 針對 Tiles Material 類別提供更清楚的 Javadoc 說明。(I56e41)、(I80f31)、(Iba437)

1.1.0-alpha08 版本

2022 年 6 月 1 日

發布 androidx.wear.tiles:tiles-*:1.1.0-alpha081.1.0-alpha08 版包含這些修訂版本。

新功能

  • 在修飾元新增中繼資料標記,以便使用 Helper 類別新增的輔助方法追蹤元件中繼資料。(I70db2)、(I30c3d)
  • 為所有 Tiles Material 內部版面配置的元件新增靜態方法 fromLayoutElement。此項目應作為測試用途,您可以藉此將存取容器內容時取得的 LayoutElement 投放到原始的類型。(Ia572a)、(Idbd8a)、(I3ae13)、(I292fe)、(I8b20f)、(I3cacb)、(I84b24)

1.1.0-alpha07 版本

2022 年 5 月 18 日

androidx.wear.tiles:tiles-*:1.1.0-alpha07 發布。1.1.0-alpha07 版本包含這些修訂版本。

API 變更

  • 與不同內容 setter 相關的 getter 現已新增至 ProgressIndicatorLayoutPrimaryLayout。現在,這些類別中的所有 setter 都有相符的 getter。(Iddbe5)(Iabe4e)
  • 在 Material 元件中,內容說明的 getter 可以傳回 null,因為其 setter 並非強制性。
  • 如果您嘗試建立不含傳遞內容的 Button,就會產生 IllegalArgumentException。(I7fc0c)
  • ChipColors 中的圖示顏色相關欄位已從 iconTintColor 重新命名為 iconColor。(Ic053b)

修正錯誤

  • 已在 Tiles Material 中為 Layouts 新增了 androidTests。(I96404)

1.1.0-alpha06 版本

2022 年 5 月 11 日

androidx.wear.tiles:tiles-*:1.1.0-alpha06 發布。1.1.0-alpha06 版本包含這些修訂版本。

新功能

  • 新的版面配置已新增至 Material Layouts 子程式庫 - MultiButtonLayout。它代表可由 1 至 7 個按鈕組成並且符合 Material 指南規定的版面配置。在多數情況下,這個版面配置應以內容的形式傳送至 PrimaryLayout。(Ib727f)

API 變更

  • MultiSlotLayout 已重構為僅包含運算單元。這個版面配置應以內容的形式傳送至主要 PrimaryLayout。(I1870f)
  • 已將 CircularProgressIndicator 的定義預設顏色更新為單一值,而不是主要和次要值。(I64a51)
  • MultiSlotLayout 中新增了水平墊片的 getter。(I11e1e)

修正錯誤

  • 元件的 Android 測試功能已新增至 Tiles Material 中。(I20041)

1.1.0-alpha05 版本

2022 年 4 月 6 日

androidx.wear.tiles:tiles-*:1.1.0-alpha05 發布。1.1.0-alpha05 版本包含這些修訂版本。

新功能

  • 新增輔助方法,將 LayoutElement 轉換成版面配置、時間軸和時間軸項目,以便為這些類別簡化圖塊建立作業。(I2f6d1)
  • 已將 Colors 物件新增至 Material 資料庫,並作為主題在各個元件顏色中傳遞。(I0792c)

API 變更

  • Material Text 元件需要將文字傳入建構函式中。現在可以透過設定權重來自訂此元件。(I25dbd)
  • ChipDefaults 中移除未在公用設定器上使用的常數。(I7baed)
  • CompactChipTitleChip 中移除沒有相符設定器的 getter。(I99e85)
  • DEFAULT_PADDING 已從 ProgressIndicatorDefaults 移除。(Idabcd)
  • Material 元件現在接受 CharSequence 做為內容說明,而非字串。(I5b21a)

修正錯誤

  • 以重構設定器的方式在 Button 中實作可選參數。(Ib7135)
  • 字型樣式變數已新增至 Typography 字型中。(I8dbc6)

1.1.0-alpha04 版本

2022 年 3 月 23 日

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

新功能

  • 您可以選擇將主要或次要標籤新增至 PrimaryLayout。(Ib9916)
  • 您可以透過設定溢位、斜體、底線等方式自訂文字元件 (I703f7)。

API 變更

  • 已從 Tiles Material API 中移除預設色彩常數。(I0ab55)
  • 所有位於 Tiles Material 的可點擊元件都需要使用 Builder 建構函式的 Clickable 物件,而非 Action。(I2f101)

修正錯誤

  • 文字現在會在方塊與文字元件的溢位時畫出刪節號。(I8a2f8)
  • 改善的元件會在使用者字型調整為大時呈現。(Ib63b1)
  • 在主版面配置中,清楚說明 setPrimaryChipContent 的 Javadocs。(Ie6296)

1.1.0-alpha03 版本

2022 年 2 月 23 日

已釋出androidx.wear.tiles:tiles-*:1.1.0-alpha031.1.0-alpha03 版本包含這些修訂版本。

API 變更

  • 已將帶有推薦字體類型的 Text 元件新增至 TIles Material。(Iec0ae)

1.1.0-alpha02 版本

2022 年 2 月 9 日

已釋出androidx.wear.tiles:tiles-*:1.1.0-alpha021.1.0-alpha02 版本包含以下修訂項目。

新功能

  • Tiles Material 中新增了一個 layouts 子程式庫。其中包含可自主設計的 Tiles 版面配置,該配置帶有建議的邊框間距和邊界,讓 Tile 開發作業更快速且更易於實作。初始版面配置如下:
    • PrimaryLayout (I7ba91) 代表版面配置,底部有主要晶片,中部是內容部分。
    • MultiSlotLayout (I32104) 代表的版面配置如下:第 1 列和第 3 列上的標籤,第 2 列是水平對齊,且有間隔插槽,後面接著的是包含主要晶片的第 4 列。
    • ProgressIndicatorLayout (I9fec6) 代表的版面配置如下:螢幕邊緣有圓形進度指標,裡面有指定的內容。
  • CircularProgressIndicator (Ic4b88) 已新增至 Tiles Material 元件。

API 變更

  • 已重新命名 TitleChip 使用的剩餘常數,並在名稱中加入了標題。(I14f4c)
  • 已將 setHorizontalAlignment 方法新增至 Chip。(Ie6e0b)

1.1.0-alpha01 版本

2022 年 1 月 26 日

已釋出androidx.wear.tiles:tiles-*:1.1.0-alpha011.1.0-alpha01 版本包含以下修訂項目。

新功能

  • 已新增程式庫 Tiles Material。其中包含的元件,可以在使用 Material 設計的情況下更快速、更方便地建構 Tiles 版面配置。初始元件如下:
    • Button
    • Chip
    • CompactChip
    • TitleChip

修正錯誤

  • 修正 TileUiClient 中導致快取資源被捨棄的錯誤。(I60e0b)

1.0 版本

1.0.1 版

2022 年 1 月 26 日

已釋出androidx.wear.tiles:tiles-*:1.0.11.0.1 版本包含以下修訂項目。

修正錯誤

  • 修正 TileUiClient 中導致快取資源被捨棄的錯誤。(I60e0b)

1.0.0 版本

2021 年 11 月 3 日

已釋出 androidx.wear.tiles:tiles-*:1.0.01.0.0 版本包含以下修訂項目。

1.0.0 的主要功能

  • Wear Tiles 程式庫提供為 Wear OS 裝置建構自訂 Tiles 的功能,以及能讓系統擷取 Tile 的功能並將其顯示在錶面旁邊的類別。
  • Tiles-renderer 功能可讓您在 Android Activity 中顯示 Tile,以便快速測試您的圖塊版面配置。

1.0.0-rc01 版本

2021 年 10 月 27 日

發布 androidx.wear.tiles:tiles-*:1.0.0-rc011.0.0-rc01 版本包含以下修訂項目。

1.0.0-beta01 版本

2021 年 10 月 13 日

已釋出 androidx.wear.tiles:tiles-*:1.0.0-beta011.0.0-beta01 版本包含以下修訂項目。

修正錯誤

  • 提供空白資源版本時,在 TileUiClient 中修正 NullPointerException。(I0586e)

1.0.0-alpha12 版本

2021 年 9 月 29 日

已釋出 androidx.wear.tiles:tiles-*:1.0.0-alpha121.0.0-alpha12 版本包含以下修訂項目。

修正錯誤

  • UpdateScheduler 不再使用弱式參照,修正了 TileUiClient 無法更新的問題(I1120db/199061124)。

  • 宣告 SysUiTileUpdateRequester 查詢 PacakgeManager,修正了在 R+ 裝置上無法使用圖塊更新的問題。(I1120d)

1.0.0-alpha11 版本

2021 年 9 月 1 日

已釋出 androidx.wear.tiles:tiles-*:1.0.0-alpha111.0.0-alpha11 版本包含這些修訂版本。

新功能

  • 新增並發布了測試程式庫 (androidx.wear.tiles:tiles-testing 程式庫),可讓開發人員更輕鬆地測試圖塊。(Iedb6b)

API 變更

  • TileProviderService 已重新命名為 TileService。(I1ad2c)
  • Tiles 建構工具已更新;靜態 .builder() 方法已淘汰,而是改為呼叫 new Foo.Builder();移除了接受 Builder 執行個體的 setter 多載功能。(Ia9606)
  • TileRenderer 現在應使用 UI 內容,而非應用程式內容。(I84b61)

修正錯誤

  • 修正在特定情況下套用多個底線的錯誤。(Ib6712)

1.0.0-alpha10 版本

2021 年 8 月 18 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha10androidx.wear.tiles:tiles-proto:1.0.0-alpha10androidx.wear.tiles:tiles-renderer:1.0.0-alpha101.0.0-alpha10 版本包含這些修訂版本。

API 變更

  • 已從公用 API 移除了版面配置檢查工具。系統將始終啟用這些檢查工具,但只會在檢查失敗時發出警告。(Ie9f29)
  • TileRenderer 現在接受 UI 內容,而非應用程式內容。

修正錯誤

  • 修正了防止 Spannable 中可點擊元素被點擊的錯誤。

1.0.0-alpha09 版本

2021 年 7 月 21 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha09androidx.wear.tiles:tiles-proto:1.0.0-alpha09androidx.wear.tiles:tiles-renderer:1.0.0-alpha091.0.0-alpha09 版本包含這些修訂版本。

新功能

  • 已將版面配置檢查器新增至 Wear Tiles 轉譯器。(I3a869)
    • 這些檢查器可用於驗證您的圖塊中的最佳做法。首先,如果圖塊中不含任何帶有 Semantics 修飾元的元素,這些檢查器將提出警告。
  • 已新增 DefaultTileProviderClientTestingTileProviderClient constructors 說明文件。(I9f4b9)

API 變更

  • 在 TileProviderClient (I0ec36) 中重新命名:
    • getApiVersion -> requestApiVersion
    • tile/resourcesRequest -> requestTile/Resources
    • onTileFooEvent -> sendOnTileFooEvent
  • 已將版面配置檢查器新增至 Wear Tiles 轉譯器。(I3a869)

修正錯誤

  • 確認 LaunchAction 目標沒有特殊權限。(I39136)

1.0.0-alpha08 版本

2021 年 6 月 30 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha08androidx.wear.tiles:tiles-proto:1.0.0-alpha08androidx.wear.tiles:tiles-renderer:1.0.0-alpha081.0.0-alpha08 版本包含這些修訂版本。

新功能

  • Spannables 現在支援 line_height 而非 line_spacing。

API 變更

  • 在 Spannables 中新增對 line_height 的支援,移除 line_spacing。(Ibeb54)
    • 應該轉移使用了 line_spacing 的代碼,轉而使用 line_height。

修正錯誤

  • 使用比例維度修正錯誤。(I37ace)
  • 修正防止文字元素含有內容說明的錯誤。(Id2c7d)

1.0.0-alpha07 版本

2021 年 6 月 16 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha07androidx.wear.tiles:tiles-proto:1.0.0-alpha07androidx.wear.tiles:tiles-renderer:1.0.0-alpha071.0.0-alpha07 版本包含以下修訂項目。

API 變更

  • 新增 TileProviderClient 介面並公開 DefaultTileProviderClient,允許實作繫結至 TileProviderService 介面。(I69165)

1.0.0-alpha06 版本

2021 年 6 月 2 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha06androidx.wear.tiles:tiles-proto:1.0.0-alpha06androidx.wear.tiles:tiles-renderer:1.0.0-alpha061.0.0-alpha06 版本包含以下修訂項目。

API 變更

  • 所有建構工具類別現在都包含所有屬性的 getter。請注意,這些建構工具僅供測試 (I9d155)
  • 套件變更:androidx.wear.tiles.builders 中的類別已移至 androidx.wear.tiles
  • 為 Tiles 新增實驗性色調支援。(I38929)
  • 已將 LayoutElementBuilders.HALIGN_* 重新命名為 LayoutElementBuilders.HORIZONTAL_ALIGN_*(I67e58)
  • 已將 LayoutElementBuilders.VALIGN_* 重新命名為 LayoutElementBuilders.VERTICAL_ALIGN_*(I67e58)
  • 已將 LayoutElementBuilders.SPAN_VALIGN_* 重新命名為 LayoutElementBuilders.SPAN_VERTICAL_ALIGN_*(I67e58)
  • 已新增要求和事件的建構工具類別。(Ib5cf4)
  • 已經遷移 TileProviderService,改為使用 RequestBuildersEventBuilders 的要求和事件類別,而不是 RequestReaders/EventReaders (例如 onTileRequest 現已提供 RequestBuilders.TileRequest,而不是 RequestReaders.TileRequest)。(I46ea1)

修正錯誤

  • 修正了 Tiles 轉譯器的非同步圖片載入錯誤。(Iad9b0)
  • 修正了以下版面配置錯誤:將寬度或高度設為expand()的圖片放置在了寬度或高度已設為wrap()Box中。(I33770)

1.0.0-alpha05 版本

2021 年 5 月 18 日

已釋出androidx.wear.tiles:tiles:1.0.0-alpha05androidx.wear.tiles:tiles-proto:1.0.0-alpha05androidx.wear.tiles:tiles-renderer:1.0.0-alpha051.0.0-alpha05 版本包含以下修訂項目。

API 變更

  • 已將 getTileId 從傳入的圖塊事件(TileAddEventTileRemoveEventTileEnterEventTileLeaveEventTileRequest)中移除。(Ifbba2)
  • 已將 ImageResource#setAndroidResourceByResid 重新命名為 setAndroidResourceByResId (I4ba6e)
  • 重新命名 TimelineManager#deInit 以關閉並導入 AutoCloseable。(I5dff2)

1.0.0-alpha04 版本

2021 年 5 月 5 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha04androidx.wear.tiles:tiles-proto:1.0.0-alpha04androidx.wear.tiles:tiles-renderer:1.0.0-alpha041.0.0-alpha04 版本包含這些修訂版本。

API 變更

  • 隱藏了具體的 TileProviderService 類別。
    • 讓 TileUpdateRequester 採用 Class<? extends TileProviderService>。(Ib7cca)
  • 新增了向 AndroidActivity 添加額外項目的能力。(I748f4)

Tile 1.0.0-alpha03 版本

2021 年 4 月 21 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha03androidx.wear.tiles:tiles-proto:1.0.0-alpha03androidx.wear.tiles:tiles-renderer:1.0.0-alpha031.0.0-alpha03 版本包含以下修訂項目。

API 變更

  • 重新命名 TileManager -> TileClient
    • 重新命名 TileManager#create -> TileClient#connect (I91839)

修正錯誤

  • 新增了 Proguard 規則,以確保 tilestiles-renderer 在啟用 Proguard 後能夠正常運作 (Ie3d85)

1.0.0-alpha02 版本

2021 年 4 月 7 日

已釋出 androidx.wear.tiles:tiles:1.0.0-alpha02androidx.wear.tiles:tiles-proto:1.0.0-alpha02androidx.wear.tiles:tiles-renderer:1.0.0-alpha021.0.0-alpha02 版本包含以下修訂項目。

API 變更

  • androidx.wear:wear-tiles 已移動群組,現在稱為 androidx.wear.tiles:tiles
  • androidx.wear:wear-tiles-renderer 已移動群組,現在稱為 androidx.wear.tiles:tiles-renderer
  • TileRenderer.LoadActionListener 現在會使用 androidx.wear.tiles.builders.StateBuilders.State 的執行個體,而非 androidx.wear.tiles.proto.StateProto.State
  • TileRenderer 現在接受來自 androidx.wear.tiles.builders.ResourceBuilders.Resources 的 Tile 資源,而不是 androidx.wear.tiles.renderer.ResourceAccessors 的執行個體。

修正錯誤

  • 修正了無法使用 LoadActionListener 的問題,因為它公開了內部類別。

1.0.0-alpha01 版本

2021 年 3 月 10 日

已釋出 androidx.wear:wear-tiles:1.0.0-alpha01androidx.wear:wear-tiles-proto:1.0.0-alpha01androidx.wear:wear-tiles-renderer:1.0.0-alpha011.0.0-alpha01 版本包含這些修訂版本。

新功能

  • Wear Tiles 轉譯器程式庫提供了為 Wear OS 裝置建構自訂 Tile 的功能,以及能讓系統擷取 Tile 的功能並將其顯示在錶面旁邊的類別。