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; }});
吧获取到的内容设置到控件上即可!
- Android 7 强势来袭开发者们不得不知道的细节
- Apple Pay强势来袭,开发者应做的事情
- Apple Pay强势来袭,开发者应做的事情
- LinkedME|Android移动开发者不得不知道的技术 Deep Linking
- Apple Pay强势来袭,开发者应做的事情 (收藏一波)
- Android反射(Reflect)完全解析--强势来袭
- Android 开发者不得不面对的六个问题
- 熟悉Android开发不得不知道的技巧
- 熟悉Android开发不得不知道的技巧
- Android Studio不得不知道的快捷键
- 超级马里奥强势来袭
- http你不得不知道的那些事(六)--请求响应细节
- http你不得不知道的那些事(九)-缓存细节
- 金融、支付行业的开发者不得不知道的float、double计算误差问题
- Class Loading ---(类装载机制,开发者不得不知道的故事)
- Class Loading ---(类装载机制,开发者不得不知道的故事)
- Class Loading ---(类装载机制,开发者不得不知道的故事)
- LinkedME|iOS移动应用开发者不得不知道的Deep Linking技术
- session
- 二叉树总结
- [Leetcode] 103. Binary Tree Zigzag Level Order Traversal
- poj 2887 Big String 块状链表
- 拨打电话 短信 打开别的app
- Android 7 强势来袭开发者们不得不知道的细节
- python list 的 index() 和 find()
- Java Resource路径小结
- 互联网金融未来的核心在于大数据挖掘
- Java NIO原理图文分析及代码实现
- Android下的Activity的四种启动模式
- 纪念篇
- UIButton知识点回顾
- http中contenttype的理解