三星摺疊屏裝置官方App設計指南
今日上午,三星開發者官方已經給出設計指南,程式猿朋友們可以先來學習一下。
在可摺疊裝置上提供出色的使用者體驗,首要確保您的應用程式已準備好兩件事:
- 其一,可在兩個螢幕之間無縫切換;
- 其二,在多視窗模式下處於活動狀態。

1. APP連續性:展折開合,順暢切換
可摺疊裝置展開時,當前應用頁面必須無縫延續到另一個螢幕,並可自動調整大小匹配新的佈局,反之亦然。也就是說,應用程式需要準備好在多個螢幕(不同解析度、密度等)之間切換。

對於APP連續性,谷歌提供了螢幕連續性可應對這類需求。
1.1執行時配置變更-系統預設
摺疊/展開的操作過程將觸發系統嚮應用傳送新佈局的配置更改,包括smallestScreenSize, screenSize 和 screenLayout的配置。

每當發生配置更改時,Android預設情況下會重啟正在執行的Activity(先後呼叫onDestroy()和onCreate())。目的是使用與新裝置匹配的備用資源自動重新載入您的應用。
當Activity重啟時,恢復之前的狀態很重要。在銷燬Activity之前,可以呼叫onSaveInstanceState()來儲存應用狀態的資料;之後在onCreate()或onRestoreInstanceState()中恢復Activity狀態。
不要在活動的OnDestroy()中呼叫finish()或自行終止程序,否則將導致APP在裝置摺疊或展開時關閉。
1.2 執行時系統變更-自行處理
如果因效能限制等因素希望在不自動重啟Activity的情況下處理配置更改,您需要在應用清單manifest中增加android:configChanges屬性,並至少包含以下配置值:

當指定的屬性(可摺疊裝置的摺疊/展開時觸發)發生變化時,MyActivity不會重啟,而是會收到onConfigurationChanged()的呼叫,在此方法中處理配置變更,更新檢視佈局、重新載入資源。通過此方法即能實現在系統不重啟Activity的情況下重置UI。
1.3 參考資料
1)請參閱Android開發者指南中的詳細資訊–執行時配置變更:
https://developer.android.google.cn/guide/topics/resources/runtime-changes
2)三星開發者網站:
https://developer.samsung.com/galaxy/foldable/techdocs#app-continuity
2. Multi-resume:應用多開,引人入勝
“手機一秒變平板”,螢幕物理尺寸的變大,多視窗分屏預計將成為可摺疊手機最常用的功能之一。而Multi-resume就是為了讓多視窗分屏的體驗更佳而出現的。
2.1什麼是Multi-resume
谷歌在Android 7.0時代便支援了多視窗分屏功能,即多個應用可同時共享螢幕,但問題是多個應用無法同時使用,只有具有焦點的應用才能保持在活動(resume)狀態,其它應用會暫停執行。
從Android P (9.0)開始,谷歌提供了名為Multi-resume的新功能,允許裝置廠商在多視窗模式下保持所有可見應用處於活動狀態,解決了分屏的多個應用僅有一個能保持活動狀態的問題。
谷歌擬在下一個版本Android Q優化該功能的相容性,Multi-resume有望成為必選行為。

2.2 APP如何在Multi-resume執行
在Android P (9.0)中啟用Multi-resume,請在應用清單manifest中增加如下元資料:

3. 更多指引:佈局優化,面面俱到
3.1 最大縱橫比
三星可摺疊裝置外屏將具有長縱橫比(21:9),請確保您的應用程式支援長縱橫比。
詳細適配方法請參考:螢幕最大縱橫比適配指導。
3.2優化內外屏佈局
可摺疊移動裝置中,應用程式可以執行在大小不同的顯示螢幕中,我們首先建議新增一個單獨的資原始檔夾來展示更豐富更清晰的內容。
優化方法包括靈活佈局、備用佈局、可拉伸圖片等方式:
– 靈活佈局,確保佈局的調整適應螢幕尺寸的變化,核心原則是避免對介面元件的位置和大小硬編碼,可使用”wrap_content”和”match_parent”尺寸值來代替硬編碼尺寸;使用RelativeLayout根據元件之間的空間關係指定佈局。
– 備用佈局,Android允許應用針對不同螢幕配置提供多種備選佈局。可以利用配置限定符實現此目的,它允許系統根據當前配置(如針對不同螢幕尺寸的不同佈局設計)自動選擇合適的資源。
例如:單窗格(預設)佈局:res/layout/main.xml
雙窗格佈局:res/layout-large/main.xml (目錄名稱中的large為限定符)
– 可拉伸圖片,由於佈局可拉伸以適應不同的螢幕,附加在檢視之上的點陣圖也應可拉伸。但朝任意方向拉伸普通點陣圖可能導致縮放失真或圖片傾斜,解決方案是使用九宮格點陣圖,這種特殊格式的PNG檔案可指定可拉伸的小畫素區域,哪些區域不可拉伸。
– 詳細資料請參考:https://developer.android.com/guide/practices/screens_support
3.3顯示屏配置參考

3.4 Foldable模擬器測試
-模擬器:
FoldableEmulator_1.0.1.apk
Version:1.0.1
-下載地址:
https://developer.samsung.com/galaxy/foldable#essentials
您可在此網站檢視使用模擬器進行測試的方法,我們也將在下一期專題介紹Foldable模擬器測試,敬請期待!
4.收集反饋
如果您:
適配過程中遇到了技術問題,
對可摺疊裝置有自己的暢想、建議、意見…