今天要介紹的是 resizeableActivity
大家先看一下圖

簡單的說就是可以在一個頁面下開兩個activity ,你只需要長按就可以將有支援的activity
放在另一個視窗
今天就要來說明我們該如何實作
首先你必須將 gradle 升級到N 外加N的模擬器or 手機
接著你必須將gradle的設定先升到N preview的版本

注意 compilesdk, buildTool, minsdk, targetsdk, dependencies的設定
接著Android Manifest必須做一個設定

可以注意到有新增一個taskAffinity ,目前還不清楚為何,但是如果沒有設定就不會work
最後是呼叫activity的方法

FLAG_ACTIVITY_LAUNCH_ADJACENT是指當spilte mode開啟時,我們可以直接將activity開在新的視窗,而不會直接蓋在原本的視窗
FLAG_ACTIVITY_NEW_TASK 根據官方文件的說法是,避免activity直接在同一個task開啟(造成在同個視窗開啟)
也就是說利用上面兩個flag就可以正常的在新的視窗中開啟我們的activity
接著如果想要知道acitivty的size ,我們可以在configChange裡面得到相關的資訊
前提是必須先在manifest裡面加上相關設定,如下


根據官方說法,之後還會有free-form multi-window mode
不過目前還沒看到相關功能就是了,大家可以期待一下囉!!
沒有留言:
張貼留言