Android多窗口支持
来源:互联网 发布:矩阵的长度 编辑:程序博客网 时间:2024/06/05 23:57
Android N 添加了对同时显示多个应用窗口的支持。
在手持设备上,两个应用可以在“分屏”模式中左右并排或上下并排显示。
在电视设备上,应用可以使用“画中画”模式,在用户与另一个应用交互的同时继续播放视频。
如何启动分屏
1.第一种方式
按 Overview 按钮进入 Overview 界面,然后长按 activity 拖动到界面的提示区域(我的手机是顶部)。
2.第二种方式
在 activity 界面长按 Overview 按钮,如果 activity 没有禁用分屏模式就可以进入分屏界面了。
解析官方Demo里的几种启动模式
1.第一种启动方式-START BASIC,DEFAULT ACTIVITY(默认的启动方式)
这种启动方式并没有什么特别的,启动的 activity 如果没有设置其他属性,可正常进入分屏模式。
2.第二种启动方式-START UNRESIZEABLE ACTIVITY(禁用分屏模式)
这个模式中在 AndroidManifest 中加入了 android:resizeableActivity=”false”
将禁用分屏,
如果不加这条属性,默认是 true,启用分屏模式。
该模式下如果想启动分屏模式会提示该应用不支持分屏
3.第三种启动方式-START ACTIVITY ADJACENT(共享分屏模式)
如果处于分屏模式下,被启动 activity 直接占据屏幕另一半。否则这种启动方式并没有什么不同。
只需要在启动时加入Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT
即可。
4.第四种启动方式-START ACTIVITY THAT HANDLES CONFIGURATIONCHANGES(加配置信息)
这种启动方式里在 AndroidManifest 的 configChanges 属性里加入了很多属性。比如禁用横竖屏切换之类的,
如果想仔细了解这些配置可以看
多窗口变更通知和查询
Activity类中添加了以下新方法,以支持多窗口显示。
Activity.isInMultiWindowMode()
调用该方法以确认 Activity 是否处于多窗口模式。Activity.isInPictureInPictureMode()
调用该方法以确认 Activity 是否处于画中画模式。- 注:画中画模式是多窗口模式的特例。 如果 myActivity.isInPictureInPictureMode() 返回 true,则 myActivity.isInMultiWindowMode() 也返回 true。
Activity.onMultiWindowModeChanged()
Activity 进入或退出多窗口模式时系统将调用此方法。 在 Activity 进入多窗口模式时,系统向该方法传递 true 值,在退出多窗口模式时,则传递 false 值。Activity.onPictureInPictureModeChanged()
Activity 进入或退出画中画模式时系统将调用此方法。 在 Activity 进入画中画模式时,系统向该方法传递 true 值,在退出画中画模式时,则传递 false 值。
每个方法还有 Fragment 版本,例如 Fragment.isInMultiWindowMode()。
关于更多关于Android多窗口支持的信息可点击链接查看
最后附上我github稍微翻译了一下的官方demo
- Android多窗口支持
- Android N 多窗口支持
- Android N 多窗口支持
- Android 7.0 多窗口支持
- android 7.0 多窗口支持
- android N - 多窗口支持
- Android N多窗口支持
- Android n multi-window多窗口支持
- Android N新特性--多窗口支持
- android 7新特性:多窗口支持
- Android 分屏模式-多窗口支持
- Android N多窗口支持介绍
- Nougat多窗口支持
- 多窗口支持
- AndroidN多窗口支持
- 谷歌反对Android设备支持多窗口 三星一意孤行
- android7.0多窗口支持
- Android N 分屏(多窗口支持)+ConstraintLayout简单使用
- 关于block使用的5点注意事项
- mysql乐观锁总结和实践
- IOS获取设备 ID
- list追加当前行
- Unity网格编程篇(三) 温度图、热力图
- Android多窗口支持
- Codeforces 850B
- 解决linux下创建用户时出现 Creating mailbox file: 文件已存在
- Python教程之八-----类
- 创建maven项目,常见问题(Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart..)
- 多益视频面试
- 何为大端序,小端序?
- 201. Bitwise AND of Numbers Range
- Windows下Git多账号配置,同一电脑多个ssh-key的管理