Android N多窗口支持

 更新时间:2017年05月16日 09:21:26   作者:Android开发666  
Android N 可以同时显示多个应用窗口。在手机上,两个应用可以在“分屏”模式中左右并排或上下并排显示。本文将对此介绍。具有很好的参考价值。下面跟着小编一起来看下吧

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

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

如何让你的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更新了什么。

源码下载

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

相关文章

  • Android基于Toolbar实现顶部标题栏及后退键

    Android基于Toolbar实现顶部标题栏及后退键

    这篇文章主要介绍了Android基于Toolbar实现顶部标题栏及后退键,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 一文讲解Kotlin中的contract到底有什么用

    一文讲解Kotlin中的contract到底有什么用

    我们在开发中肯定会经常用Kotlin提供的一些通用拓展函数,当我们进去看源码的时候会发现许多函数里面有contract{}包裹的代码块,那么这些代码块到底有什么作用呢?下面这篇文章主要给大家介绍了关于Kotlin中contract到底有什么用的相关资料,需要的朋友可以参考下
    2022-01-01
  • AndroidStduio3.0 使用gradle将module打包jar文件的方法

    AndroidStduio3.0 使用gradle将module打包jar文件的方法

    这篇文章主要介绍了AndroidStduio3.0 使用gradle将module打包jar文件的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Android应用内存泄漏优化指南

    Android应用内存泄漏优化指南

    内存泄漏(Memory Leak)是指应用中不再使用的对象因错误引用无法被垃圾回收(GC),导致内存占用持续增长,最终可能引发 OOM(Out Of Memory)崩溃 或 应用卡顿,以下是 Android 内存泄漏的优化方案,涵盖检测工具、常见场景及解决方案,需要的朋友可以参考下
    2025-03-03
  • android针对json数据解析方法实例分析

    android针对json数据解析方法实例分析

    这篇文章主要介绍了android针对json数据解析方法,以实例形式较为详细的分析了Android操作json格式数据的各种常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android使用AlertDialog实现对话框

    Android使用AlertDialog实现对话框

    本文主要介绍了Android使用AlertDialog实现对话框的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Android用PopupWindow实现自定义Dailog

    Android用PopupWindow实现自定义Dailog

    这篇文章主要为大家详细介绍了Android用PopupWindow实现自定义Dailog的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • android中ProgressDialog与ProgressBar的使用详解

    android中ProgressDialog与ProgressBar的使用详解

    本篇文章是对android中ProgressDialog与ProgressBar的使用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Android 仿今日头条简单的刷新效果实例代码

    Android 仿今日头条简单的刷新效果实例代码

    这篇文章主要介绍了Android 仿今日头条简单的刷新效果实例代码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • android仿QQ个人主页下拉回弹效果

    android仿QQ个人主页下拉回弹效果

    这篇文章主要为大家详细介绍了android仿QQ个人主页下拉回弹效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02

最新评论