產品最新消息

Material 3 Adaptive 1.2.0 穩定版

閱讀時間:1 分鐘
查看 Rob Orgiu 的個人資料
Rob Orgiu 開發人員關係工程師

很高興在此宣布,Material 3 Adaptive 1.2.0 穩定版現已推出!

這個版本延續先前版本的基礎,擴大支援更多視窗大小類別的中斷點,並提供自動放置顯示窗格的新策略。

Material 3 Adaptive 1.2.0 的新功能

這個穩定版本是以 WindowManager 1.5.0 為基礎建構而成,支援大型和超大型中斷點,並為 ListDetailPaneScaffold 和 SupportingPaneScaffold 導入新的重排和浮動策略。 

新增視窗大小類別:大型和特大型

newwindow.png


WindowManager 1.5.0 針對寬度視窗大小類別推出兩個新的中斷點,可支援比展開視窗大小類別更大的視窗。如要啟用大型 (L) 和特大 (XL) 中斷點,請在程式碼集的 currentWindowAdaptiveInfo() 呼叫中加入下列參數:

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

這個旗標可讓程式庫在需要時傳回 L 和 XL 中斷點。

全新自動調整策略:重排和浮動

在視窗中排列內容和顯示窗格是一項複雜的工作,需要考量許多因素,首先是視窗大小。有了全新的 Material 3 Adaptive 程式庫,您就能運用兩項新技術,輕鬆打造自動調整式版面配置。

使用重排功能時,系統會在視窗大小或顯示比例變更時重新排列窗格,在視窗寬度足夠時將第二個窗格放在第一個窗格旁邊,或在視窗高度較高時將第二個窗格重排在第一個窗格下方。視窗變小時也適用這項技術:內容會重排至底部。

material.jpg

根據視窗大小重排窗格

雖然重排在許多情況下都是絕佳選項,但有時可能需要將內容固定在視窗的一側,或懸浮在視窗上方。浮動策略不僅能固定內容,還可自訂可拖曳、可調整大小等功能,甚至能自訂背景遮罩。


 

material2.jpg

根據顯示比例,將窗格從側邊浮動至中央

您可以使用 adaptStrategies 參數,在 Navigator 建構函式中宣告流動和懸浮策略,並將這兩種策略套用至清單詳細資料和輔助窗格 scaffolds:

val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>(
        adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies(
            detailPaneAdaptStrategy = AdaptStrategy.Reflow(
                reflowUnder = ListDetailPaneScaffoldRole.List
            ),
            extraPaneAdaptStrategy = AdaptStrategy.Levitate(
                alignment = Alignment.Center
            )
        )
    )


 

如要進一步瞭解如何運用這些新的自動調整策略,請參閱 Material 網站和 GitHub 上的完整程式碼範例。

作者:
繼續閱讀