詳解 Android 12L|更好地適配大螢幕裝置

Android開發者發表於2021-11-17

作者 / 工程副總裁 Dave Burke

目前,超過 2.5 億臺大螢幕裝置搭載了 Android 系統,其中包括平板電腦、可摺疊裝置和 ChromeOS 裝置。僅在過去的 12 個月裡,就有近 1 億臺新的 Android 平板電腦被啟用,同比增長 20%;而 ChromeOS 的增長率為 92%,是目前增長最快的桌面裝置平臺。可摺疊裝置正在崛起,同比增長超過 265%!總的來說,目前有超過 2.5 億臺活躍的大螢幕裝置搭載了 Android 系統。在這樣的勢頭下,我們將繼續努力讓 Android 成為更好的作業系統,為使用者和開發者提供更優質的服務。

因此,我們在近期的 Android 開發者峰會 上宣佈推出專為大螢幕打造的 Android 12L 功能更新,以及全新的 API、工具和指南,讓開發者更加容易地為大螢幕構建應用。我們還介紹了即將對 Google Play 進行的更改,以幫助使用者更輕鬆地發現適用於大螢幕的應用。請繼續閱讀,檢視 Android 系統對大螢幕裝置的支援有哪些新變化!

Android 12L 預覽: 適用於大螢幕的功能更新

我們為您帶來了 Android 12L 開發者預覽版,也就是我們即將推出的新功能,使得 Android 12 在大螢幕裝置上更加出色。在此預覽版中,您可以嘗試全新的大螢幕功能,優化您的應用,並與我們分享反饋。

在 Android 12L 中,我們優化了大螢幕裝置的 UI,包括通知、快捷設定、鎖屏、概覽、主螢幕等。例如,針對 600dp 寬度以上的螢幕,通知欄、鎖屏和其他系統表面將採用新的兩列布局,以充分利用螢幕區域。同時系統應用也得到了優化。

△ 兩列布局能夠顯示更多內容,更易於使用

△ 兩列布局能夠顯示更多內容,更易於使用

我們還帶來了更加強大和直觀的多工處理: Android 12L 在大螢幕裝置上新增了一個新的工作列,使用者可以隨時切換到喜愛的應用。新工作列也讓分屏模式更加容易實現: 只需在工作列中拖放,即可以分屏模式執行應用。為了在 Android 12 及之後的版本中打造更好的分屏模式體驗,我們正在協助使用者,讓所有應用在啟動後自動進入分屏模式,無論這些應用是否宣告為可調整大小。

△ 拖放應用以使用分屏模式

△ 拖放應用以使用分屏模式

最後,我們對相容模式的視覺效果和穩定性方面進行了改進,為使用者提供更好的寬屏顯示,並優化了應用在預設情況下的顯示。裝置製造商可以輕鬆地自定義寬屏顯示的顏色或處理方案、調整邊襯區視窗的位置、應用自定義圓角等。

我們計劃在明年年初發布 Android 12L 功能更新,為下一波 Android 12 平板電腦和可摺疊裝置的推出做好準備。在我們與原始裝置製造商 (OEM) 合作伙伴共同努力下,他們的大螢幕裝置已引入這些功能。敬請關注即將在聯想 P12 Pro 上釋出的 Android 12L 開發者預覽版。這些功能都將在未來幾個月內適配上述裝置,現在是為大螢幕裝置優化應用的大好時機。

我們強烈建議各位開發者檢視應用在各種視窗尺寸的分屏模式中的執行情況。如果您尚未優化應用,請檢視應用在橫屏和豎屏模式下的外觀,並在合適的情況下在相容性模式中體驗新的變更。除了對大螢幕裝置的支援外,Android 12L 還為開發者提供了一些新的 API,以及一個新的 API 版本號。我們一直謹慎更新,避免給您的應用帶來任何破壞性變更,所以不會要求應用以 Android 12L 為目標來滿足 Google Play 的要求。

要開始使用 Android 12L,您可以從 Android Studio 的最新預覽版中 下載 12L Android 模擬器 系統映像和工具。檢視 功能和變更,瞭解您的應用中需要測試的領域,同時檢視 預覽版概覽 瞭解時間表和版本細節。您可以向我們 提出問題和需求,我們一如既往感謝您的反饋!

Android 12L 也適用於手機,但由於在較小的螢幕上無法體驗大多數新功能,因此目前我們仍將重點放在平板電腦、可摺疊裝置和 ChromeOS 裝置上。在之後的預覽版中,我們計劃為 Pixel 裝置開放 Android 測試版的註冊。您可以訪問 官方文件,瞭解詳情。

