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