Android N 可以同时显示多个应用窗口。 在手机上,两个应用可以在“分屏”模式中左右并排或上下并排显示。例如,用户可以 在上面窗口聊QQ,下面窗口发送短信。

如图所示,两个app在分屏模式中上下显示:

如何让你的app支持多窗口?

如果你的app支持Adnroid N,在AndroidManifest.xml文件中对 或 节点设置android:resizeableActivity就能启用或者禁用多窗口显示:

android:resizeableActivity=["true" | "false"]

如果这个属性的值为true,Activity能分屏和自由模式启动,如果这个属性的值为false,Activity不支持多窗口模式。

如果你的app支持Adnroid N,但是没有对该属性设置值。则该属性的值默认为true。也就是默认支持多窗口模式。

用户可以通过以下方式切换到多窗口模式

  • 若用户打开 Overview 屏幕并长按 Activity 标题,则可以拖动该 Activity 至屏幕突出显示的区域,使 Activity 进入多窗口模式。
  • 若用户长按 Overview 按钮,设备上的当前 Activity 将进入多窗口模式,同时将打开 Overview 屏幕,用户可在该屏幕中选择要共享屏幕的另一个 Activity。

多窗口生命周期

多窗口模式不会更改 Activity 生命周期。

在多窗口模式中,在指定时间只有最近与用户交互过的 Activity 为活动状态。 该 Activity 将被视为顶级 Activity。 所有其他 Activity 虽然可见,但均处于暂停状态。 但是,这些已暂停但可见的 Activity 在系统中享有比不可见 Activity 更高的优先级。 如果用户与其中一个暂停的 Activity 交互,该 Activity 将恢复,而之前的顶级 Activity 将暂停。

多窗口模式下的布局属性

对于 Android N,可以在activity标签中设置标签。 标签支持以下几种属性,这些属性影响 Activity 在多窗口模式中的效果:
- android:defaultWidth 多窗口模式下的默认宽度。
- android:defaultHeight 多窗口模式下的默认高度。
- android:gravity 多窗口模式下的初始位置。
- android:minimalHeight、android:minimalWidth 多窗口模式下的最小高度和最小宽度。如果用户在分屏模式中移动分界线,使 Activity 尺寸低于指定的最小值,系统会将 Activity 裁剪为用户请求的尺寸。

例如,以下配置如何指定 Activity 在多窗口模式中显示时 Activity 的默认大小、位置和最小尺寸:

<activity android:name=".MyActivity"><layout android:defaultHeight="500dp"android:defaultWidth="600dp"android:gravity="top|end"android:minimalHeight="450dp"android:minimalWidth="300dp" />
</activity>

多窗口变更通知和查询

Activity 类中添加了以下新方法,以支持多窗口显示。

Activity.isInMultiWindowMode()  判断是否处于多窗口模式
Activity.onMultiWindowModeChanged()  进入或退出多窗口模式时会回调这个方法。 

其实多窗口在工作中应该使用的机会不大,毕竟手机屏幕比较小,分屏都看不到什么界面了。不过作为开发者我们有必要去了解一下Android 7.0更新了什么。

源码下载

Android N多窗口

如果你想第一时间看我们的后期文章,扫码关注公众号,每周不定期推送Android开发实战教程文章,你还等什么,赶快关注吧,学好技术,出任ceo,赢取白富美。。。。

      Android开发666 - 安卓开发技术分享扫描二维码加关注

