Android N分屏(多視窗)適配
阿新 • • 發佈:2019-02-05
本文只梳理App適配分屏的注意點。
1. 分屏狀態下,非當前活躍App Activity在paused狀態,非stopped狀態
停止播放視訊等操作需要在onStop中進行,不能在onPause中
2. 視窗大小變化的處理
預設情況下,橫豎屏切換、視窗大小變化時,Activity都會被重建,需要恢復使用者的輸入資訊。
可以配置Activity的config,自定義處理視窗變化的邏輯,使Activity不被重建。
配置configChanges後,視窗大小變化時,系統會觸發Activity的onConfigurationChanged()回撥,使用者需要可以在onConfigurationChanged()中做邏輯處理。<activity android:name=“.MyActivity" android:configChanges="keyboardHidden|orientation|screenSize|screenLayout" />
尤其注意使用screen size計算view大小的場景,由於onConfigurationChanged後screen size發生變化,UI需要重新計算並重新整理。
3. 頁面在分屏狀態下無法展示完全的問題
分屏狀態下視窗size相對較小,頁面必須支援上下或左右滑動,保證頁面能夠展示完全。
4. H5頁面的處理
分屏狀態切換和視窗大小變化時,native需和h5進行互動,h5頁面做相應的適配,互動可以通過native回撥js實現。