支援平板電腦和大螢幕

Android 13 讓 Android 在大螢幕上運作得更出色

Android 13 以 Android 12 和 12L 功能推送中推出的平板電腦最佳化功能為基礎,包括系統 UI 最佳化、更完善的多工處理功能,以及改善的相容性模式。在測試過程中,請確保應用程式在平板電腦和其他大螢幕裝置上顯示最佳效果。

如要開始使用,請在 Android Studio 中為 Android Emulator 設定虛擬裝置,或是從裝置製造商合作夥伴取得大螢幕裝置上的 Android 13。

如果您才剛開始開發大螢幕應用程式,請參閱大螢幕和折疊式裝置指南,瞭解如何在這些裝置上打造絕佳體驗的最新指南和技巧。

以下將介紹新功能,以及一些應用程式測試構想

針對大螢幕最佳化的作業系統

系統使用者介面現在更美觀,且在大型螢幕上更容易使用,包括通知、快速設定、鎖定畫面、總覽、主畫面等。

在大螢幕上,通知欄會利用空間,以全新的雙欄版面配置顯示快速設定和通知。鎖定畫面也採用較大的雙欄版面配置,以突顯通知和時鐘,而「設定」等系統應用程式也經過最佳化。

大螢幕版面配置可在雙欄版面配置中顯示更多內容。

其他變更則著重於讓大螢幕上的重點互動更容易。舉例來說,平板電腦上的螢幕鎖定圖案和 PIN 碼控制項現在會顯示在螢幕側邊,方便使用者操作,使用者只要輕觸螢幕的另一側,即可將 PIN 碼/圖案控制項移至該側。

針對折疊式裝置,系統會最佳化主畫面格線並改善折疊/展開轉換效果,讓使用者能從單一外側螢幕流暢地切換至較大的展開螢幕,同時保留他們的選擇,強化連續性。

開發人員:媒體投放方式變更

自 12L 起,當虛擬螢幕在途徑上呈現時,系統會使用類似於 ImageViewcenterInside 選項的流程,縮放虛擬螢幕,使其適合途徑尺寸。

新的縮放方法能夠透過盡量放大途徑影像大小,同時確保適當的顯示比例,來改善電視和其他大螢幕的畫面投放功能。

詳情請參閱「大螢幕的媒體投影功能」。

強大且直覺的多工處理功能

使用者在使用平板電腦、Chromebook 和折疊式裝置的大螢幕時,經常需要執行多項工作。新的生產力功能讓多工處理變得更強大、更直覺。

全新的工作列可讓您輕鬆啟動及切換應用程式。透過手勢操作,您可以更快速地使用工作列,例如拖曳即可進入分割畫面模式,向上滑動即可返回主畫面。在手勢導覽中,快速切換手勢可讓使用者瀏覽最近使用的應用程式。使用者只要長按即可隨時顯示或隱藏工作列。

工作列可讓使用者更快啟動及切換應用程式、拖曳以進入分割畫面模式,以及向上滑動返回主畫面。

在分割畫面模式下執行應用程式是執行多工處理的熱門方式,而且分割畫面模式的使用和探索體驗也比以往更簡單。使用者現在可以直接從工作列將喜愛的應用程式拖曳至分割畫面,也可以在總覽中使用新的「分割」動作,輕觸一下即可啟動分割畫面模式。

為了讓使用者在分割畫面模式下獲得更一致的體驗,Android 12 以上版本允許所有應用程式進入多視窗模式,無論應用程式是否可調整大小皆然。

開發人員:在分割畫面模式下測試應用程式

分割畫面模式的使用更為便利,且 Android 12 的變更可讓使用者在分割畫面模式下啟動所有應用程式,因此我們強烈建議您在分割畫面模式下測試應用程式

開發人員:處理內嵌大小的動態變更

即使尚未推出新的內嵌 API,系統仍會將新的工作列以內嵌方式回報給應用程式。

與手勢操作搭配使用時,系統可以動態隱藏及顯示工作列。如果應用程式已使用內嵌資訊繪製 UI,則需要考量在應用程式處於復原狀態時,內嵌大小可能會變更的可能性。在這種情況下,應用程式需要呼叫 setOnApplyWindowInsetsListener,並處理插邊尺寸的變更,如系統資訊列插邊所述。

