成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不瞞大家,我在湖北的這 2 個月,體驗了 Android 的這個功能,真香!

企業動態
在家遠程辦公的這段時間,除了正常的工作學習之外,精神娛樂也少不了,肉身和空間上的限制,也無法阻礙對精神世界的追求。但無論怎么玩出了花樣,多數時候還是脫離不了手機這個小小的屏幕。

 ?[[320308]]?

一、序

大家好,我是承香墨影。不瞞大家說,我已經在湖北待了 2 個多月了。

前期一直處于封禁狀態,隨著疫情的好轉,現在已經可以出去吃碗熱干面了。

在家遠程辦公的這段時間,除了正常的工作學習之外,精神娛樂也少不了,肉身和空間上的限制,也無法阻礙對精神世界的追求。但無論怎么玩出了花樣,多數時候還是脫離不了手機這個小小的屏幕。

最近我深度體驗了 Android 中的一個功能,一個以前讓我嗤之以鼻,覺得沒有任何大用的功能,最近深度體驗之后,發現真香。

這個功能就是 Android 的分屏功能。在家的這段時間,發現大概只有手機的屏幕,才是自己能夠獨享的。

雖然 App 之間的切換,已經可以做到非常的順暢,但是如果你在刷劇的時候還要切到微信回復消息,之后再切回來,這樣的體驗無疑是非常差的。還別說有時候我無法忍受劇情的拖沓,總想著看著劇的同時再干點什么,例如刷個淘寶京東什么的。

這種需求,分屏模式就可以滿足。

??

上圖中就是我比較常用的 2 個場景,刷劇和游戲之余,還想干點別的,例如聊天、購物等等。

那我們今天就來聊聊 Android 的多窗口模式,以及使用它需要注意的一些點。另外有些 App 禁用了多窗口模式,但是依然有辦法強制多窗口,我們一起來聊聊。

二、Android 的分屏模式

2.1 什么是多窗口模式

Android 從 N(7.0,API Level 24) 開始支持多窗口模式,或者叫分屏模式,即允許在屏幕上同時打開多個 App,同時顯示多個窗口。

近幾年的新手機,應該都是緊跟最新的系統,7.0 的發布也有好幾年了,我想大家應該都可以享受到。

??

其實分屏模式使用起來很簡單,在最近打開任務窗口(Overview Screen)中,可以長按 App,選擇進入分屏模式。

??

2.2 分屏的生命周期

分屏模式支持同時打開 2 個 App 或者打開某個 App 的 2 個頁面,當然這需要特殊的技巧,后面會說到。

說回到生命周期,當切換分屏模式時,如果不做任何處理,Activity 會觸發銷毀再重建,這個過程相信大家應該比較熟悉,畢竟切換個屏幕方向,Activity 默認都會銷毀重建。

如果想禁用 Activity 銷毀重建,則配置 android:configChanges 屬性即可。

android:configChanges="screenLayout|screenSize|smallestScreenSize|orientation"

分屏模式還增加了一個系統回調 onMultiWindowModeChanged(isInMultiWindowMode) 方法,可以通過它的參數 isInMultiWindowMode 參數判斷多屏模式的進入和退出。

除此之外,如果想要主動判斷當前是否處于分屏模式,可以通過 Activity 或 Fragment 的 inMultiWindow() 進行判斷。

2.3 打開分屏的頁面

默認情況下,同一個 App 的多個 Activity 會共用同一個窗口,且無法分配到不同的窗口中。

所以我們在分屏模式下,打開某個頁面,實際上還是在當前窗口中打開,如果想讓新頁面被分配到不同的窗口中,可以通過給 Intent 設置 FLAG_ACTIVITY_LAUNCH_ADJACENT 標識來實現。

當處于分屏模式下時,通過該 Flag,新 Activity 就會在新的棧中被啟動,以此實現 2 個 Activity 被放置在不同的窗口中。

Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);

實際效果如下:

??

需要注意的是,該 Flag 隨著 Android N 的支持,所以在使用時需要判斷是否大于等于 Api Level 24。

另外我們也無需額外的判斷是否處于分屏狀態,如果當前不處于分屏狀態,則該 Flag 的設置無效。

2.4 支持分屏

前面提到,分屏模式由 Android 7.0 引入。那么如果 targetSdkVersion 被設置為 N 及以上時,分屏是默認開啟的,反之則是默認關閉。

