作者 / 工程副總裁 Dave Burke
目前,超過 2.5 億臺大屏幕設備搭載了 Android 系統(tǒng),其中包括平板電腦、可折疊設備和 ChromeOS 設備。僅在過去的 12 個月里,就有近 1 億臺新的 Android 平板電腦被激活,同比增長 20%;而 ChromeOS 的增長率為 92%,是目前增長最快的桌面設備平臺。可折疊設備正在崛起,同比增長超過 265%!總的來說,目前有超過 2.5 億臺活躍的大屏幕設備搭載了 Android 系統(tǒng)。在這樣的勢頭下,我們將繼續(xù)努力讓 Android 成為更好的操作系統(tǒng),為用戶和開發(fā)者提供更優(yōu)質(zhì)的服務。
因此,我們在近期的 Android 開發(fā)者峰會上宣布推出專為大屏幕打造的 Android 12L 功能更新,以及全新的 API、工具和指南,讓開發(fā)者更加容易地為大屏幕構(gòu)建應用。我們還介紹了即將對 Google Play 進行的更改,以幫助用戶更輕松地發(fā)現(xiàn)適用于大屏幕的應用。請繼續(xù)閱讀,查看 Android 系統(tǒng)對大屏幕設備的支持有哪些新變化!
Android 開發(fā)者峰會
https://developer.android.google.cn/events/dev-summit/
Android 12L 預覽: 適用于大屏幕的功能更新
我們?yōu)槟鷰砹?Android12L 開發(fā)者預覽版,也就是我們即將推出的新功能,使得 Android 12 在大屏幕設備上更加出色。在此預覽版中,您可以嘗試全新的大屏幕功能,優(yōu)化您的應用,并與我們分享反饋。
Android 12L 開發(fā)者預覽版
https://developer.android.google.cn/about/versions/12/12L
在 Android 12L 中,我們優(yōu)化了大屏幕設備的 UI,包括通知、快捷設置、鎖屏、概覽、主屏幕等。例如,針對 600dp 寬度以上的屏幕,通知欄、鎖屏和其他系統(tǒng)表面將采用新的兩列布局,以充分利用屏幕區(qū)域。同時系統(tǒng)應用也得到了優(yōu)化。
我們還帶來了更加強大和直觀的多任務處理: Android 12L 在大屏幕設備上添加了一個新的任務欄,用戶可以隨時切換到喜愛的應用。新任務欄也讓分屏模式更加容易實現(xiàn):只需在任務欄中拖放,即可以分屏模式運行應用。為了在 Android 12 及之后的版本中打造更好的分屏模式體驗,我們正在協(xié)助用戶,讓所有應用在啟動后自動進入分屏模式,無論這些應用是否聲明為可調(diào)整大小。
最后,我們對兼容模式的視覺效果和穩(wěn)定性方面進行了改進,為用戶提供更好的寬屏顯示,并優(yōu)化了應用在默認情況下的顯示。設備制造商可以輕松地自定義寬屏顯示的顏色或處理方案、調(diào)整邊襯區(qū)窗口的位置、應用自定義圓角等。
我們計劃在明年年初發(fā)布 Android 12L 功能更新,為下一波 Android 12 平板電腦和可折疊設備的推出做好準備。在我們與原始設備制造商 (OEM) 合作伙伴共同努力下,他們的大屏幕設備已引入這些功能。敬請關(guān)注即將在聯(lián)想 P12 Pro 上發(fā)布的 Android 12L 開發(fā)者預覽版。這些功能都將在未來幾個月內(nèi)適配上述設備,現(xiàn)在是為大屏幕設備優(yōu)化應用的大好時機。 我們強烈建議各位開發(fā)者查看應用在各種窗口尺寸的分屏模式中的運行情況。如果您尚未優(yōu)化應用,請查看應用在橫屏和豎屏模式下的外觀,并在合適的情況下在兼容性模式中體驗新的變更。除了對大屏幕設備的支持外,Android 12L 還為開發(fā)者提供了一些新的 API,以及一個新的 API 版本號。我們一直謹慎更新,避免給您的應用帶來任何破壞性變更,所以不會要求應用以 Android 12L 為目標來滿足 Google Play 的要求。 要開始使用 Android 12L,您可以從 Android Studio 的最新預覽版中下載 12L Android 模擬器系統(tǒng)映像和工具。查看功能和變更,了解您的應用中需要測試的領(lǐng)域,同時查看預覽版概覽了解時間表和版本細節(jié)。您可以向我們提出問題和需求,我們一如既往感謝您的反饋!
下載 12L Android 模擬器
https://developer.android.google.cn/about/versions/12/12L/get
功能和變更
https://developer.android.google.cn/about/versions/12/12L/summary
預覽版概覽
https://developer.android.google.cn/about/versions/12/12L/overview
提出問題和需求
https://developer.android.google.cn/about/versions/12/12L/feedback
Android 12L 也適用于手機,但由于在較小的屏幕上無法體驗大多數(shù)新功能,因此目前我們?nèi)詫⒅攸c放在平板電腦、可折疊設備和 ChromeOS 設備上。在之后的預覽版中,我們計劃為 Pixel 設備開放 Android 測試版的注冊。您可以訪問官方文檔,了解詳情:
https://developer.android.google.cn/about/versions/12/12L
更輕松地針對大屏幕設備進行構(gòu)建
現(xiàn)在正是時候開始設計能夠適應任何屏幕的完全自適應應用,我們正在努力助您簡化這一過程。為了幫助您適應操作系統(tǒng)和 Google Play 中的這些變更,我們不僅發(fā)布了開發(fā)者預覽版,還針對我們的 API、工具和指南發(fā)布了更新。
設計過程中始終考慮大屏幕模式支持自適應 UI 的第一步是優(yōu)化您的應用,以便應用在小屏幕和大屏幕上都能表現(xiàn)出良好的性能。我們一直致力于制定新的Material Design 指南,幫助應用的 UI 適配各種屏幕。該指南涵蓋了生態(tài)系統(tǒng)中常見的布局模式,有助于激發(fā)和開啟您的工作: https://m3.material.io/foundations/adaptive-design/overview
利用新的導航組件構(gòu)建響應式 UI
為了向用戶提供最佳的導航體驗,您應該提供針對用戶設備窗口尺寸類量身定制的導航界面。推薦的導航模式包括適用于緊湊屏幕的導航欄,以及適用于中等屏幕寬度的設備類和更大屏幕設備 (600dp 以上) 的導航欄。對于屏幕更寬的設備,我們新發(fā)布的 Material Design 指南中提出了幾個有關(guān)大屏幕布局的方案,例如可以使用 SlidingPaneLayout 來實現(xiàn)列表/細節(jié)結(jié)構(gòu)。您可以查看指南,了解如何在 View 和 Compose 中實現(xiàn)響應式 UI 導航。
緊湊屏幕的導航欄
http://m3.material.io/components/navigation-bar/overview
中等屏幕寬度的設備類和更大屏幕設備的導航欄
https://m3.material.io/components/navigation-rail/overview
Material Design 指南
https://m3.material.io/foundations/adaptive-design/foldables/compositions
View
https://developer.android.google.cn/guide/topics/large-screens/navigation-for-responsive-uis
Compose
https://developer.android.google.cn/jetpack/compose/nav-adaptive
對于已經(jīng)使用 Fragment 的現(xiàn)有應用,雖然更新導航模式和使用 SlidingPaneLayout 等方式是針對大屏幕設備的布局優(yōu)化的好方法,但我們了解到基于多個 Activity 的應用不在少數(shù)。對于這些應用而言,在 Jetpack WindowManager 1.0 beta 03 中發(fā)布的全新 Activity embedding API,可以更加輕松地支持新的 UI 范式 (例如 TwoPane 視圖)。我們正致力于更新 SlidingPaneLayout 以支持這些 API,敬請關(guān)注未來幾個月內(nèi)的更新。
Activity embedding API
https://developer.android.google.cn/guide/topics/large-screens/activity-embedding
使用 Compose 更加輕松地適應屏幕的變化
通過 Jetpack Compose 可以更加輕松地針對大屏幕和多樣化布局進行構(gòu)建。如果您準備采用 Compose,這也是針對大屏幕進行優(yōu)化的最佳時機。
Compose 是一個聲明式 UI 工具包;所有的 UI 都是用代碼描述的,而且該工具包可以輕易地在運行時確定 UI 應該如何適應可用的尺寸。因此,Compose 特別適合用于開發(fā)自適應 UI,因為其能夠輕松地處理不同屏幕尺寸或組件的 UI 變化。查看在 Compose 中構(gòu)建自適應布局指南,了解您需要知道的基本內(nèi)容:
https://developer.android.google.cn/jetpack/compose/layouts/adaptive
使用 WindowManager API 構(gòu)建響應式 UI
Jetpack WindowManger 庫采用向后兼容的方式來處理您應用中的窗口,并為所有設備構(gòu)建響應式 UI。以下是最新更新:
Activity embedding
Activity embedding 幫助您利用大屏幕的額外顯示區(qū)域,一次顯示多個 Activity,例如拆分視圖 (List-Detail) 模式,而且?guī)缀醪恍枰獙眠M行重構(gòu)。您可以創(chuàng)建一個 XML 配置文件或調(diào)用 Jetpack WindowManager API,以此來決定應用通過并排還是堆疊的方式顯示其 Activity。系統(tǒng)會處理其他事項,并根據(jù)您創(chuàng)建的配置來確定展示方式。
Activity embedding 可以在可折疊設備上流暢運行,隨著設備的折疊和展開輕松地堆疊和分開 Activity。如果您的應用使用多個 Activity,則 Activity embedding 可以改善您使用大屏幕設備時的體驗。在 Jetpack WindowManager 1.0 Beta 03 及更高版本中試用 Activity embedding API。您可以訪問官方文檔,了解詳情:
https://developer.android.google.cn/guide/topics/large-screens/activity-embedding
使用窗口尺寸類來幫助檢測您窗口的尺寸
窗口尺寸類 (Window Size Classes) 是一組對視窗尺寸的判斷,幫助您設計、開發(fā)和測試可調(diào)整大小的應用 UI。窗口尺寸分為三類: 緊湊型 (Compat)、中等型 (Medium) 和展開型 (Expanded)。此類斷點專門用于平衡布局的簡單性和靈活性,以便在特殊情況下優(yōu)化您的應用,同時能夠代表生態(tài)系統(tǒng)中的大部分設備。WindowSizeClass API 即將在 Jetpack WindowManager 1.1 中推出,以助您更加輕松地構(gòu)建響應式 UI。您可以訪問官方文檔,了解詳情: https://developer.android.google.cn/guide/topics/large-screens/support-different-screen-sizes#window_size_classes
讓應用能夠感知折疊
WindowManager 還為不同的窗口特征 (如折疊和鉸鏈) 提供了通用的 API 接口。若您的應用能夠感知折疊,則可以調(diào)整窗口中的內(nèi)容以避免被折疊和鉸鏈區(qū)域遮擋,或者利用折疊和鉸鏈并將其用作自然分隔符。您可以查看技術(shù)指南,了解如何讓您的應用能夠感知折疊: https://developer.android.google.cn//guide/topics/large-screens/learn-about-foldables
在 Android Studio 中構(gòu)建并測試適用于大屏幕的應用
參考設備
構(gòu)建 Android 應用時應支持并適配所有設備和類別,因此我們在 Android Studio 中的許多工具中引入了參考設備,您可以在其中設計、開發(fā)和測試 UI 和布局。這四款參考設備分別代表手機、大型內(nèi)置顯示器可折疊設備、平板電腦和臺式機。我們在對市場數(shù)據(jù)進行分析后設計了這些設備,以代表流行的設備或增長迅速的細分市場。這些設備還能幫助您使用新的 WindowSizeClass 分類,以確保您的應用在常用的斷點組合間運行,為您的設備覆蓋盡可能多的使用情況。
布局驗證
在調(diào)整大屏幕 UI 時,如果您不確定從哪里開始入手,您可以首先使用新的工具來發(fā)現(xiàn)可能會對大屏幕設備造成影響的潛在問題。我們正在 Android Studio Chipmunk 中開發(fā)一個新的可視化的 lint 工具,用于在布局驗證中主動顯示 UI 提醒和建議,包括哪些參考設備會受到影響。
Android Studio Chipmunk
https://developer.android.google.cn/studio/preview
可調(diào)整尺寸的模擬器若您需要在運行時對您的應用進行測試,可以使用 Android Studio Chipmunk 中附帶的可調(diào)整尺寸的全新模擬器配置。可調(diào)整尺寸的模擬器可以幫助您在四個參考設備 (手機、可折疊設備、平板電腦和臺式機) 之間快速切換。這使得在設計時驗證布局和在測試運行時行為變得更容易,兩者使用的參考設備相同。要創(chuàng)建可調(diào)整尺寸的全新模擬器,可以使用 Android Studio 中的設備管理器來創(chuàng)建一個新的虛擬設備,并選擇帶有 Android 12L (Sv2) 系統(tǒng)映像的可調(diào)整尺寸的設備定義。
Android Studio Chipmunk
https://developer.android.google.cn/studio/preview
Google Play 針對大屏幕設備的更新
為了在用戶使用平板電腦、可折疊設備和 ChromeOS 設備時為其提供更好的應用體驗,我們正在對 Google Play 進行更新,以突出顯示那些已針對用戶設備進行優(yōu)化的應用。
我們增加了新的檢查項,并根據(jù)我們的大屏幕應用質(zhì)量指南評估各個應用的質(zhì)量,以確保我們能在這些設備上突出顯示最為合適的應用。對于未針對大屏幕進行優(yōu)化的應用,我們將開始在應用的 Play 商店列表頁上發(fā)送通知來提醒大屏幕設備用戶。
大屏幕應用質(zhì)量指南
https://developer.android.google.cn/docs/quality-guidelines/large-screens-app-quality
正如今年早些時候宣布的計劃,我們還將引入大屏幕設備特定的應用評分功能,讓用戶能夠?qū)δ膽迷诖笃聊辉O備上的運行情況進行評分。這些變更即將在明年實現(xiàn),因此我們提前通知您,以便您能為應用做好準備工作!
此外,您也可以閱讀這篇文章,了解我們?nèi)绾斡酶玫臉I(yè)務模式滿足開發(fā)者們的需求。
更多詳情
為了幫助您針對大屏幕和可折疊設備進行構(gòu)建,無論您使用的是 View 還是 Compose,我們都會為您提供幫助!我們即將推出全新的指南,為您說明如何在全新和現(xiàn)有的應用中支持不同的屏幕尺寸、如何為 View 和 Compose 實現(xiàn)導航、如何利用可折疊設備的優(yōu)勢等內(nèi)容。您可以參閱大屏幕指南,了解對 View 的支持和 Compose 指南:
https://developer.android.google.cn/guide/topics/ui/responsive-layout-overview
代碼是最具說服力的,我們更新了以下支持響應式 UI 的示例:
Google I/O Android 應用
https://github.com/google/iosched
Trackr
https://github.com/android/trackr
Jetnews
https://github.com/android/compose-samples/tree/main/JetNews
Jetcaster (支持桌面設備)
https://github.com/android/compose-samples/tree/main/Jetcaster
關(guān)于一些具體的實踐,您可以查看我們更新的 Codelab:利用 Jetpack WindowManager 支持可折疊設備和雙屏幕設備: https://developer.android.google.cn/codelabs/android-window-manager-dual-screen-foldables#0
編輯:jq
-
Google
+關(guān)注
關(guān)注
5文章
1766瀏覽量
57619 -
設備
+關(guān)注
關(guān)注
2文章
4526瀏覽量
70727 -
ui
+關(guān)注
關(guān)注
0文章
204瀏覽量
21389 -
代碼
+關(guān)注
關(guān)注
30文章
4802瀏覽量
68743
原文標題:詳解 Android 12L|更好地適配大屏幕設備
文章出處:【微信號:Google_Developers,微信公眾號:谷歌開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論