改善相容性體驗

許多應用程式已針對大螢幕裝置進行最佳化,並透過回應式版面配置、支援多視窗模式、在螢幕大小和裝置姿勢變更之間維持連續性等功能,提供絕佳的使用體驗。

對於尚未最佳化的應用程式,系統會在相容性模式中加入視覺和穩定性改善功能,為使用者提供更優質的體驗,並讓這些應用程式在預設情況下看起來更出色。

相容性模式的改善功能可為未針對大螢幕進行最佳化的應用程式提供更佳的使用者體驗。

為改善加上黑邊的 UI,裝置製造商可透過疊加層設定自訂多項選項。舉例來說,裝置製造商現在可以設定應用程式的顯示比例、為應用程式視窗套用圓角,以及設定狀態列透明度。

開發人員:在相容性模式下檢查應用程式

如果應用程式尚未最佳化,無法配合螢幕大小和裝置姿勢變更,可能會以相容性模式啟動。建議您使用相容性模式測試應用程式,確保應用程式外觀和功能正常運作。

詳情請參閱「強化黑邊」。

改善防手掌誤觸功能

大螢幕非常適合用於觸控筆輸入。不過,當他們使用觸控筆繪圖、書寫或與應用程式互動時,有時手掌會碰到螢幕。在系統將這類事件辨別為手掌誤觸,並加以忽略之前,可能就會先將觸控事件回報給您的應用程式。

在 Android 13 (API 級別 33) 之前,系統會透過分派 MotionEventACTION_CANCEL 取消手掌觸控事件。Android 13 會在動作事件物件中加入 FLAG_CANCELED,提升手掌拒絕辨識功能。

如果手掌輕觸是唯一的觸控事件指標,系統會在動作事件物件上設定 ACTION_CANCELFLAG_CANCELED,以取消該事件。如果其他指標停擺,Android 13 會設定 ACTION_POINTER_UPFLAG_CANCELED

開發人員:更新觸控事件監聽器和處理常式

在 Android 12 (API 級別 32) 以下版本中,系統只能針對單指標觸控事件進行防止誤觸偵測。如果手掌輕觸是唯一的指標,系統則會在動作事件物件上設定 ACTION_CANCEL,以取消該事件。如果其他指標停擺,系統會設定 ACTION_POINTER_UP,但這樣仍不足以進行防止誤觸偵測。無論是哪種情況,都不會設定 FLAG_CANCELED

針對 Android 13,請更新觸控事件監聽器和處理常式,以便在收到 ACTION_POINTER_UP 時檢查 FLAG_CANCELED,確保系統偵測到並處理手掌誤觸和其他取消事件。

更多大螢幕適用的更新和資源

Google Play 大螢幕版異動

為了讓使用者更輕鬆地在平板電腦、折疊式裝置和 ChromeOS 裝置上找到最佳應用程式體驗,Google Play 做出了一些變更,以便醒目顯示為裝置最佳化的應用程式。

我們新增了檢查項目,根據大螢幕應用程式品質指南評估每個應用程式的品質,確保 Google Play 在這些裝置上顯示最佳的應用程式。如果應用程式尚未針對大螢幕進行最佳化,大螢幕使用者現在會在應用程式的 Play 商店資訊頁面上看到通知,協助他們找到最適合裝置的應用程式。

如同2021 年 8 月首次宣布,Google Play 也推出了適用於大螢幕的應用程式評等,讓使用者評估應用程式在大螢幕裝置上的運作情形。

使用 Jetpack WindowManager 嵌入活動

活動嵌入功能可讓您一次顯示多個活動 (例如清單/詳細資料模式),充分利用大螢幕的額外顯示區域,而且幾乎不需要重構應用程式。您可以建立 XML 設定檔或發出 Jetpack WindowManager API 呼叫,決定要以並排還是堆疊的方式顯示應用程式活動。系統會處理其餘部分,根據您建立的設定決定呈現方式。如果您的應用程式使用多個活動,建議您試試活動嵌入功能。詳情請參閱「活動嵌入」。

