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