在 Android 7.0 及更高版本中,裝置可以使用多視窗同時顯示多個應用程式。 Android 支援三種多視窗配置:
- 分割畫面是預設的多視窗實現,它提供兩個活動窗格,使用者可以在其中放置應用程式。
- 自由形式允許使用者動態調整活動窗格的大小,並在螢幕上顯示兩個以上的應用程式。
- 畫中畫 (PIP)允許 Android 裝置在使用者與其他應用程式互動時在小視窗中播放影片內容。
執行
Android 7.0 及更高版本預設啟用多視窗支援。若要停用它,請在裝置的config.xml檔案中將config_supportsMultiWindow
標誌設為false
。
預設情況下,在所有低 RAM 裝置(宣告ActivityManager.isLowRam()
的裝置)上停用多視窗。低 RAM 裝置會忽略config_supportsMultiWindow
標誌的值。
分割畫面
多視窗的預設體驗是分割畫面模式,其中系統 UI 以縱向或橫向方式在裝置中間劃分。使用者可以透過左右或從上到下拖曳分隔線來調整視窗大小,具體取決於裝置方向。
啟用分割畫面後,裝置製造商可以選擇啟用自由格式或 PIP。
Android 8.0 及更高版本透過在使用者點擊Home時壓縮啟動器來改善分割畫面功能。具體實作請參考分割畫面互動。
自由形式
使用config_supportsMultiWindow
標誌啟用多視窗模式後,裝置製造商可以允許自由形式的視窗。此模式在平板電腦等較大裝置上最有用。
若要支援自由格式模式,請在/android/frameworks/base/core/java/android/content/pm/PackageManager.java
中啟用PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
系統功能,並在 config.xml 中將config_freeformWindowManagement
設定為true
config.xml .
<bool name="config_freeformWindowManagement">true</bool>
畫中畫
使用config_supportsMultiWindow
標誌啟用多視窗模式後,裝置製造商可以支援畫中畫,讓使用者在瀏覽其他活動的同時觀看影片。雖然此功能針對 Android Television 設備,但其他設備類型也可能支援此功能。
若要支援 PIP,請在/android/frameworks/base/core/java/android/content/pm/PackageManager.java
中啟用PackageManager#FEATURE_PICTURE_IN_PICTURE
系統功能。
有關運行 Android 8.0 及更高版本的設備的更多 PIP 實現詳細信息,請參閱畫中畫頁面。
系統介面
根據多視窗開發人員文檔,支援所有標準系統 UI。
應用
若要支援預先載入應用程式的多視窗模式,請參閱Android 開發人員文件。
驗證
若要驗證多視窗的實現,請執行相關的 CTS 測試並遵循多個視窗的測試說明。
對於 Android 7.0,測試位於/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
。在 Android 8.0 及更高版本中,測試位於/platform/cts/tests/framework/base/activitymanager/src/android/server/am
。