支持多窗口

在 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中。