Compose Material 3 Adaptive

  
使用 Material 3 自適應程式庫建立自適應式 UI,這些 UI 會根據目前的視窗設定 (例如視窗大小類別或裝置姿勢) 自動調整。這個程式庫提供預設的鷹架實作項目,以及必要的構件可組合項,讓您自行打造自訂體驗。
最近更新時間 穩定版 候選版 Beta 版 Alpha 版
2024 年 12 月 12 日 1.0.0 - - 1.1.0-alpha08

宣告依附元件

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

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

Groovy

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

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

意見回饋

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

建立新問題

詳情請參閱 Issue Tracker 說明文件

Compose Material3 Adaptive 1.1 版

1.1.0-alpha08 版本

2024 年 12 月 12 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08。1.1.0-alpha08 版包含這些修訂項目

API 變更

  • 引入 currentWindowDpSize 函式。(I99125b/296300441)。
  • 公開 PaneScaffoldParentDataThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • 移除 PaneScaffoldMotionScope,並將其轉換為 PaneScaffoldTransitionScope 下的欄位。並將其重新命名為 PaneScaffoldMotionDataProvider,並移除對 PaneMotionData 基礎資料結構的存取權限,改為提供 getter 和迴圈方法來存取資料。(Id8884)
  • ThreePaneScaffold 建立覆寫機制,以便支援不同板型規格的側載實作。(I5280f)。
  • 預設會將窗格展開狀態設為空值 (Ia65f8b/376394520)

1.1.0-alpha07 版本

2024 年 11 月 13 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07。1.1.0-alpha07 版本包含這些修訂項目

API 變更

  • 移除自適應程式庫中的拖曳手柄實作,並鼓勵使用者使用 M3 版本。同時,我們也推出修飾符,為提供的拖曳手把可組合項提供窗格展開拖曳功能。您也可以將 DraggableState 隱藏為實作詳細資料,以便我們日後視需要變更。(Ib50cd)。
  • 根據 UXR 意見回饋,將窗格動作自訂項目的進入點從架構函式移至 AnimatedPane。(I10f72)。
  • 引入快速滑過支援功能,以及用於分頁展開的自訂動畫規格。(Ie207db/362584341)。

修正錯誤

1.1.0-alpha06 版本

2024 年 10 月 30 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06。1.1.0-alpha06 版本包含這些修訂版本

API 變更

  • PaneScaffoldTransitionScope.motionProgress 中新增 FloatRange。(Iac0dd)。
  • 在可導覽的 Scaffold 中,將導覽器參數類型變更為一般類型。(I1da6e)

1.1.0-alpha05 版本

2024 年 10 月 16 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05。1.1.0-alpha05 版本包含這些修訂項目

API 變更

  • 引入動畫規格類別,確保更一致的動作行為和日後的可擴充性。(I2d3cc)
  • 提供動態效果類型,並將 PaneMotionData 中的 currentXXXXX 重新命名為 originXXXX。(I7c61a)

1.1.0-alpha04 版本

2024 年 10 月 2 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04。1.1.0-alpha04 版包含這些修訂版本

新功能

  • 已在 NavigableListDetailPaneScaffoldNavigableSupportingPaneScaffold 中新增預測返回支援功能。(I4dc21b/359616816)。

API 變更

  • ThreePaneScaffoldState 新增至 ThreePaneScaffoldNavigator 導覽方法已變更為 suspend,以便支援含有動畫的導覽。新增 seekBack 以支援部分導覽狀態 (例如預測返回)。(I5a651b/359616816)。
  • 新增 MutableThreePaneScaffoldState 以控管結構體值之間的轉換。現有的 ThreePaneScaffoldState 已設為唯讀。(Idb3c6)。
  • 公開預設窗格動作實作 (I95a7b)
  • 啟用設定窗格展開狀態的初始錨點 (Ie41b3b/362350560)

修正錯誤

1.1.0-alpha03 版本

2024 年 9 月 18 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03。1.1.0-alpha03 版本包含這些修訂版本

1.1.0-alpha02 版本

2024 年 9 月 4 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02。1.1.0-alpha02 版包含這些修訂版本

新功能

  • 創作者可透過動作自訂功能 (I0bf9c) 和 (I80e66) 在自適應架構狀態變更期間變更預設動作。創作者可以選擇一組預設的進入和離開轉場效果,或是透過新動畫範圍提供的資訊,實作純自訂轉場效果。
  • 實作窗格展開拖曳手柄的淡出動畫 (46e3c69)
  • 讓已記住的 PaneExpansionState 可儲存 (61ff76f)

