支援多視窗模式

在 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 TV 裝置,但其他類型的裝置也可能支援這項功能。

如要支援 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 中執行。