第一篇博客请多多担待,测试一下。
来自于https://developer.android.com/guide/topics/ui/multi-window.html#lifecycle

Android N 添加了同时显示多个应用窗口的支持,在手持设备上,两个应用可以在“分屏”模式中左右并排或者上下并排显示。在电视设备上,应用可以使用“画中画”模式,在用户与另一个应用交互的同时继续播放视频。
如果您使用N preview SDK构建应用,则可以配置应用处理多窗口显示的方法。 例如,您可以指定 Activity 的最小允许尺寸。 您还可以禁用应用的多窗口显示,确保系统仅以全屏模式显示应用。

概述
Android N允许多个应用同时共享屏幕的前提条件是你的手持设备支持分屏模式。
先看一下效果:

用户可以通过以下方式进入分屏模式:
点击右下角的任务管理,长按app,将其拖入提示的地方,这个App就进入了分屏模式。然后在任务管理器中选择另一个app,单击他进入。

分屏模式的生命周期:
首先声明:分屏模式不会改变Activity的生命周期。
在分屏模式中,用户最近操作过的Activity为活动状态,该Activity将被视为顶级的Activity,处于onResume状态,其他的处于onPause状态。
注:在多窗口模式中,用户仍可以看到处于暂停状态的应用。 应用在暂停状态下可能仍需要继续其操作。 例如,处于暂停模式但可见的视频播放应用应继续显示视频。 因此,我们建议播放视频的 Activity 不要暂停其 onPause() 处理程序中的视频。 应暂停 onStop() 中的视频,并恢复 onStart() 中的视频播放。
如处理运行时变更中所述,用户使用多窗口模式显示应用时,系统将通知 Activity 发生配置变更。 这也会发生在当用户调整应用大小,或将应用恢复到全屏模式时。 该变更与系统通知应用设备从纵向模式切换到横向模式时的 Activity 生命周期影响基本相同,但设备不仅仅是交换尺寸,而是会变更尺寸。 如处理运行时变更中所述,您的 Activity 可以自行处理配置变更,或允许系统销毁 Activity,并以新的尺寸重新创建该 Activity。
如果用户调整窗口大小,并在任意维度放大窗口尺寸,系统将调整 Activity 以匹配用户操作,同时根据需要发布运行时变更。 如果应用在新公开区域的绘制滞后,系统将使用 windowBackground 属性或默认 windowBackgroundFallback 样式属性指定的颜色暂时填充该区域

如何设置你的app进入分屏模式:
如果你是用Android N以及以上的SDK构建的应用,你可以对应用的 Activity 是否支持多窗口显示以及显示方式进行配置。在配置清单中的、节点中设置android:resizeableActivity=[“true”|”false”]该属性,如果为true,Activity 将能以分屏和自由形状模式启动;如果设为false,Activity将不支持多窗口模式。且用户尝试在多窗口模式下启动 Activity,该 Activity 将全屏显示。如果未指定该属性,默认为true。
如果你使用的是低于Android N版本的SDK,且app中没有设置android:screenOrientation这个属性,系统将强制调整应用的大小,会提醒用户可能会出现异常;但如果是定向应用,系统则不会调整应用的大小,会直接全屏显示。

布局属性
在Android N中,我们可以向manifest文件中添加layout节点,并设置一些新增加的属性,通过这些属性来设置分屏模式的一些行为,如最小尺寸等。

  1. android:defaultWidth
  2. android:defaultHeight
  3. android:gravity
  4. android:minimalSize

我们可以给一个Activity增加一个layout子节点:

<activity android:name=".MainActivity"android:resizeableActivity="true"><layout android:defaultHeight="300dp"android:defaultWidth="600dp"android:gravity="end|top"android:minHeight="800dp"android:minWidth="300dp" /><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

分屏模式下被禁用的功能:

  1. 某些系统 UI 自定义选项将被禁用;例如,在非全屏模 式中,应用无法隐藏状态栏。
  2. 系统将忽略对 android:screenOrientation 属性所作的更改。

分屏模式变更通知和查询:
Activity.isInMultiWindowMode():调用该方法以确认 Activity 是否处于多窗口模式。
Activity.onMultiWindowModeChanged():Activity 进入或退出多窗口模式时系统将调用此方法。 在 Activity 进入多窗口模式时,系统向该方法传递 true 值,在退出多窗口模式时,则传递 false 值。

分屏模式还能支持两个APP之间拖拽,具体请看官网的。

关于App分屏模式的学习就到这里了,欢迎大家一起交流