AndroidN多窗口支持相关推荐

  1. MFC窗口支持文件拖入

    修改对话框属性为Accept Files 或者在初始化时直接通过函数DragAcceptFiles()使得窗口支持文件拖曳 然后,增加对话框窗口的WM_DROPFILES消息响应函数 单个文件: On ...

  2. html最小化窗口,[转载]js实现窗口(支持拉伸,拖拽,最大化,最小化,滚动

    雨亭原创,转载注明 执行效果: 一窗体实现的功能: 1.鼠标拖动. 2.八个方向的拉伸. 3.可定制窗口标题,内容(文本或HTML),初始大小和位置,最小宽度,高度. 4.支持滚动条. 5.关闭窗体. ...

  3. Silverlight 5 Beta新特性[3]多窗口支持

    前面两篇分别介绍Silverlight 5 Beta中XAML数据绑定支持的断点调试和鼠标的多重点击实现. 本篇将解析Silverlight 5 Beta版本中对OOB模式下多窗口的支持. 谈到Sil ...

  4. Android 分屏模式-多窗口支持

    第一篇博客请多多担待,测试一下. 来自于https://developer.android.com/guide/topics/ui/multi-window.html#lifecycle Androi ...

  5. html弹出窗口是浮动,JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解

    本文实例讲述了JS实现弹出浮动窗口.分享给大家供大家参考.具体如下: 这里介绍的JS弹出浮动窗口,支持鼠标拖动和关闭,点击链接文字后弹出层窗口,也称作是弹出式对话框吧. 关于一些参数说明: bodyc ...

  6. Android分屏显示(多窗口支持) 开发总结

    最近公司有分屏显示需求,遇到几点问题 ,在此记录,以做备忘. 我所谓的分屏显示,是在同一个界面内,分屏显示两个app的界面 或者是 注意点1: 系统好像没有获取应用显示的左右或者上下位置的方法,所以我 ...

  7. QQ2012 Beta1 (支持窗口合并、20人视频)

    QQ2012 Beta1 what's new: 更新时间:2012年3月29日 ================== 1.2012全新界面,极地企鹅带您感受极地的纯净.轻盈.自由与灵动: 2.会话窗 ...

  8. Android N 多窗口布局 省电模式 全新通知功能

    今年google 16 i/o 强势推出 android n 迄今为止还没有给他命名.有兴趣的可以登录网站 https://www.android.com/versions/name-n/ 会中提到a ...

  9. Android7.0多窗口实现原理(二)

    本文基于AOSP Android-7.1.1-R9代码进行分析. Android N的的多窗口框架中,总共包含了三种模式. Split-Screen Mode: 分屏模式. Freeform Mode ...

  10. Android7.0多窗口实现原理(一)

    概述 在以往的Android系统上,所有Activity都是全屏的,如果不设置透明效果,一次只能看到一个Activity界面. 但是从Android N(7.0)版本开始,系统支持了多窗口功能.在有了 ...

最新文章

  1. 从Zabbix到Prometheus,同程艺龙数据库监控系统的实践
  2. Flask--(登录注册)抽取视图函数
  3. 凸包Graham Scan算法实现
  4. 微信小程序在当前页面设置其他页面的数据
  5. esp32 嵌入式linux,初体验乐鑫 ESP32 AT 指令-嵌入式系统-与非网
  6. 用Eclipse做J2Me开发的前期配置
  7. python classmethod_Python classmethod()
  8. MS SQL数据库置疑解决办法
  9. 错误解决:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to star
  10. 算法:两种对拼音进行智能切分的方法
  11. D - Hangar Hurdles(kruskal重构树+树上倍增)
  12. mac 截图工具只能截取桌面问题
  13. python之global关键字
  14. 双11直播技术强力后盾——阿里云导播服务功能详解与场景应用
  15. 怎么在MAC系统下查看系统详细信息?新手快来看!
  16. VB登录界面设计代码
  17. 网站页面上标签页小图标的添加方式
  18. 第五期送书来了,这次送的都是畅销书!
  19. 如何解决失眠有效方法,五个助眠小妙招
  20. ConvMAE实战:使用ConvMAE实现对植物幼苗的分类(非官方)(一)

热门文章

  1. 杂谈---一个项目经理的自我反省
  2. 车载诊断系统-OBD
  3. Oracle Golden Gate 系列二 -- GG 的系统需求
  4. putty怎么连到linux服务器,PuTTY 从 Windows 连接到 亚马逊服务器Linux 实例
  5. java做mmo服务器_MMO聊天服务器设计
  6. KeyTool 和 OpenSSL 相互转换 [转]
  7. html 套壳成桌面应用
  8. 九爷带你 查看linux所有正在运行的进程
  9. codeforces1428F Fruit Sequences
  10. 网络安全系列-XV: 网络异常流量的种类及特征