请选择 进入手机版 | 继续访问电脑版

7.0 多窗口

2018-11-9 09:33
360
项目地址:GitHub - googlesamples/android-MultiWindowPlayground
API说明:https://developer.android.com/about/versions/nougat/android-7.0.html#multi-window_support
  1. [/code] android:taskAffinity=""  affinity的值为空,确保每个页面被访问时进入一个分离的任务栈。
  2.   -------[b]判断是否处于多窗口模式下[/b]
  3. 在7.0的Activity.java中多了一个方法:
  4. [code]
复制代码
isInMultiWindowMode是native方法,mToken是IBinder的一个实例,mToken是在attach方法中传入。
attatch为一个final,protected方法。我们常用的倒是onAttachedToWindow,onAttachFragment。想来都是差不多,view附着到window上的方法。
------- 一个不可改变尺寸的activity(默认为全屏幕)
  1. [/code]注意,在启动该页面是,需要intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);否则android:resizeableActivity的值将会从根页面继承(这里默认标记为不可修改)
  2. 当一个app不支持分屏,另外支持的时候:
  3. 7.0 多窗口-1.png
  4. ------- [b]一个拥有默认宽高大小的activity[/b]
  5. 一:
  6. [code]
复制代码
二:     
  1. [/code]
  2. ------- [b]多窗口模式下 在相邻的窗口开启一个activity[/b]
  3. [code]
复制代码
如有可能,毗邻于当前焦点页面开启另外一个。注意该标记之于系统仅为提示且可能被忽略。例如:
如果将要开启的页面和当前页面在相同栈中,则会在前一个页面的栈顶显示。这也就是FLAG_ACTIVITY_NEW_TASK被指定的缘故,开启一个新栈。

------- 开启一个通用配置参数的activity

  1. [/code]配置改变的回调在onConfigurationChanged中被接收
  2. @Override
  3. [code]
复制代码
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翁笔

© 2001-2018 Wengbi.com

返回顶部