雙螢幕版面配置程式庫
重要
本文說明 公開預覽 版的功能和指引,在正式推出之前可能會大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
這些程式庫包含一組檢視、版面配置、協助程式函式等等,可協助 Android 開發人員建立可折迭裝置的應用程式。
當您將建立和處理所有螢幕模式的責任留給我們的元件時,您的主要焦點就是建立絕佳的應用程式。
單元
底部導覽 - 包含具有雙螢幕行為的自訂 BottomNavigationView。
BottomNavigationView
提供了在左側或右側螢幕上移動 BottomNavigationView 的功能。
FragmentsHandler - 包含用於處理不同螢幕模式片段的程式碼。
- 當活動轉換為雙螢幕或單一螢幕時,
FragmentManagerStateHandler
提供了還原特定螢幕模式片段的功能。
- 當活動轉換為雙螢幕或單一螢幕時,
版面配置 - 包含可協助您為雙螢幕裝置建立 UI 的版面配置。
FoldableLayout
會建立SingleScreen
或DualScreen
容器,以保存您的 UI。FoldableFrameLayout
提供跨越子檢視,或將其移至左側或右側螢幕的功能。
RecyclerView - 包含具有雙螢幕行為的自訂 RecyclerView.ItemDecoration 和 LayoutManager 類別。
- 當應用程式處於跨距模式時,
FoldableItemDecoration
新增儲存格的間距以覆蓋裝置的轉軸。 這應該與 一FoldableLayoutManager
起使用。 FoldableLayoutManager
LinearLayoutManager
當裝置處於單螢幕模式,以及GridLayoutManager
裝置處於跨螢幕模式時,會提供 。- 當應用程式處於跨距模式時,
FoldableStaggeredItemDecoration
新增儲存格的間距以覆蓋裝置的轉軸。 這應該與 一FoldableStaggeredLayoutManager
起使用。 FoldableStaggeredLayoutManager
LinearLayoutManager
當裝置處於單螢幕模式,以及StaggeredGridLayoutManager
裝置處於跨螢幕模式時,會提供 。
- 當應用程式處於跨距模式時,
索引標籤 - 包含具有雙螢幕行為的自訂 TabLayout 類別。
TabLayout
可以偵測可折迭的功能,並提供在左側或右邊排列其索引標籤的選項。
可折迭流覽元件 - 根據 Google 導覽元件,此元件包含一組可實作雙螢幕瀏覽模式的程式庫。
內嵌列 -
FrameLayout
自訂,可用來作為Snackbar
容器,以便將它放置在可折迭的裝置上。
正在宣告相依性
請確定您在最上層build.gradle檔案中有mavenCentral () 存放庫:
allprojects { repositories { google() mavenCentral() } }
將您需要的相依性新增至模組層級 build.gradle 檔案, (目前版本可能與此處所顯示的內容不同) :
底部導覽
implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-beta4"
片段處理常式
implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-beta5"
版面配置
implementation "com.microsoft.device.dualscreen:layouts:1.0.0-beta8"
索引標籤
implementation "com.microsoft.device.dualscreen:tabs:1.0.0-beta4"
RecyclerView
implementation "com.microsoft.device.dualscreen:recyclerview:1.0.0-beta6"
一節節
implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
可折迭流覽元件
def nav_version = "1.0.0-alpha3" // Java language implementation implementation "com.microsoft.device.dualscreen:navigation-fragment:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui:$nav_version" // Kotlin implementation "com.microsoft.device.dualscreen:navigation-fragment-ktx:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui-ktx:$nav_version"
已被取代的模組
重要
這些版面配置的初始版本已封裝在單一程式庫 com.microsoft.device:dualscreen-layout
。
此程式庫已被取代。 建議您針對您需要的控制項使用上述個別程式庫。
ScreenManager (已被取代) - 包含元件為雙螢幕裝置開發所需的核心類別。 您也可以直接在程式碼中使用這些核心。
- 使用
ScreenManagerProvider
取得SurfaceDuoScreenManager
的單一執行個體。 - 使用
SurfaceDuoScreenManager
註冊接聽程式,以便在螢幕模式變更時收到通知。 - 使用
ScreenInfoProvider
取得ScreenInfo
的執行個體。 - 根據螢幕模式,使用
ScreenInfo
來取得不同的螢幕資訊。
如果您想要選擇使用顯示幕蔽 API 的版本,請將下列這一行新增至您的 gradle 檔案。
implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
或者,如果您想要選擇使用視窗管理員 API 的版本,請新增下列這一行。
implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"
- 使用