您的位置:首页 > 移动开发 > Android开发

Android多窗口支持

2017-09-05 18:07 267 查看
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 多窗口 分屏