1. 程式人生 > >Android N分屏(多視窗)適配

Android N分屏(多視窗)適配

本文只梳理App適配分屏的注意點。

1. 分屏狀態下,非當前活躍App Activity在paused狀態,非stopped狀態

停止播放視訊等操作需要在onStop中進行,不能在onPause中

2. 視窗大小變化的處理

預設情況下,橫豎屏切換、視窗大小變化時,Activity都會被重建,需要恢復使用者的輸入資訊

可以配置Activity的config,自定義處理視窗變化的邏輯,使Activity不被重建。

<activity
            android:name=“.MyActivity"
            android:configChanges="keyboardHidden|orientation|screenSize|screenLayout" />
配置configChanges後,視窗大小變化時,系統會觸發Activity的onConfigurationChanged()回撥,使用者需要可以在onConfigurationChanged()中做邏輯處理。

尤其注意使用screen size計算view大小的場景,由於onConfigurationChanged後screen size發生變化,UI需要重新計算並重新整理。

3. 頁面在分屏狀態下無法展示完全的問題

分屏狀態下視窗size相對較小,頁面必須支援上下或左右滑動,保證頁面能夠展示完全。

4. H5頁面的處理

分屏狀態切換和視窗大小變化時,native需和h5進行互動,h5頁面做相應的適配,互動可以通過native回撥js實現。