欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android N多窗口支持

程序员文章站 2023-11-24 11:38:40
android n 可以同时显示多个应用窗口。 在手机上,两个应用可以在“分屏”模式中左右并排或上下并排显示。例如,用户可以 在上面窗口聊qq,下面窗口发送短信。 如图所...

android n 可以同时显示多个应用窗口。 在手机上,两个应用可以在“分屏”模式中左右并排或上下并排显示。例如,用户可以 在上面窗口聊qq,下面窗口发送短信。

如图所示,两个app在分屏模式中上下显示:

Android N多窗口支持

如何让你的app支持多窗口?

如果你的app支持adnroid n,在androidmanifest.xml文件中对

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

如果这个属性的值为true,activity能分屏和*模式启动,如果这个属性的值为false,activity不支持多窗口模式。

如果你的app支持adnroid n,但是没有对该属性设置值。则该属性的值默认为true。也就是默认支持多窗口模式。

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

  1. 若用户打开 overview 屏幕并长按 activity 标题,则可以拖动该 activity 至屏幕突出显示的区域,使 activity 进入多窗口模式。
  2. 若用户长按 overview 按钮,设备上的当前 activity 将进入多窗口模式,同时将打开 overview 屏幕,用户可在该屏幕中选择要共享屏幕的另一个 activity。

多窗口生命周期

多窗口模式不会更改 activity 生命周期。

在多窗口模式中,在指定时间只有最近与用户交互过的 activity 为活动状态。 该 activity 将被视为* activity。 所有其他 activity 虽然可见,但均处于暂停状态。 但是,这些已暂停但可见的 activity 在系统中享有比不可见 activity 更高的优先级。 如果用户与其中一个暂停的 activity 交互,该 activity 将恢复,而之前的* activity 将暂停。

多窗口模式下的布局属性

对于 android n,可以在activity标签中设置

  • android:defaultwidth 多窗口模式下的默认宽度。
  • android:defaultheight 多窗口模式下的默认高度。
  • android:gravity 多窗口模式下的初始位置。
  • android:minimalheight、android:minimalwidth 多窗口模式下的最小高度和最小宽度。如果用户在分屏模式中移动分界线,使 activity 尺寸低于指定的最小值,系统会将 activity 裁剪为用户请求的尺寸。

例如,以下配置如何指定 activity 在多窗口模式中显示时 activity 的默认大小、位置和最小尺寸:

<activity android:name=".myactivity">
 <layout android:defaultheight="500dp"
   android:defaultwidth="600dp"
   android:gravity="top|end"
   android:minimalheight="450dp"
   android:minimalwidth="300dp" />
</activity>

多窗口变更通知和查询

activity 类中添加了以下新方法,以支持多窗口显示。

activity.isinmultiwindowmode() 判断是否处于多窗口模式
activity.onmultiwindowmodechanged() 进入或退出多窗口模式时会回调这个方法。

其实多窗口在工作中应该使用的机会不大,毕竟手机屏幕比较小,分屏都看不到什么界面了。不过作为开发者我们有必要去了解一下android 7.0更新了什么。

源码下载

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!