android N多窗口和画中画属性

1.在清单的或节点中设置该属性,启用或禁用多窗口显示:

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


2.在清单文件的节点中设置该属性,指明 Activity 是否支持画中画显示。 如果android:resizeableActivity为 false,将忽略该属性。

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


多窗口变更通知和查询

Activity类中添加了以下新方法,以支持多窗口显示。 有关各方法的详细信息,请参阅N Preview SDK 参考。

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()。

进入画中画模式

如需在画中画模式中启动 Activity,请调用新方法Activity.enterPictureInPictureMode()。 如果设备不支持画中画模式,则此方法无效。 如需了解详细信息,请参阅画中画文档。

在多窗口模式中启动新 Activity

在启动新 Activity 时,用户可以提示系统如果可能,应将新 Activity 显示在当前 Activity 旁边。 要执行此操作,可使用标志Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT。 传递此标志将请求以下行为:

如果设备处于分屏模式,系统会尝试在启动系统的 Activity 旁创建新 Activity,这样两个 Activity 将共享屏幕。 系统并不一定能实现此操作,但如果可以,系统将使两个 Activity 处于相邻的位置。

如果设备不处于分屏模式,则该标志无效。



你可能感兴趣的:(android)