Android 分屏模式-多窗口支持相关推荐

  1. Android分屏显示(多窗口支持) 开发总结

    最近公司有分屏显示需求,遇到几点问题 ,在此记录,以做备忘. 我所谓的分屏显示,是在同一个界面内,分屏显示两个app的界面 或者是 注意点1: 系统好像没有获取应用显示的左右或者上下位置的方法,所以我 ...

  2. android分屏模式_Android分屏模式开发注意事项

    Android分屏模式开发注意到主页面在分屏模式下,页面所占比例在增大或者减小的时候都会调用oncreat方法,所以查资料总结一下分屏对页面的生命周期的影响以及开发时的注意事项: App页面从全屏模式 ...

  3. android分屏模式_浅谈 Android 7.0 多窗口分屏模式的实现

    从 Android 7.0 开始,Google 推出了一个名为"多窗口模式"的新功能,也就是我们常说的"分屏模式".那么,这个功能有什么用呢?作为开发者,我们又 ...

  4. android分屏模式_Android多窗口模式(分屏模式)

    Android N 支持多窗口模式,或者叫分屏模式,即在屏幕上可以同时显示多个窗口. 在手机模式下,两个应用可以并排或者上下同时显示,如图 1 所示,屏幕上半部分的窗口是系统的 CLOCK 应用,下半 ...

  5. Android - 分屏模式(多窗口模式)

    简介 在Android N以上设备,可以开启多窗口模式,也叫分屏模式,即在屏幕上可以同时显示多个窗口,这多个窗口可以是不同应用的,也可以是同一个应用的. 禁用分屏 app默认允许分屏,如果想要禁止分屏 ...

  6. android 分屏模式适配,安卓适配分屏注意事项

    分屏模式下可强制应用横屏,所以注意应用内强制竖屏的页面适配横屏显示 分屏模式下,获取应用所占用的宽高 getResources().getConfiguration().screenWidthDp g ...

  7. Android分屏模式代码实现

    文章目录 生命周期 开发者相关 相关模块和主要类 `ActivityManager` `WindowManager` `Framework API` `SystemUI` 多窗口的功能实现 两个系统服 ...

  8. Android 分屏模式 问题总结

    Android 7.0(api 24) 开始支持分屏模式,让应用支持分屏模式其实有两种方法 1.在AndroidManifest的application节点里面加上 android:resizeabl ...

  9. android分屏模式_Android的分屏模式开发注意事项

    android7.0 的API开始有了分屏功能,在测试时注意到主页面在分屏模式下,页面所占比例在增大或者减小的时候都会调用oncreat方法,所以查资料总结一下分屏对页面的生命周期的影响以及开发时的注 ...

最新文章

  1. Python3学习笔记(一):基础语法
  2. css案例学习之div ul li a 实现导航效果
  3. bzoj 4487: [Jsoi2015]染色问题
  4. SQL基础操作_7_时间运算
  5. 09.15,一维数组,冒泡排序
  6. java volatile 死锁_Java 多线程:volatile 变量、happens-before 关系及内存一致性
  7. 轻松搞定 Nginx 配置代码的神器!
  8. CNN图像分割简史:从R-CNN到Mask R-CNN(译)
  9. squid是否支持http1.1和对KeepAlive支持的个人理解
  10. 阿里mysql锁_【mysql】mysql中的锁机制
  11. javaScript中的Object类型
  12. Python yolo 神经网络实现视频中的行人车辆检测计数(车流量统计)YOLO多目标跟踪与计数
  13. Ilasm.exe和Ildasm.exe的简单使用
  14. 数控dda法直线插补程序c语言,DDA法直线插补
  15. vue 商城浏览足迹_vue实现用户获取浏览记录功能
  16. iMeta | 深圳先进院戴磊组开发可同时提取共存菌株的组成和基因成分谱的菌株分析工具...
  17. iphone11屏比例_介绍iPhone 11和iPhone X屏幕尺寸对比iPhone 11屏幕和i
  18. 先知ppt_用先知预测时间序列数据–第3部分
  19. 并发编程五:java并发线程池底层原理详解和源码分析
  20. 哈尔滨校区学员扫码绑定教练、签到、签退、评价说明

热门文章

  1. wps转换成word如何实现?不妨试试这两个小技巧
  2. 开源实时数据库_实时应用程序的开源数据库
  3. (01)开发环境准备
  4. 电脑技巧:推荐几款装机必备的软件
  5. 第三方支付如何帮助在线教育打通支付
  6. 拼多多API接口介绍
  7. Python3实现Two-Pass算法检测区域连通性
  8. 蛋壳梦破:CEO被限制消费,资金链碎了一地
  9. 投稿动态无法删除的情况下,如何批量删除B站动态?
  10. (转载)适合大学生旅游时住的各地旅馆