Android 7 强势来袭开发者们不得不知道的细节

来源:互联网 发布:知乎名字可以改吗 编辑:程序博客网 时间:2024/05/16 06:38

前言:

作为开发者,关注新技术是必要的;作为Android开发者关注Google发布的更新是必须的!
今天我们来了解下前段时间已经发布的Android 7的一些新的特性,当然既然已经发布,那么也就是说我们应该尽快让我们的应用支持Android 7的新特性,让我们来看看Android 7有哪些值得关注的点吧!

Google发现,在多任务列表里,99%的人只会关注最近七个,所以Android N会自动移除更老的任务,同时增加了一个清除所有按钮(内存释放控可以满足了),而双击最近按钮会自动将最后一个使用的应用调到前台。
同时,分屏多任务、拖拽也加入进来。
通知同样得到了大幅改进,可以直接回复消息,长按通知可将其静音或者拦截。

我们就列举一下几个比较关注的点来讲解:

1、分屏多任务
其实国内已经有很多手机上面实现了分屏显示,但是这次google把分屏给标准化了:

Android 7.0预览版中增加了分屏多任务,这一功能同时适用于手机和平板电脑设备。另外谷歌也增加了“画中画”功能,与iOS 9类似。谷歌重新优化了这个功能,而它可以同时在平板和手机上使用,至于在屏幕的显示比例上,用户可以自行调整,另外谷歌还加入了全新的“画中画”模式,其允许用户将一个窗口缩放在角落,以方便同时浏览其它的应用界面,这跟iOS 9上的展现方式基本一致。


让我们自己的应用支持分屏多任务模式,只要设置一个参数就行了,不过这个得在7.0的sdk下,不然会报错的:

//在清单文件的Application或者Activity添加android:resizeableActivity="true"
不想分享屏幕就讲参数设置为:false即可
多窗口的其他配置:
<activity android:name=".MainActivity">   <layout         android:defaultHeight="500dp"         android:defaultWidth="500dp"         android:gravity="bottom|end"         android:minimalHeight="200dp"         android:minimalWidth="200dp"/></activity>
这个layout标签的属性意义:
1.android:defaultHeight 配置多窗口模式下默认的高度。
2.android:defaultWidth 配置多窗口模式下默认的宽度。
3.android:gravity 配置activityde 初始位置
4.android:minimalHeight 最小高度
5.android:minimalWidth 最小宽度

看看多窗口模式下生命周期:


其他的方法都比较熟悉的,onMultiWindowModeChanged是多窗口新增的,当进入和退出多窗口模式会调用;isInMultiWindowMode()可以判断当前是否处于多窗口模式下,进入多窗口模式调用顺序是这样的:

D/MainActivity: onMultiWindowModeChanged:trueD/MainActivity: isInMultiWindowMode:trueD/MainActivity: onPauseD/MainActivity: onSaveInstanceStateD/MainActivity: onStopD/MainActivity: onDestoryD/MainActivity: onCreateD/MainActivity: onStartD/MainActivity: onRestoreInstanceStateD/MainActivity: onResumeD/MainActivity: onPause
在调用前面两个方法后,我们的Activity会销毁然后重新创建,所以有需要保存数据的一些操作,务必要做处理。
退出多窗口模式:
D/MainActivity: onSaveInstanceStateD/MainActivity: onStopD/MainActivity: onDestoryD/MainActivity: onCreateD/MainActivity: onStartD/MainActivity: onRestoreInstanceStateD/MainActivity: onResumeD/MainActivity: onPauseD/MainActivity: onMultiWindowModeChanged:falseD/MainActivity: isInMultiWindowMode:falseD/MainActivity: onResume
在我们视频暂停和播放的时候这种操作,放到onStart和onPause中,因为:


2、新设计的通知控制栏


3、Data Saver功能节省流量

其主要用于数据保护,特别是App在后台偷跑流量的情况。


4、跨Activity拖拽

在Android 4.0已经支持Activity中内容拖拽,如今支持的是跨actvity内容(对View的跨Activity拖拽是不支持的仅限于内容)拖拽:
假如我们在MainActivity有一个TextView,上面的内容是Android 7,将Android 7这段文字拖拽到T2Activity中的Button上:
MainAcitivyt:

TextView tv = (TextView)findViewById(R.id.textveiw);tv.setOnLongClickListener(new View.OnLongClickListener(){        @Override         public boolean onLongClick(View view){                ClipData data = ClipData.newPlainText(view.getClass().getName(),((Button)view).getText());                View.DragShadowBuilder builder = new View.DragshadowBuilder(view);                view.startDragAndDrop(data,builder,view,View.DRAG_FLAG_GLOBAL);                return true;         }});
设置长按监听,View.DRAG_FLAGE_GLOBAL:可以跨Activity拖拽。

T2Activity:

final Button button = (Button)findViewById(R.id.button);findViewById(R.id.container).setOnDragListener(new View.OnDragListener(){   @Override   public boolean onDrag(View view,DragEvent dragEvent){  switch(DragEvent getAction()){  case DragEvent.ACTION_DRAG_STARTED:  prntLog("darg satrted");      break;  case DragEnent.ACTION_DARG_ENTERED:  prntLog("drag entered");      break;  case DragEnent ACTION_DROP:  ClipData.Item item = dragEvent.getClipData().getItemAt(0);  content.setText(item.getText());  break;  case DragEnent.ACTION_DRAG_ENDED;  prnLog("drag enered");      break;  }  return true;   }});

吧获取到的内容设置到控件上即可!


2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 我的月经不完怎么办 游泳时怎么办能浮出水面 游泳时眼镜起雾怎么办 练瑜伽手臂变粗怎么办 孕妇喝了芬达怎么办 宫口开了但头高怎么办 整天坐着肚子越来越大怎么办 坐久了屁股变大怎么办 屁股久坐的黑印怎么办 练瑜伽小腿变粗怎么办 练瑜伽腿粗了怎么办 练完瑜伽腿粗怎么办 肚子大屁股大腿粗怎么办 甲状腺偏大弥漫性欠均匀怎么办 大腿后侧拉伤了怎么办 腰和臀部都疼怎么办 瑜伽后弯后腰疼怎么办? 吃了大蒜肝痛怎么办 练瑜伽前躯不行怎么办 月子里碰冷水了怎么办 月子手碰凉水了怎么办 月子里碰了冷水怎么办 顺产后下面会痛怎么办 产后肚子瘦不下来怎么办 出月子后臀部很疼怎么办 做月子时臀部疼怎么办 月子臀部大腿疼困怎么办 产后抱孩子腰疼怎么办 剖腹产后5年小肚子很大怎么办 压力大工作忙瘦了怎么办? 哺乳乳房一大一小怎么办 哺乳期乳房一大一小怎么办 上班之后奶少了怎么办 出了月子还流恶露怎么办? 剖腹产2年刀疤痒怎么办 刨宫产6天伤口痒怎么办 脸的皮肤油油的怎么办 狗狗子宫蓄脓怎么办 刮宫后子宫壁薄怎么办 产妇有痔疮怎么办很疼 二胎着床在剖腹产切口怎么办