裝置螢幕方向要求

與標準手機不同,折疊式裝置和平板電腦經常會同時使用橫向和直向螢幕方向。平板電腦通常會以橫向模式固定在電腦上,而折疊式裝置則可根據折疊方向調整方向。

有些應用程式會要求直向或橫向的固定方向,並且無論裝置方向為何,都會維持偏好的方向 (請參閱 screenOrientation 資訊清單屬性)。雖然系統仍支援這項功能,但裝置製造商可以選擇覆寫應用程式偏好的螢幕方向要求。

在 Android 12 (API 級別 31) 以上版本中,裝置製造商可以設定個別裝置螢幕 (例如平板電腦大小的折疊式裝置螢幕),忽略所指定的螢幕方向,並強制在直向模式下顯示的應用程式在橫向顯示畫面上以直向顯示,但會出現上下黑邊。忽略規格後,Android 就能更妥善地滿足開發人員的用意,也就是一律以固定顯示比例呈現應用程式,同時讓應用程式保持最佳可用性。

不過,為了提供最佳使用者體驗,請在設計應用程式時採用回應式版面配置,在螢幕大小大於 600dp 的情況下,充分利用直向和橫向螢幕方向可用的螢幕空間。

在合作夥伴的大螢幕裝置上取得 Android 13

我們與裝置製造商合作夥伴合作,讓 Android 13 可在大螢幕裝置上試用。請造訪以下網站,查看適用大螢幕裝置的清單,並進一步瞭解可用的 Beta 版本。

如需更新和支援,請參閱各裝置製造商在自家 Android 13 Beta 版網站上連結的資源。請注意,各家合作夥伴會直接向你提供 Beta 版更新,並自行處理註冊和支援事宜。

要測試哪些項目?

開始測試前,請在 Android Studio 中為 Android Emulator設定虛擬裝置,或是向我們的裝置製造商合作夥伴取得大型螢幕裝置上的 Android 13。完成裝置設定後,您可以使用一些常見的大螢幕用途測試應用程式,確保應用程式能按照您的預期回應。以下是幾個建議的領域,以及相關資源的詳細資訊連結,可協助您針對大螢幕最佳化應用程式:

要測試哪些項目? 資源
螢幕大小、裝置姿勢和旋轉

請確認應用程式在螢幕大小因裝置姿勢變更 (例如折疊式裝置展開或處於桌面模式) 時的回應方式。另外,請嘗試在上述各個狀態下旋轉裝置,確保應用程式能以最佳方式回應。

說明文件 範例 程式碼研究室 技術論壇
工作列互動和分割畫面模式

請確認應用程式在大型螢幕上顯示工作列時的回應情形。請確認應用程式的使用者介面不會遭到工作列截斷或阻擋,嘗試使用工作列進入及退出分割畫面和多窗格模式,並測試使用工作列快速切換應用程式和其他應用程式。

如果應用程式具有固定的方向且無法調整大小,請檢查應用程式如何回應相容性模式調整,例如上下黑邊。

說明文件 範例 技術論壇
多視窗模式

請檢查應用程式在大型螢幕 (sw >= 600dp) 上以多視窗模式執行時的回應情形,尤其是在應用程式設定 resizeableActivity="false" 的情況下。

如果應用程式設定 resizeableActivity="true",請務必確認應用程式在小螢幕 (sw < 600dp) 上以多視窗模式執行時的回應方式。

如果應用程式使用 Display.getRealSize()Display.getRealMetrics() 等顯示 API,請改用 Jetpack WindowManager 程式庫中的 WindowMetrics API。

說明文件 範例 技術論壇
媒體投放

如果應用程式使用媒體投影功能,請確認應用程式在大型螢幕裝置上播放、串流或投放媒體時的回應情形。請務必考量折疊式裝置的裝置姿勢變化。

說明文件 範例 技術論壇
相機預覽

針對相機應用程式,請在多視窗或分割畫面模式下,確認應用程式在螢幕的某個部分受限時,相機預覽 UI 如何在大型螢幕上回應。另外,請檢查應用程式在折疊式裝置的型態發生變化時的回應方式。

說明文件