多窗口模式简介

由于手机屏幕大小的限制,传统情况下一个手机只能同时打开一个应用程序。从Android 7.0 开始引入多窗口模式功能,如许在一个屏幕中同时打开两个应用程序。

进入多窗口模式

注意:使用的是Genymotion模拟器
Google Nexus 5X-7.0.0

a.png

打开任意程序,长按Overview即可进入多窗口模式。

多窗口模式,同时打开两个应用

b.png

当横竖屏切换的时候,自动切换成左右分屏的多窗口模式

c.png

哈哈!这样就可以一边看电影一边聊微信了

多窗口模式下的生命周期

多窗口模式并不会改变原有的生命周期,只会将用户最近交互的那个活动设置为运行状态,而将另一个设置为暂停状态,如果用户又和暂停的活动交互,那么这个暂停的活动就会变成运行状态,之前运行的活动就会变成暂停状态。

当我们打开一个程序的时候,首先会执行主界面的

onCreate()->onStart()->onResume()

然后长按Overview按钮,进入多窗口模式:

onPause()->onStop()->onDestroy()->onCreate()->onStart()->onResume()

我们会发现,当进入多窗口模式的时候,Activity会被重建。

针对进入多窗口模式时活动会被重建,如果想改变这种情况,可以在清单文件中对Activity进行配置

   <activity android:name=".activity.SplashActivity"android:configChanges="orientation|keyboardHidden|screenLayout|screenSize"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity>复制代码

禁用多窗口模式

在清单文件的application节点

 android:resizeableActivity="false"复制代码

resizeableActivity="false"表示禁用多窗口模式

resizeableActivity="true"表示启用多窗口模式

注意:这个属性只有当前项目的targetSdkVersion指定为24或者更高的时候才有效,否则会失效。

如果禁用多窗口模式,长按Overview会弹出Toast:
"App doesn't support split screen"

如果targetSdkVersion低于24,并且不允许横竖屏切换,应用也将不支持多窗口模式

//屏幕一直为竖直方向
android:screenOrientation="portrait"复制代码

重新允许程序,长按Overview会弹出Toast:
"App doesn't support split screen",说明已成功禁用多窗口模式。

Android 7.0 多窗口模式相关推荐

  1. android分屏模式_浅谈 Android 7.0 多窗口分屏模式的实现

    从 Android 7.0 开始,Google 推出了一个名为"多窗口模式"的新功能,也就是我们常说的"分屏模式".那么,这个功能有什么用呢?作为开发者,我们又 ...

  2. Android 7.0 ----- Direct Boot模式(AppClock)

    本文针对闹钟应用对于此次Android 7.0增加DB模式所需要的应对方式. Direct Boot模式:设备已开机但用户尚未解锁设备时,Android 7.0 将在安全的"直接启动&quo ...

  3. android 画中画模式自定义,Android 8.0 Oreo 画中画模式

    Android 8.0 Oreo(API Level 26)允许活动启动画中画 Picture-in-picture(PIP)模式.PIP 是一种特殊类型的多窗口模式,主要用于视频播放.PIP 模式已 ...

  4. Android N7.0多窗口适配开发指导

    0 前言背景 本文档为多窗口适配指导文档.当前仅重点介绍有关分屏(split-screen)的相关说明,后续逐步补充其他模式的说明. 使用对象 使用Android平台的研发人员和测试人员等. 适用范围 ...

  5. android 6.0省电,谷歌发话:强制开启Android 6.0省电模式和全盘加密

    原标题<谷歌发话了:谁都不许动省电模式和全盘加密>,IT之家编辑酌情修改. 日前谷歌已经发布了Android 6.0 Marshmallow的源码,手机厂商们正在加紧为旗下设备的适配工作, ...

  6. Android 11.0 进入recovery模式(等待用户选择recovery模式界面)进入自动恢复出厂设置模式

    1.概述 在定制11.0的产品的时候,由于没有音量键 所以用音量键和电源键来选择recovery模式就无法实现了 所以当进入recovery选择模式界面 就一直停在那里 根据需要 要修改成进入等待用户 ...

  7. Android 10.0 进入recovery模式(等待用户选择recovery模式界面)实现自动恢复出厂设置

    1.概述 在10.0 的产品由于没有音量键 所以用音量键和电源键来选择recovery模式就无法实现了 所以当进入 recovery选择模式界面 就一直停在那里 根据需要 要修改成进入等待用户选择re ...

  8. android 12.0去掉recovery模式UI页面的选项

    1.概述 在12.0进行定制化开发,会根据需要去掉recovery模式的一些选项 就是在device.cpp去掉一些选项就可以了 2.去掉recovery模式UI页面的选项核心代码 bootable/ ...

  9. Android 9.0 进入recovery模式 自动恢复出厂设置的定制化

    1.概述 在9.0 设备中,由于定制的设备没有音量+和音量-按键,所以通过手动选择recovery选择界面的模式时,就不能选择进入哪种模式,这时就需要进入recovery的时候,默认进入恢复出厂设置模 ...

最新文章

  1. 慎用Outline ,UGUI Outline实现原理分析
  2. 强化学习的自然环境基准
  3. android双击返回键退出程序的实现
  4. 关于我喜欢计算机的作文600字,关于我喜欢的字作文600字5篇
  5. python 底层原理_Python字典的核心底层原理讲解
  6. python扫盲系列--(4)
  7. 用matlab算24点小游戏,24点游戏的Matlab程序
  8. oracle 整个表空间迁移,oracle11g迁移表空间
  9. ffplay分析 (视频从Frame(解码后)队列取数据到SDL输出)
  10. 闩锁电流_IGBT——闩锁(Lanchup)效应
  11. 安装 Windows 自动化 API 3.0 时,visual Studio 2010 更快地运行
  12. URAL 1004 Sightseeing trip
  13. Qt5.4中遇到找不到头文件QApplication等。
  14. inode结构详解(深层次理解拷贝,删除,移动的本质)以及硬链接和软链接的区别(图文)
  15. 数据库死锁,导致CPU异常增长
  16. C语言 Linux版俄罗斯方块,C语言版俄罗斯方块源代码
  17. (十五)TcpClient
  18. 全国各地所有高校名单数据库 全国所有高校排名
  19. WEB前端小米商城网页制作
  20. KANBAN专题一:KANBAN管理的基本系统操作

热门文章

  1. 《Win32多线程程序设计》学习笔记 第17章 OLE ActiveX COM
  2. android 7.0独立升级,爆料:Android 7.0用户将可自行升级!
  3. 未定义标识符 stringc/c++(20)_20款奔驰G63AMG霸气颜值 运动造型
  4. 嵌入式软件工程师经典笔试题
  5. 使用qwt作曲线图——有网格线背景的画法
  6. Linux服务器防火墙白名单设置
  7. Hadoop- MapReduce分布式计算框架原理
  8. LeetCode(1)Two Sum
  9. CoreAnimation--CALayer的动画
  10. IromPython .Net 的简介和第一个例子