Android N 相关配置

Android N Preview 开发介绍(1)

字数913 阅读240 评论0

Photo from Android.png

2016年3月9号,Android N Preview1发布,带来了一些新的特性,关于特性的介绍有很多资料,我在这里就不详细展开了,可以看Android N介绍视频,其中的Multi-window support和Notifications对之后Android App的设计和开发会带来一些新的尝试,虽然Android N正式发布还需要一段时间,但我们作为Android开发人员也需要提前进行了解,今天就在这里给大家介绍下。

Android N Preview开发环境配置


Develop with Android N Preview.png


Tip:在配置过程中其他都还好,就是将Java7替换到Java8中的时候,发现配置完成Android Studio仍然报错,最后将Java7删除,重启Android Studio解决,可能是Android Studio 2.1的bug。

Multi-window support

背景

多屏分任务的支持,其实这在之前三星平板和Note手机中就已经支持了,不算什么高大上的特性,但Android原生系统支持还是第一次,随着手机屏幕不断扩大,分屏带来效率的提升,也使得这一特性变得让人很期待。

开发
  1. 配置App Multi-Window模式
    在AndroidManifest里新增如下属性:
    <activity     
     android:name=".YourActivity"    
     android:launchMode="singleInstance"    
     android:taskAffinity="">    
    <layout        
     android:defaultHeight="500dp"        
     android:defaultWidth="750dp"        
     android:gravity="top|end"        
     android:minimalSize="500dp" />
    </activity>
提供的属性

android:resizeableActivity=["true" | "false"]
如果设置为true,则该Activity可以在分屏和自由模式(freeform mode)中打开,否则就不能打开,该值默认为true。
android:supportsPictureInPicture=["true" | "false"]
如果设置为true,则该Activity可以在PIP模式中打开,如果android:resizeableActivity=false,则忽略该属性,意思就是哪怕android:supportsPictureInPicture=true,也是无效的。关于PIP模式,在下面会提到。
android:defaultHeight
在自由模式中打开的默认高度
android:defaultWidth
在自由模式中打开的默认宽度
android:gravity
在自由模式中打开的位置
android:minimalSize
在自由模式中打开的最小宽高

提供的方法

Activity.inMultiWindow()
判断该Activity是否支持multi-window模式
Activity.inPictureInPicture()
判断该Activity是否支持picture-in-picture模式,可以认为,Activity.inPictureInPicture()返回true,则Activity.inMultiWindow()也会返回true
Activity.onMultiWindowChanged(boolean inMultiWindow)
如果该Activity进入或者退出multi-window模式,该方法就会被回调,如果进入,则inMultiWindow=true,否则inMultiWindow=false
Activity.onPictureInPictureChanged(boolean inPictureInPicture)
如果该Activity进入或者退出picture-in-picture模式,该方法就会被回调,如果进入,则inPictureInPicture=true,否则inPictureInPicture=false

Picture-in-picture

背景

Picture-in-picture(PIP)模式可以在固定窗口里运行一个视屏Activity,让用户处理多线程,提高效率。

开发
  1. 配置Picture-in-picture模式
    在AndroidManifest里新增如下属性:
    android:supportsPictureInPicture="true"
  2. 切换你的Activity到PIP模式
    Activity.enterPictureInPicture()
  3. 在PIP模式里对UI的处理
    当该Activity进入PIP模式时,可以移除不必要的UI组件,只显示视屏
    @Override
    public void onPictureInPictureChanged(boolean inPictureInPicture) {
     if (inPictureInPicture) {
         // 在进入PIP模式后进行隐藏处理
         ...
     } else {
         // 在退出PIP模式后进行恢复处理
         ...
     }
    }
    `
  4. 在PIP模式中继续进行视屏播放
    进入PIP模式时,系统会认为该Activity处于paused状态,一般而言,在paused状态会暂停视屏的播放,这里就需要PIP模式进行区分处理,在PIP模式中继续播放。
    @Override
    public void onPause() {
     if (inPictureInPicture()) {
         ...
     }
     ...
    }
参考

multi-window
picture-in-picture
Set Up the Preview

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值