Android N 多窗口的设计

Android从N(7.0)开始正式支持了多窗口(分屏),所谓多窗口,通俗来讲,就是同一时刻,用户可以看到一个以上的应用界面并与之进行交互,这就跟我们平常使用PC的操作系统一样,可以极大地提高操作效率,这对于大屏幕的手持设备来讲更为重要。本文将讲解分屏的架构设计,旨在从一个比较高的角度将原生的分屏原理讲的通俗透彻。因本文不会对一些Android的基础知识展开描述,请自行补足Activity、Wind
摘要由CSDN通过智能技术生成

Android从N(7.0)开始正式支持了多窗口(分屏),所谓多窗口,通俗来讲,就是同一时刻,用户可以看到一个以上的应用界面并与之进行交互,这就跟我们平常使用PC的操作系统一样,可以极大地提高操作效率,这对于大屏幕的手持设备来讲更为重要。

本文将讲解分屏的架构设计,旨在从一个比较高的角度将原生的分屏原理讲的通俗透彻。因本文不会对一些Android的基础知识展开描述,请自行补足Activity、Window、Task等概念,另外对于分屏相关的APK开发文档,请参考官方网站。


分屏的交互

要理解分屏的设计,首先要清楚它的交互(这个功能要做成什么样),主要的交互如下:

  1. 只有可分屏的应用才能进入分屏模式,假设A和B是可以分屏的两个应用
  2. 对于A和B,可通过在多任务中拖动其到上半屏进入分屏模式
  3. 下半屏可通过点击另一个分屏应用进入
  4. 对于A或B,切换到应用内的另一个界面,依然是分屏模式
  5. 假设A跟B已经分屏,按Home键退出后,点击可分屏的C应用,此时将是A和C分属上下屏
  6. 拖动中间的调节杠可以调整上下屏的大小

综上,我们大概可以得出如下基本结论:

  1. 应用可以向系统表达自己是否支持分屏,若支持则必须遵循一些规则
  2. 系统要标识分屏应用在屏幕上的位置及尺寸
  3. 分屏应用的位置和尺寸要能动态改变
  4. 系统应该为应用尺寸的改变提供必要的支持,以支撑其绘制出适配新尺寸的UI

关于第1点,相当于界定责任方。因为不管系统以什么样的方式来实现分屏,势必要求应用根据规则做一些适配,而应用当然可以选择不遵循,那么系统也就不提供其进入分屏的机会;而一旦应用声明支持分屏,就必须进行适配并遵守规则。因此这点只是进入分屏的一个限定条件,跟具体的实现无关,不做过多讨论,接下来只讨论后面几点。


Android对界面的抽象

在接下来的分析之前,我们必须先了解Android如何抽象界面的管理,Android自诞生以来基本都维持了一样的管理方式,任何界面相关的特性必然都建立在这套基础之上,抽象出主干的东西有助于我们更好地理解问题。

对应用开发者来说,最熟悉的莫过于Activity,Activity就是界面最小的抽象单位(但可以不显示)&#

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值