Android N多窗口支持

简介:

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

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

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

如果你的app支持Adnroid N,在AndroidManifest.xml文件中对

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

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

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

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

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

  • 若用户长按 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更新了什么。


本文转自帅气的头头博客51CTO博客,原文链接http://blog.51cto.com/12902932/1926162如需转载请自行联系原作者


sshpp

相关文章
|
Java Android开发
Android 7.1 FreeForm 多窗口模式
Android 7.1 FreeForm 多窗口模式
621 0
Android 7.1 FreeForm 多窗口模式
|
Android开发
android 以两种方式设置沉浸式状态栏
android 以两种方式设置沉浸式状态栏
|
API Android开发 开发者
Android 12上全新的应用启动画面,还不适配一下?(2)
Android 12上全新的应用启动画面,还不适配一下?(2)
Android 12上全新的应用启动画面,还不适配一下?(2)
|
XML 机器人 API
Android 12上全新的应用启动画面,还不适配一下?(1)
Android 12上全新的应用启动画面,还不适配一下?(1)
Android 12上全新的应用启动画面,还不适配一下?(1)
|
Java Android开发
【安卓开发】Android中自定义软键盘的使用
【安卓开发】Android中自定义软键盘的使用
405 0
【安卓开发】Android中自定义软键盘的使用
|
Android开发
Android 8.0应用图标适配
Android 8.0应用图标适配
94 0
Android 8.0应用图标适配
|
Java Android开发 开发者
Android 悬浮窗功能的实现
Android 悬浮窗功能的实现
1209 2
Android 悬浮窗功能的实现
|
Android开发
Android 的输入法适配设置windowSoftInputMode方式
用户评论开发过程中通常需要和EditText控件打交道,编辑框通常编程过程中最常见的就是和软键盘做交互操作。在用户最初进入编辑评论时有时希望直接展示软键盘,减少用户选中输入框操作,最好是保证输入框不被软件盘覆盖住。android:windowSoftInputMode属性就包含了实现这些交互方式的属性,主要分成两个部分,一个是控制软件盘展示或隐藏的state开头属性值,一个是控制展示输入框的Window适配效果的adjust开头属性值,通常都是两个使用或(|)指定键盘盘和Windwo适配效果,最常见的Adjust属性值解释如下:
257 0
Android 的输入法适配设置windowSoftInputMode方式