android的分屏代码,Android-7.0 分屏体验,代码上手初见

Android-7(API24)前几天风风火火发布,小的里面下载最新的体验一把,当然是模拟器了,说实话然并卵。下面是小的录的gif先睹为快吧。

3717f4c31fca8462fd18efa08862ec2b.gif

实现分屏,还是蛮简单的,代码层,当然底层实现暂未研究,不过真心不知道在这小小的手机上分屏有什么用处,好了废话不说了现在就是撸一把。

要实现分屏只要在AndroidManifest.xml定义一个属性就行,默认是支持分屏的

复制代码

是不是很简单呢,是你想的简单了,这样变化后什么周期呢?

// 启动时添加Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT这个flags,就可以把Activity启动到另一个分屏中

Intent intent = new Intent(this, AdjacentActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT | Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent);

复制代码

不支持分屏,没有设置 Intent.FLAG_ACTIVITY_NEW_TASK直接启动到当前分屏中

设置了 Intent.FLAG_ACTIVITY_NEW_TASK,取消分屏,全部显示

新的api中添加了下面的回到,通知分屏变化

// 当屏幕变化是回调

@Override

public void onMultiWindowModeChanged(boolean isInMultiWindowMode) {

super.onMultiWindowModeChanged(isInMultiWindowMode);

Log.i(TAG, "****** onMultiWindowModeChanged() ******");

}

复制代码

Activity的分屏变化还是和原来差不多,可以看成是Activity 的切换(下文log,为了好看去掉了时间)

长按菜单键(通常是方快建)进入分屏状态

com.mz.android_7.MainActivity****** onMultiWindowModeChanged() ******

com.mz.android_7.MainActivity****** onPause() ******

com.mz.android_7.MainActivity****** onStop() ******

com.mz.android_7.MainActivity****** onDestroy() ******

com.mz.android_7.MainActivity****** onCreate() ******

com.mz.android_7.MainActivity****** onStart() ******

com.mz.android_7.MainActivity****** onResume() ******

com.mz.android_7.MainActivity****** onPause() ******

// // Activity销毁重建,此时当前Activity进入到pause状态,不在有焦点

复制代码

点击当前分屏

com.mz.android_7.MainActivity****** onResume() ******

// 进入到resume状态

复制代码

点击另一分屏

com.mz.android_7.MainActivity****** onPause() ******

// 再次进入到pause状态,如果不进行其他操作,来回点击,两个状态来回切换

复制代码

退出分屏

com.mz.android_7.MainActivity****** onPause() ******

com.mz.android_7.MainActivity****** onStop() ******

com.mz.android_7.MainActivity****** onDestroy() ******

com.mz.android_7.MainActivity****** onCreate() ******

com.mz.android_7.MainActivity****** onStart() ******

com.mz.android_7.MainActivity****** onResume() ******

com.mz.android_7.MainActivity****** onMultiWindowModeChanged() ******

// Activity销毁重建,进入resume状态,分屏退出

复制代码

Android-7的分屏在我看来没什么用处,但是本质是提高了用户的体验,当然是在运行流畅的前提下。它的本质还是同一时刻只有一个Activity处于resume状态,所以并没有太高深的东西,只是对于生命周期的理解要加强。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值