更輕鬆地針對大螢幕裝置進行構建

現在正是時候開始設計能夠適應任何螢幕的完全自適應應用,我們正在努力助您簡化這一過程。為了幫助您適應作業系統和 Google Play 中的這些變更,我們不僅釋出了開發者預覽版,還針對我們的 API、工具和指南釋出了更新。

設計過程中始終考慮大螢幕模式

支援自適應 UI 的第一步是優化您的應用,以便應用在小螢幕和大螢幕上都能表現出良好的效能。我們一直致力於制定新的 Material Design 指南,幫助應用的 UI 適配各種螢幕。該指南涵蓋了生態系統中常見的佈局模式,有助於激發和開啟您的工作:

△ Material Design 指南中的自適應 UI 模式

△ Material Design 指南中的自適應 UI 模式

利用新的導航元件構建響應式 UI

為了向使用者提供最佳的導航體驗,您應該提供針對使用者裝置視窗尺寸類量身定製的導航介面。推薦的導航模式包括適用於 緊湊螢幕的導航欄,以及適用於 中等螢幕寬度的裝置類和更大螢幕裝置 (600dp 以上) 的導航欄。對於螢幕更寬的裝置,我們新發布的 Material Design 指南 中提出了幾個有關大螢幕佈局的方案,例如可以使用 SlidingPaneLayout 來實現列表/細節結構。您可以檢視指南,瞭解如何在 ViewCompose 中實現響應式 UI 導航。

對於已經使用 Fragment 的現有應用,雖然更新導航模式和使用 SlidingPaneLayout 等方式是針對大螢幕裝置的佈局優化的好方法,但我們瞭解到基於多個 Activity 的應用不在少數。對於這些應用而言,在 Jetpack WindowManager 1.0 beta 03 中釋出的全新 Activity embedding API,可以更加輕鬆地支援新的 UI 正規化 (例如 TwoPane 檢視)。我們正致力於更新 SlidingPaneLayout 以支援這些 API,敬請關注未來幾個月內的更新。

使用 Compose 更加輕鬆地適應螢幕的變化

通過 Jetpack Compose 可以更加輕鬆地針對大螢幕和多樣化佈局進行構建。如果您準備採用 Compose,這也是針對大螢幕進行優化的最佳時機。

Compose 是一個宣告式 UI 工具包;所有的 UI 都是用程式碼描述的,而且該工具包可以輕易地在執行時確定 UI 應該如何適應可用的尺寸。因此,Compose 特別適合用於開發自適應 UI,因為其能夠輕鬆地處理不同螢幕尺寸或元件的 UI 變化。檢視 在 Compose 中構建自適應佈局 指南,瞭解您需要知道的基本內容。

使用 WindowManager API 構建響應式 UI

Jetpack WindowManger 庫採用向後相容的方式來處理您應用中的視窗,併為所有裝置構建響應式 UI。以下是最新更新:

Activity embedding

Activity embedding 幫助您利用大螢幕的額外顯示區域,一次顯示多個 Activity,例如拆分檢視 (List-Detail) 模式,而且幾乎不需要對應用進行重構。您可以建立一個 XML 配置檔案或呼叫 Jetpack WindowManager API,以此來決定應用通過並排還是堆疊的方式顯示其 Activity。系統會處理其他事項,並根據您建立的配置來確定展示方式。

Activity embedding 可以在可摺疊裝置上流暢執行,隨著裝置的摺疊和展開輕鬆地堆疊和分開 Activity。如果您的應用使用多個 Activity,則 Activity embedding 可以改善您使用大螢幕裝置時的體驗。在 Jetpack WindowManager 1.0 Beta 03 及更高版本中試用 Activity embedding API。您可以訪問 官方文件,瞭解詳情。

△ Jetpack WindowManager 中的 Activity embedding

△ Jetpack WindowManager 中的 Activity embedding

使用視窗尺寸類來幫助檢測您視窗的尺寸

視窗尺寸類 (Window Size Classes) 是一組對視窗尺寸的判斷,幫助您設計、開發和測試可調整大小的應用 UI。視窗尺寸分為三類: 緊湊型 (Compat)、中等型 (Medium) 和展開型 (Expanded)。此類斷點專門用於平衡佈局的簡單性和靈活性,以便在特殊情況下優化您的應用,同時能夠代表生態系統中的大部分裝置。WindowSizeClass API 即將在 Jetpack WindowManager 1.1 中推出,以助您更加輕鬆地構建響應式 UI。您可以訪問 官方文件,瞭解詳情。

