支援平板電腦和大螢幕

Android 13 讓 Android 在大螢幕裝置上表現更優異

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

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

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

讓我們看看這是新功能,以及要在應用程式中測試哪些項目的靈感。

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

在大螢幕上,系統 UI 不僅更美觀,也更易於在大螢幕上使用,包括通知、快速設定、螢幕鎖定畫面、總覽、主畫面等。

在大螢幕上,通知欄會在新的雙欄版面配置中顯示快速設定和通知,充分運用空間。此外,螢幕鎖定畫面會使用較大的雙欄版面配置,醒目顯示通知和時鐘,並對系統應用程式 (例如「設定」) 進行最佳化調整。

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

其他變更則著重於在大螢幕上更輕鬆地進行主要互動。舉例來說,平板電腦的螢幕鎖定模式和 PIN 碼控制項現在會顯示在螢幕側邊,方便使用者使用,而且只需輕觸螢幕的另一側,即可將圖釘/圖案控制項套用到該一側。

針對折疊式裝置,系統會最佳化主畫面格線,並修飾摺疊裝置展開轉換效果,讓使用者從單一外螢幕順暢移動至大螢幕未摺疊的螢幕,藉此強化連續性並保留其選擇。

開發人員:媒體投影變更

自 12L 起,在途徑上顯示虛擬螢幕時,虛擬螢幕會縮放至符合途徑的大小 (使用類似於 ImageViewcenterInside 選項)。

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

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

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

使用者使用平板電腦、Chromebook 和折疊式裝置的大螢幕時,通常會進行多工處理。新的效率提升功能使多工處理更加強大且直覺化

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

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

在分割畫面模式下執行應用程式是多工處理常用的做法,分割畫面也比以往更容易發掘和使用。使用者現在可以直接從工作列拖曳喜愛的應用程式至分割畫面,也可以使用總覽中新增的「分割」動作,以輕觸的方式啟動分割畫面模式。

為了為使用者提供更一致的體驗,Android 12 以上版本允許所有應用程式進入多視窗模式 (無論應用程式是否可調整大小)。

開發人員須知:使用分割畫面模式測試應用程式

由於分割畫面模式越來越容易使用,而且在 Android 12 中,允許使用者以分割畫面啟動所有應用程式的方式進行變更,強烈建議您使用分割畫面模式測試應用程式

開發人員:處理插邊大小的動態變更

即使尚未導入新的插邊 API,系統仍會將新的工作列以插邊的形式回報給應用程式。

與手勢操作搭配使用時,工作列可以動態隱藏及顯示。如果應用程式已經使用插邊資訊繪製 UI,則必須考量在應用程式處於重新啟用狀態時,插邊的大小可能會變動。在這種情況下,您的應用程式必須呼叫 setOnApplyWindowInsetsListener 並依照「系統列插邊」所述,處理插邊維度中的異動。

改善相容性體驗

許多應用程式都已針對大螢幕裝置進行最佳化,透過回應式版面配置、支援多視窗模式、跨螢幕尺寸和裝置型態變更等功能,提供絕佳體驗。

針對尚未最佳化的應用程式,系統會改善相容性模式的視覺效果和穩定性,藉此為使用者提供更優質的體驗,並讓這些應用程式的預設顯示效果更佳。

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

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

開發人員:以相容模式檢查應用程式

如果應用程式尚未根據螢幕大小和裝置型態變更進行最佳化調整,您可以在相容模式下啟動應用程式。建議您使用相容性模式測試應用程式,確保應用程式的外觀和功能可正常運作。

詳情請參閱「進階上下黑邊」。

改善防手掌誤觸功能

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

在 Android 13 (API 級別 33) 之前,系統會透過 ACTION_CANCEL 分派 MotionEvent,取消手掌觸控事件。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 商店資訊頁面看到通知,協助找出最適合在裝置上使用的應用程式。

此外,Google Play 也在 2021 年 8 月首次宣布,推出了大螢幕專屬的應用程式評分,讓使用者能夠針對應用程式在大螢幕裝置上的運作方式評分。

使用 Jetpack WindowManager 嵌入活動

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

裝置方向要求

與標準手機不同的是,橫向和直向螢幕常用於折疊式裝置和平板電腦。平板電腦通常會以橫向模式固定,而折疊式裝置則可根據摺疊位置方向。

部分應用程式會在直向或橫向模式中要求固定方向,而無論裝置的螢幕方向為何,都預期仍會維持在偏好的螢幕方向 (請參閱 screenOrientation 資訊清單屬性)。雖然系統仍支援這種做法,但裝置製造商可以選擇覆寫應用程式的偏好螢幕方向。

在 Android 12 (API 級別 31) 以上版本中,裝置製造商可以設定個別的裝置螢幕 (例如折疊式裝置的平板電腦大小螢幕),忽略方向規格,並強制以直向模式顯示應用程式在橫向的螢幕上左右顯示,但加上黑邊。Android 可以忽略規格,更完善地滿足開發人員的打算,一律以固定的顯示比例呈現應用程式,同時保持應用程式為最佳可用性。

然而,為了提供最佳使用者體驗,請在設計應用程式時,採用回應式版面配置,並在大小超過 600 dp 的螢幕上,使用直向和橫向螢幕方向的螢幕空間。

在大螢幕合作夥伴裝置上取得 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() 等 Display API,請改用 Jetpack WindowManager 程式庫中的 WindowMetrics API。

說明文件 範例 技術講座
媒體投影

如果您的應用程式使用媒體投影,請檢查應用程式在大螢幕裝置上播放、串流播放或投放媒體時的回應情形。請務必同時考量摺疊式裝置上的裝置型態變更。

說明文件 範例 技術講座
相機預覽

針對相機應用程式,當應用程式在多視窗或分割畫面模式下限定為部分螢幕時,請檢查相機預覽 UI 在大螢幕上的回應方式。另請注意,當摺疊式裝置的型態變更時,應用程式會如何回應。

說明文件