AndroidN多窗口支持
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多窗口支持相关推荐
- MFC窗口支持文件拖入
修改对话框属性为Accept Files 或者在初始化时直接通过函数DragAcceptFiles()使得窗口支持文件拖曳 然后,增加对话框窗口的WM_DROPFILES消息响应函数 单个文件: On ...
- html最小化窗口,[转载]js实现窗口(支持拉伸,拖拽,最大化,最小化,滚动
雨亭原创,转载注明 执行效果: 一窗体实现的功能: 1.鼠标拖动. 2.八个方向的拉伸. 3.可定制窗口标题,内容(文本或HTML),初始大小和位置,最小宽度,高度. 4.支持滚动条. 5.关闭窗体. ...
- Silverlight 5 Beta新特性[3]多窗口支持
前面两篇分别介绍Silverlight 5 Beta中XAML数据绑定支持的断点调试和鼠标的多重点击实现. 本篇将解析Silverlight 5 Beta版本中对OOB模式下多窗口的支持. 谈到Sil ...
- Android 分屏模式-多窗口支持
第一篇博客请多多担待,测试一下. 来自于https://developer.android.com/guide/topics/ui/multi-window.html#lifecycle Androi ...
- html弹出窗口是浮动,JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
本文实例讲述了JS实现弹出浮动窗口.分享给大家供大家参考.具体如下: 这里介绍的JS弹出浮动窗口,支持鼠标拖动和关闭,点击链接文字后弹出层窗口,也称作是弹出式对话框吧. 关于一些参数说明: bodyc ...
- Android分屏显示(多窗口支持) 开发总结
最近公司有分屏显示需求,遇到几点问题 ,在此记录,以做备忘. 我所谓的分屏显示,是在同一个界面内,分屏显示两个app的界面 或者是 注意点1: 系统好像没有获取应用显示的左右或者上下位置的方法,所以我 ...
- QQ2012 Beta1 (支持窗口合并、20人视频)
QQ2012 Beta1 what's new: 更新时间:2012年3月29日 ================== 1.2012全新界面,极地企鹅带您感受极地的纯净.轻盈.自由与灵动: 2.会话窗 ...
- Android N 多窗口布局 省电模式 全新通知功能
今年google 16 i/o 强势推出 android n 迄今为止还没有给他命名.有兴趣的可以登录网站 https://www.android.com/versions/name-n/ 会中提到a ...
- Android7.0多窗口实现原理(二)
本文基于AOSP Android-7.1.1-R9代码进行分析. Android N的的多窗口框架中,总共包含了三种模式. Split-Screen Mode: 分屏模式. Freeform Mode ...
- Android7.0多窗口实现原理(一)
概述 在以往的Android系统上,所有Activity都是全屏的,如果不设置透明效果,一次只能看到一个Activity界面. 但是从Android N(7.0)版本开始,系统支持了多窗口功能.在有了 ...
最新文章
- 从Zabbix到Prometheus,同程艺龙数据库监控系统的实践
- Flask--(登录注册)抽取视图函数
- 凸包Graham Scan算法实现
- 微信小程序在当前页面设置其他页面的数据
- esp32 嵌入式linux,初体验乐鑫 ESP32 AT 指令-嵌入式系统-与非网
- 用Eclipse做J2Me开发的前期配置
- python classmethod_Python classmethod()
- MS SQL数据库置疑解决办法
- 错误解决:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to star
- 算法:两种对拼音进行智能切分的方法
- D - Hangar Hurdles(kruskal重构树+树上倍增)
- mac 截图工具只能截取桌面问题
- python之global关键字
- 双11直播技术强力后盾——阿里云导播服务功能详解与场景应用
- 怎么在MAC系统下查看系统详细信息?新手快来看!
- VB登录界面设计代码
- 网站页面上标签页小图标的添加方式
- 第五期送书来了,这次送的都是畅销书!
- 如何解决失眠有效方法,五个助眠小妙招
- ConvMAE实战:使用ConvMAE实现对植物幼苗的分类(非官方)(一)