Android 8.0 Oreo 画中画模式

Android 8.0 Oreo(API Level 26)允许活动启动画中画 Picture-in-picture(PIP)模式。PIP 是一种特殊类型的多窗口模式,主要用于视频播放。PIP 模式已经可用于 Android TV,而 Android 8.0 则让该功能可进一步用于其他 Android 设备。

画中画 Picture-in-picture(PIP)模式


当一个活动在画中画模式,它处于暂停状态,但应继续展示内容。出于这个原因,您应该确保您的应用程序不在的onpause ( )中处理暂停播放。相反,您应该在onstop ( )暂停播放·,在onstart ( )中继续播放。



指定您的活动可以使用画中画模式

从 Android 8.0 开始,如果您支持画中画模式,您不需要在 Manifest 中设android:resizeableActivity为 true,您只需要在其他多窗口模式中设置android:resizeableActivity

Android 8.0(API Level 26)引入了一个新的对象PictureInPictureParams,您通过画中画方法指定一个活动应该表现的画中画模式。该对象指定性能例如首选纵横比。

现在不仅仅是在 Android TV 上,还可以在所有 Android 设备上使用 “添加画中画” 中描述的现有 PIP 方法。此外,Android 8.0 还提供以下方法来支持 PIP 模式:

Activity.enterPictureInPictureMode (PictureInPictureParams args): 将活动放在画中画模式中。在args中指定活动的宽高比和其他配置设置。如果args中的任何字段为空,系统将使用您上次调用的Activity.setPictureInPictureParams ( )。指定的活动被放置在屏幕的一个角落;屏幕的其余部分都填充了屏幕上的先前活动。进入画中画模式的活动进入暂停状态,但仍保持启动状态。 如果用户点击画中画活动,则系统显示给用户交互菜单,在画中画模式中,没有任何触摸操作可以回到活动。

Activity.setPictureInPictureParams ( ): 更新活动的画中画配置。 如果活动当前处于画中画模式,这时将会更新,这在活动比发生变化的时候是很有用的。 如果活动不在画中画模式中,这些设置不管您是否调用了enterPictureInPictureMode ( )方法,它都会生效。

Android 多窗口支持

两个应用在分屏模式中左右并排显示


从 Android 7.0 Nougat 开始,Android 允许多个应用同时共享屏幕。例如:用户可以分屏显示应用,在左边查看网页,同时在右边写邮件。 这些功能取决于:

运行 Android 设备具有分屏模式。 在此模式中,系统以左右并排或上下并排的方式分屏显示两个应用。 用户可以拖动两个应用之间的分界线,放大其中一个应用,同时缩小另一个。

在运行 Android 的 Nexus Player 上,应用能以画中画模式显示,即在用户浏览网页或与其他应用交互的同时继续显示内容。

较大设备的制造商可选择启用自由形状模式,在该模式中,用户可以自由调整各 Activity 的尺寸。 若制造商启用此功能,设备将同时具有自由形状模式和分屏模式。

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

若用户打开 Overview 屏幕并长按 Activity 标题,则可以拖动该 Activity 至屏幕突出显示的区域,使 Activity 进入多窗口模式。

若用户长按 Overview 按钮,设备上的当前 Activity 将进入多窗口模式,同时将打开 Overview 屏幕,用户可在该屏幕中选择要共享屏幕的另一个 Activity。

用户可以在两个 Activity 共享屏幕的同时在这两个 Activity 之间拖放数据 (在此之前,用户只能在一个 Activity 内部拖放数据)。

针对多窗口模式配置应用

您可以对应用的 Activity 是否支持多窗口显示和显示方式进行配置。 您可以在 Manifest 文件中设置属性,以控制大小和布局。 根 Activity 的属性设置适用于其任务栈中的所有 Activity。例如:如果根 Activity 已android:resizeableActivity设定为 true,则任务栈中的所有 Activity 都将可以调整大小。

android:resizeableActivity

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

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

如果该属性设置为 true,Activity 将能以分屏和自由形状模式启动。 如果此属性设置为 false,Activity 将不支持多窗口模式。 如果该值为 false,且用户尝试在多窗口模式下启动 Activity,该 Activity 将全屏显示。

多窗口模式中被禁用的功能

在设备处于多窗口模式中时,某些功能会被禁用或忽略,因为这些功能对与其他 Activity 或应用共享设备屏幕的 Activity 而言没有意义。 此类功能包括:

某些系统 UI 自定义选项将被禁用;例如:在非全屏模式中,应用无法隐藏状态栏。

系统将忽略对 android:screenOrientation 属性所作的更改。

布局属性

清单元素支持以下几种属性,这些属性影响 Activity 在多窗口模式中的行为:

android:defaultWidth

以自由形状模式启动时 Activity 的默认宽度。

android:defaultHeight

以自由形状模式启动时 Activity 的默认高度。

android:gravity

以自由形状模式启动时 Activity 的初始位置。

android:minimalHeight、android:minimalWidth

分屏和自由形状模式中 Activity 的最小高度和最小宽度。 如果用户在分屏模式中移动分界线,使 Activity 尺寸低于指定的最小值,系统会将 Activity 裁剪为用户请求的尺寸。

例如:以下节点显示了如何指定 Activity 在自由形状模式中显示时 Activity 的默认大小、位置和最小尺寸:

android:defaultWidth="600dp"

android:gravity="top|end"

android:minimalHeight="450dp"

android:minimalWidth="300dp"/>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容