分屏模式由 Application 的 android:resizeableActivity 屬性控制,true 為開啟,false 為關閉。我們可以通過這個屬性,主動管理分屏模式。

這就把是否支持分屏模式的權限,交到了開發者手中,但是我作為一個使用者,我在分屏模式下,打開某個 App 時提示我不支持,其實是一個非常不好的體驗。

例如今日頭條,本身是不支持分屏模式的,當我們嘗試以分屏模式打開它的時候,會以全屏模式打開 App,并且彈出一個 Toast 提示。

????

這種體驗肯定是非常差勁的,那么我們有什么辦法讓 App 強制支持分屏模式呢?

這就需要借助「開發者模式」了,通過「開發者模式」下的 2 個開關,來強制讓所有 App 都支持分屏模式,并且可以調整窗口大小。

??

需要注意的是,調整這 2 個開關,是需要重啟后才會生效。同時這種強制的行為本身也是開發者預料之外的,所以如果出現一些小問題也是符合預期的。

當我們把 2 個開關打開后,所有的 App 都能夠支持分屏模式,并且可以調整窗口大小。

????

三、小結時刻

分屏這個功能就說到這里,其實對于開發者來說,多數時候我們并不需要特殊設置什么,當 targetSdkVersion 為 24 的時候,其實已經默認支持。當然如果我們想要針對分屏模式做一些功能,也有對應的 Api 支持。

最后簡單小結一下:

1. 分屏模式在 Android N 開始是默認打開的,通常不需要做什么也可以適配;

2. 可以通過 onMultiWindowModeChanged() 監聽多窗口模式的切換,也可以通過 inMultiWindow() 主動判斷當前是否是多窗口模式;

3. 如果不想支持分屏模式,可以通過 android:resizeableActivity 來控制;

4. 如果想要強制全部 App 支持分屏模式,可以在「開發者模式」中設置,讓所有 App 都強制支持分屏模式;

??

【本文為51CTO專欄作者“張旸”的原創稿件,轉載請通過微信公眾號聯系作者獲取授權】

??戳這里,看該作者更多好文??

 

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2019-05-30 06:37:38

網絡故障網絡協議網絡

2020-05-19 21:06:17

任正非華為員工

2013-07-17 09:13:19

2025-04-23 08:02:44

2022-03-22 09:20:57

應用線程池技術

2021-08-09 08:24:08

時間工作生活

2022-07-29 14:11:51

前端瀏覽器

2024-10-29 15:29:06

2021-12-15 06:18:23

iOS15.2蘋果 iOS

2009-04-28 18:59:56

LinuxWindows體驗

2022-05-27 12:20:18

微信智能手機

2025-01-02 08:21:32

2021-01-03 16:42:52

Windows 10Windows操作系統

2019-03-15 15:06:08

華為生態伙伴大會智慧島

2025-06-04 08:10:59

2021-12-03 10:46:49

ELKGraylog運維

2019-07-09 16:00:18

阿里數據庫技術思維

2017-11-09 14:40:49

懸浮Tab代碼

2021-09-30 18:22:46

VSCode插件API

2021-12-02 06:34:34

GraylogELK日志
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合久久久 | 美女视频一区二区三区 | 成人免费黄视频 | 久久精品国产亚洲夜色av网站 | 色吊丝在线 | 欧美一级黄视频 | 污视频在线免费观看 | 久久电影一区 | 日韩视频一级 | 日日摸天天添天天添破 | 日韩高清中文字幕 | 亚洲天天干 | 欧美一区二区三区视频 | 日本小电影在线 | 午夜免费在线 | 日本高清中文字幕 | 国产精品久久久久aaaa | 国产精品久久久久久久午夜 | 亚洲国产精品一区 | 久久精品国产久精国产 | 亚洲综合第一页 | 亚洲精品久久久久久久久久久久久 | 日韩av在线一区二区 | 久草综合在线视频 | 天天操天天射综合 | 天天操夜夜爽 | 蜜桃传媒一区二区 | 久久电影一区 | 日韩不卡一区二区 | 久久久久久免费精品一区二区三区 | 极品一区| 久久99视频精品 | 日韩福利在线 | 美女操网站 | 欧美一区二区在线观看 | 国产精品视频一二三 | 在线观看第一区 | 久久精品视频在线观看 | 久久久久久蜜桃一区二区 | 欧美日韩国产一区二区三区 | 国产精品久久久久一区二区三区 |