在 Android 7.0 及更高版本中,設備可以使用多窗口同時顯示多個應用程序。 Android 支持三種多窗口配置:
- 分屏是默認的多窗口實現,它提供了兩個活動窗格,用戶可以在其中放置應用程序。
- Freeform允許用戶動態調整活動窗格的大小,並在他們的屏幕上顯示兩個以上的應用程序。
- 畫中畫 (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
。
<bool name="config_freeformWindowManagement">true</bool>
畫中畫
使用config_supportsMultiWindow
標誌啟用多窗口模式後,設備製造商可以支持畫中畫,允許用戶在瀏覽其他活動的同時觀看視頻。雖然此功能針對 Android 電視設備,但其他設備類型可能支持此功能。
要支持 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
中。