Android N多窗口支持

作者:Android开发666 时间:2022-08-08 19:27:37 

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更新了什么。

源码下载

来源:http://www.cnblogs.com/yishaochu/p/6858269.html

标签:android,多窗口
0
投稿

猜你喜欢

  • 半小时实现Java手撸网络爬虫框架(附完整源码)

    2022-11-23 15:59:35
  • 基于Android实现桌面悬浮清内存app概述

    2023-05-02 22:56:35
  • Android游戏开发实践之人物移动地图的平滑滚动处理

    2023-12-26 19:45:41
  • Springboot引用外部配置文件的方法步骤

    2022-06-14 13:29:35
  • Android 限制edittext 整数和小数位数 过滤器(详解)

    2023-11-24 17:33:52
  • spring cloud Ribbon用法及原理解析

    2021-11-28 15:27:21
  • Android 获取drawable目录图片 并存入指定文件的步骤详解

    2021-11-01 07:04:48
  • MybatisPlus实现对象嵌套关联查询一对多List集合查询

    2022-04-27 16:00:12
  • C# Invoke,begininvoke的用法详解

    2023-07-21 01:55:55
  • Unity3D实现摄像机镜头移动并限制角度

    2023-09-30 17:06:51
  • Android仿百度地图小度语音助手的贝塞尔曲线动画

    2022-03-21 00:09:26
  • Java关键字this与super详解用法

    2023-05-28 05:28:04
  • 两个例子了解java中的回调机制

    2023-07-12 21:12:46
  • Java几个实例带你进阶升华下篇

    2021-06-11 01:19:46
  • Java中的CAS和ABA问题说明

    2021-08-19 11:08:18
  • 关于eclipse安装spring插件报错An error occurred while collecting items to be installed...解决方案

    2023-05-27 03:34:45
  • Android实现图片的高斯模糊(两种方式)

    2023-01-24 05:42:48
  • Java获取文件夹下所有文件名称的方法示例

    2023-08-08 08:01:26
  • Android Studio连接SQLite数据库的登录注册实现

    2023-08-14 11:27:49
  • java控制台实现学生信息管理系统(集合版)

    2023-11-11 14:16:52
  • asp之家 软件编程 m.aspxhome.com