我們很高興宣布,Material 3 Adaptive 1.2.0 現已推出穩定版!
這個版本延續先前版本的基礎,擴大支援更多視窗大小類別的中斷點,並提供自動放置顯示窗格的新策略。
Material 3 自動調整式 1.2.0 版的新功能
這個穩定版是以 WindowManager 1.5.0 為基礎,支援大型和特大型中斷點,並為 ListDetailPaneScaffold 和 SupportingPaneScaffold 導入新的重排和懸浮策略。
新增視窗大小類別:大型和特大型
WindowManager 1.5.0 針對寬度視窗大小類別推出兩個新中斷點,支援比「展開」視窗大小類別更大的視窗。如要啟用「大型 (L)」和「特大 (XL)」中斷點,請在程式碼集中的 currentWindowAdaptiveInfo() 呼叫中加入下列參數:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
這個標記可讓程式庫在需要時傳回 L 和 XL 中斷點。
全新適應性策略:重排和懸浮
在視窗中排列內容和顯示窗格是複雜的工作,需要考量許多因素,首先是視窗大小。有了全新的 Material 3 適應性程式庫,您可以使用兩項新技術,以最少的心力打造適應性版面配置。
重排功能會在視窗大小或顯示比例變更時重新排列窗格,在視窗夠寬時將第二個窗格放在第一個窗格旁邊,或在視窗較高時將第二個窗格放在第一個窗格下方。視窗縮小時也適用這項技巧:內容會重新排版至底部。
根據視窗大小重新排列窗格
雖然在許多情況下,重排都是絕佳的選擇,但有時內容可能需要固定在視窗的一側,或浮動在視窗頂端。懸浮策略不僅會停駐內容,還能讓你自訂可拖曳性、可調整大小等功能,甚至是背景遮罩。
根據顯示比例,將窗格從側邊移動到中央
您可以使用 adaptStrategies 參數,在 Navigator 建構函式中宣告 flow 和 levitate 策略,並將這兩種策略套用至清單詳細資料和支援窗格 scaffolds:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
如要進一步瞭解如何運用這些新的自適應策略,請參閱 Material 網站和 GitHub 上的完整程式碼範例。
繼續閱讀
-
產品新訊
在今年的 Google I/O 大會上,我們探討了不斷演進的商業模式,提供更多選擇和新方法,讓使用者在商店內外都能發掘您的應用程式和內容。我們也推出了進階工具和洞察資料,協助您以更簡單的方式擴展業務。
Paul Feng • 閱讀時間:6 分鐘
-
產品新訊
很高興宣布,Android XR 現在正式支援 Unreal Engine 和 Godot。我們也推出了全新工具,可提升工作效率並啟用新的 XR 功能:Android XR 引擎中樞和 Android XR 互動架構。
Luke Hopkins • 4 分鐘可讀完
-
產品新訊
我們很高興能分享 Google TV 功能和開發人員工具,協助您提高內容曝光度,並為日後的電視體驗做好準備。
Paul Lammertsma • 4 分鐘可讀完
隨時掌握最新消息
每週透過電子郵件接收最新的 Android 開發洞察資料。