API 變更

  • 將缺少的窗格展開 API 新增至結構體 (Ic5bc0)
  • ThreePaneScaffoldDestinationItem.content 已重新命名為 contentKeyrememberListDetailPaneScaffoldNavigatorrememberSupportingPaneScaffoldNavigator 的預設類型引數已從 Nothing 變更為 Any。(I58749)。
  • ThreePaneScaffoldState 標示為穩定版 (I64aec)
  • 讓拖曳手柄參數設為有範圍 (Ic0aa2)

1.1.0-alpha01 版本

2024 年 8 月 21 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01。1.1.0-alpha01 版本包含這些修訂版本

新功能

  • 為自適應構架引入窗格展開功能支援。

API 變更

  • 向大眾推出窗格展開 API (I301d6)
  • 推出 ThreePaneScaffoldState 來控制窗格值轉換。新增可接受此狀態的 ListDetailPaneScaffoldSupportingPaneScaffold 超載。(I5db3b)。
  • 引入窗格展開鍵和鍵供應器介面 (Id621f)

修正錯誤

  • 修正排除的轉軸存在時,分區計算錯誤的問題。(9dfd483)

Compose Material3 Adaptive 1.0 版

1.0.0 版本

2024 年 9 月 4 日

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

1.0.0 的主要功能

1.0.0-rc01 版

2024 年 8 月 21 日

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

修正錯誤

  • 修正排除的轉軸存在時,分區計算錯誤的問題。(9dfd483)

1.0.0-beta04 版

2024 年 6 月 26 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04。1.0.0-beta04 版包含這些修訂版本

修正錯誤

  • 修正了當鉸接點邊界更新時,版面配置不會隨之更新的問題。(71e9cf1)

1.0.0-beta03 版

2024 年 6 月 12 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03。1.0.0-beta03 版包含這些修訂版本

修正錯誤

  • 修正 beta02 中因依附元件解析錯誤而導致的當機問題。

1.0.0-beta02 版

2024 年 5 月 29 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02。1.0.0-beta02 版包含這些修訂項目

1.0.0-beta01 版

2024 年 5 月 14 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01。1.0.0-beta01 版包含這些修訂項目

1.0.0-alpha12 版

2024 年 5 月 1 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha12。1.0.0-alpha12 版包含這些修訂項目

API 變更

  • isFlat 資訊新增至 HingeInfo (Ie0516b/333784198)
  • 讓自適應 API 不再是實驗功能 (I1d038)
  • 將自適應版面配置 API 設為非實驗性 (Id23df)
  • BackNavigationBehavior 從列舉變更為值類別 (Id8757)

修正錯誤

  • 將轉場片段變更為 lambda (I6f5a9)
  • 修正 SizeTracker 的初始狀態問題 (18326a9)
  • Posture 相等性檢查中加入轉軸清單 (6687137)

1.0.0-alpha11 版本

2024 年 4 月 17 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha11。1.0.0-alpha11 版包含這些修訂項目

API 變更

  • 讓範圍介面封閉。(Iefa57)。
  • 請使用 AnimatedPaneScope。(I62d73b/332750742)。
  • AdaptStrategy 保持封閉且穩定。(Ia28b2)
  • 引入 PaneScaffoldDirective 的複製方法。(I9291f)。
  • ThreePaneScaffoldScope 標示為實驗性質。(I9d527)
  • 提供易於使用的輔助結構 API,支援導覽功能。(I263f0b/321010778)。

1.0.0-alpha10 版本

2024 年 4 月 3 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha10。1.0.0-alpha10 版包含這些修訂項目

API 變更

  • 讓預設偏好寬度可自動調整及自訂。(Ic3abc)。
  • 重新命名鷹架指令計算函式。(I10855)。
  • 從結構體 API 中移除邊框間距和內嵌間距。(I786f8)。
  • 新增不含泛型類型的導覽器記住方法。(I607c3)。

1.0.0-alpha09 版本

March 20, 2024

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha09。1.0.0-alpha09 版包含這些修訂項目

API 變更

  • 將狀態轉換欄位新增至 ThreePaneScaffoldScope。(I3d917)。
  • 重新排序結構體參數。(I4dff5)。
  • 提供 AnimatedPane 輔助鍵參數的預設值。(I77dd7)。

修正錯誤

  • 在窗格動作中加入間距大小。(a3174ca)

1.0.0-alpha08 版本

2024 年 3 月 6 日

發布 androidx.compose.material3.adaptive:adaptive-*:1.0.0-alpha08。1.0.0-alpha08 版包含這些修訂項目

新功能

  • 在切換窗格時實作延遲滑入效果。(I1a38e)。

API 變更

  • 已移除 ThreePaneScaffoldState 介面。(I63f23)

1.0.0-alpha07 版本

2024 年 2 月 21 日