△ Jetpack WindowManager 中的視窗尺寸類

△ Jetpack WindowManager 中的視窗尺寸類

讓應用能夠感知摺疊

WindowManager 還為不同的視窗特徵 (如摺疊和鉸鏈) 提供了通用的 API 介面。若您的應用能夠感知摺疊,則可以調整視窗中的內容以避免被摺疊和鉸鏈區域遮擋,或者利用摺疊和鉸鏈並將其用作自然分隔符。您可以檢視 技術指南,瞭解如何讓您的應用能夠感知摺疊。

在 Android Studio 中構建並測試適用於大螢幕的應用

參考裝置

構建 Android 應用時應支援並適配所有裝置和類別,因此我們在 Android Studio 中的許多工具中引入了參考裝置,您可以在其中設計、開發和測試 UI 和佈局。這四款參考裝置分別代表手機、大型內建顯示器可摺疊裝置、平板電腦和桌上型電腦。我們在對市場資料進行分析後設計了這些裝置,以代表流行的裝置或增長迅速的細分市場。這些裝置還能幫助您使用新的 WindowSizeClass 分類,以確保您的應用在常用的斷點組合間執行,為您的裝置覆蓋儘可能多的使用情況。

△ 參考裝置定義

△ 參考裝置定義

佈局驗證

在調整大螢幕 UI 時,如果您不確定從哪裡開始入手,您可以首先使用新的工具來發現可能會對大螢幕裝置造成影響的潛在問題。我們正在 Android Studio Chipmunk 中開發一個新的視覺化的 lint 工具,用於在佈局驗證中主動顯示 UI 提醒和建議,包括哪些參考裝置會受到影響。

△ 參考裝置類中的佈局驗證工具

△ 參考裝置類中的佈局驗證工具

可調整尺寸的模擬器

若您需要在執行時對您的應用進行測試,可以使用 Android Studio Chipmunk 中附帶的可調整尺寸的全新模擬器配置。可調整尺寸的模擬器可以幫助您在四個參考裝置 (手機、可摺疊裝置、平板電腦和桌上型電腦) 之間快速切換。這使得在設計時驗證佈局和在測試執行時行為變得更容易,兩者使用的參考裝置相同。要建立可調整尺寸的全新模擬器,可以使用 Android Studio 中的裝置管理器來建立一個新的虛擬裝置,並選擇帶有 Android 12L (Sv2) 系統映像的可調整尺寸的裝置定義。

△ 可調整尺寸的 Android 模擬器

△ 可調整尺寸的 Android 模擬器

Google Play 針對大螢幕裝置的更新

為了在使用者使用平板電腦、可摺疊裝置和 ChromeOS 裝置時為其提供更好的應用體驗,我們正在對 Google Play 進行更新,以突出顯示那些已針對使用者裝置進行優化的應用。

我們增加了新的檢查項,並根據我們的 大螢幕應用質量指南 評估各個應用的質量,以確保我們能在這些裝置上突出顯示最為合適的應用。對於未針對大螢幕進行優化的應用,我們將開始在應用的 Play 商店列表頁上傳送通知來提醒大螢幕裝置使用者。

正如 今年早些時候宣佈的計劃,我們還將引入大螢幕裝置特定的應用評分功能,讓使用者能夠對您的應用在大螢幕裝置上的執行情況進行評分。這些變更即將在明年實現,因此我們提前通知您,以便您能為應用做好準備工作!

此外,您也可以閱讀這篇文章,瞭解我們如何 用更好的業務模式滿足開發者們的需求

更多詳情

為了幫助您針對大螢幕和可摺疊裝置進行構建,無論您使用的是 View 還是 Compose,我們都會為您提供幫助!我們即將推出全新的指南,為您說明如何在全新和現有的應用中支援不同的螢幕尺寸、如何為 View 和 Compose 實現導航、如何利用可摺疊裝置的優勢等內容。您可以參閱 大螢幕 指南,瞭解對 View 的支援和 Compose 指南。

程式碼是最具說服力的,我們更新了以下支援響應式 UI 的示例:

關於一些具體的實踐,您可以檢視我們更新的 Codelab: 利用 Jetpack WindowManager 支援可摺疊裝置和雙螢幕裝置

歡迎持續關注我們瞭解更多最新內容。也歡迎您 點選這裡 向我們提交反饋,或分享您喜歡的內容、發現的問題。您的反饋對我們非常重要,感謝您的支援!

相關文章