阅读更多
摘要:作为Android系统的一次重大升级,Android 5.0 Lollipop采用全新的Material Design语言,不但在视觉和操作上更胜一筹,还包含扩展UI工具包,更引入了大量新的API,本文着重介绍了其中最值得开发者深爱的12款API。
作为Android系统的一次重大升级,Android 5.0 Lollipop突出采用全新的Material Design设计语言,不但在视觉和操作上更胜一筹,还包含扩展UI工具包供开发者使用,为应用添加3D实时阴影,可缩放矢量“drawbles”以及流畅的动画效果。本文着重介绍了其中值得开发者深爱的12款API,赶紧一睹为快吧!



  • 3D视图和实时阴影

Android 5.0的elevation属性能为应用添加了妙不可言的3D视图效果。开发者只需对应用的图像对象重新设定elevation,图像下的实时阴影就会自动显现,打造出一种漂浮在屏幕之上的奇妙画面。此外,还可以用setTranslationZ函数来设定elevation,例如view.setTranslationZ(120)。或用ViewPropertyAnimator.z() 和ViewPropertyAnimator.translationZ()函数来使elevation灵动起来,从而让应用脱颖而出。



  • Activity Transitions

这个名为Activity Transitions的API让Lollipop应用有了更好的切换体验。开发者可通过寻找视图ID以及创建Intent和Bundle来定义不同Activity之间的动画切换,再启动Activity(startActivity()函数)就大功告成了。



  • Heads-up

Android 5.0通知中心的亮点在于名为 “Heads-up”的创新通知模式及其卡片式的清新风格,用户不必退出当前的全屏界面,即可启动或关闭漂浮在屏幕上方的提醒。比如通过设置Heads-up将来电提醒显示在文字屏幕(《爱丽丝梦游仙境》节选)的顶部。



在Android 5.0 Lollipop的锁屏上,用户无需下拉通知栏就能够查看新消息并进一步操作,还能将个别信息标记为隐私等等,功能强大。
  • Leanback UI和Android TV输入框架

Android 5.0创新引入了Android TV的Leanback UI,大大满足了开发Android TV应用的需求。



上面的代码显示的是如何在Android 5.0的应用清单中添加LEANBACK_LAUNCHER意图过滤器,让应用的Leanback UI跟Android TV严丝合缝。Android 5.0自带Leanback等程序库,Android TV输入框架和aka TIF(帮助TV应用处理来自HDMI 输入、电视调谐器和 IPTV 接收器的视频流)框架,在精简代码的同时,让应用UI与Android设备完美融合。

  • Overview

Android 5.0 棒棒糖的“Overview(概览)”是传统多任务视窗的升级版,全新的UI呈现卡片重叠的即视感,清新又简洁。用户不仅可以在不同应用之间移动自如,还能在用一个应用的不同任务之间流畅切换,好不惬意。

虽然不能决定Overview界面的整体效果,但通过编写Intent,开发者能自行定义应用向Overview添加或从中删除时的视觉体验。

  • 低功耗蓝牙

Android 5.0新开放的API可以让应用与低功耗蓝牙(BLE,Bluetooth Low Energy)的扫描(中心模式)和广告(外围模式)实现并行操作。低功耗蓝牙在保证应用性能和功能的同时降低了电量消耗,近些年来越来越受到健康&健身类应用的青睐。



  • OpenGL ES 3.1和Android扩展包

OpenGL ES 3.1和Android扩展包为Android 5.0开发者们提供高性能的2D和3D图像API,包括计算着色器、模板纹理、加速视觉效果、高级纹理渲染、Tessellation着色器、几何着色器、ASTC纹理压缩、样本缺失值插补和着色等强大功能,能够适用于不同品牌的图形处理器。

  • MediaBrowser和MediaSession

android.media.browse API 能让Android 5.0应用在运行过程中浏览其他应用的媒体内容库。MediaBrowserService代码能使内容显示在原应用上。总而言之,此API旨在实现不同应用间更好的融合——在视觉上呈现同样的用户界面,在操作上免除重复的麻烦。



除此之外,上图所示的MediaSession代替已被弃用的RemoteControlClient,提供一组传输控制和Media Button的回调函数。

  • 低延迟音频输入

Android多媒体框架支持多种多样常规音频格式的捕捉和编码,让音频和应用轻而易举合二为一。若设备硬件支持的话,可以用Media-Recorder API来记录音频。在读取数据后,全新的音频捕捉设计就能流畅地完成任务了。高速客户端采用本地取样频率、通道数和位深度;普通客户端具备重新采样、上/下行通道混合以及上/下位深度的特点。



  • 兼容RAW图像格式的New Camera API

RAW格式以更高动态范围,更少人工痕迹,更多后期制作选择的优势略胜JPEG格式一筹,深受专业摄影师的青睐。如今迎来了Android 5.0棒棒糖时代,Android相机也能拍出RAW格式的图片了。



上面的代码段主要是如何捕捉Android相机的JPEG格式图片。CameraDevice的前身,即新的Camera2能兼容RAW_SENSOR图片格式,还能编写Adobe DNG(数字底片)格式的RAW像素数据。

  • 管理配置过程

传统上Android的安全性显然不及黑莓和iOS,而如今Android终于扭转乾坤。开发者可借助Android 5.0全新的管理配置过程在设备上创建安全的工作文件夹,而应用开始运行时会有一个“Work”标记,IT管理员负会责管理Work应用以及工作文件夹中的数据。



此外,在配置之前,开发者还可用编程应用的NFC数据传送进一步部署和激活一个Device Owner。Device Owner应用可借助DevicePolicyManager中的函数来实现管理设备中格局,安全以及应用的粒度控制。

  • 截屏和分享

在Android 5.0 Lollipop之前,似乎没有哪个版本能够实现便利截图,我们曾试图借助SDK和调试器来截图,但由于必要的设备驱动程序难以定位,往往会产生更多的问题。另外一个方法是安装第三方截图应用,但必须要root设备。



现在大多数Android设备的UI支持至少不止一种截图功能。比如在Moto X上,同时按下电源开关和下切换键就可以截屏了。现在,Android 5.0应用可以自行捕捉屏幕,首先用参数MEDIA_-PROJECTION_SERVICE调用Context.getSystemService(),得到MediaProjectionManager类别实例;其次,调用createScreenCaptureIntent ()得到一个Intent;再次,使用startActivityForResult()启动屏幕捕捉;最后,将结果返回到getMediaProjection()上,获取捕捉数据。
  • 大小: 39.4 KB
  • 大小: 28.1 KB
  • 大小: 25.4 KB
  • 大小: 47.2 KB
  • 大小: 32.5 KB
  • 大小: 43.3 KB
  • 大小: 28.4 KB
  • 大小: 31.5 KB
  • 大小: 59.5 KB
  • 大小: 37.2 KB
  • 大小: 43.5 KB
来自: CSDN
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • div、p、span标签如何做到首行缩进两个字符

    DIV、P标签首行缩进 <div style="text-indent:2em;">缩进的内容</div> <p style="text-indent:2em;">缩进的内容</p> span标签首航缩进 <span style="display:block;text-indent:2em;">缩进的

  • 设置p标签,span等标签首行缩进

    可以通过属性 text-indent: 30px; 设置首行缩进 也可以通过设置 padding-left: 20px 来大致实现

  • span、a标签之间的换行空白问题

    我们平时在写行内元素时,经常会不小心换行写个空格啥的,然后就会惊奇的发现浏览器中居然有空格。<span>第一个span标签</span> <span>第二个span标签</span>效果是这样的:<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> s

  • span之间的空隙怎样解决?

    span之间的空隙怎样解决?一、问题描述二、分析原因三、解决办法1、使用float:left2、使用margin-right3、使用letter-spacing 属性和word-spacing属性 一、问题描述 今天做项目的时候用到了一些列span来做一个标题栏如图 但是做的过程中遇到了一点问题,先看看有问题的代码 &lt;table border="" cellspacing="0" cellpadding="0" id="list"&gt; &lt;div class="th"&gt; &lt;

  • 在span中添加连续空格

    在span文字中直接添加连续空格会被默认显示为一个空格,可以使用&amp;nbsp添加连续空格而不会被默认吞没

  • 用span实现空格的精确设定 空格

    做登录界面的时候,要用到类似 的格式,所以会遇到三个字“用户名”和两个字“密码”对齐的问题,表面上看,只需要在“密”和“码”之间加几个空格就可以了。但是对不同的浏览器,比如IE和Google浏览器,显示出的空格的大小就不同,这样,在一个浏览器中对得很齐的空格,到另一个浏览器中看,就可能错位,从而引起后面的输入框错位;而且对于不同的字体大小,想对齐“用户名”这三个字,加的空格数量也不相

  • Html div和span详解

    div和span的区别 div: div是一个块级元素,可以包含段落,表格等内容,用于放置不同的内容。一般我们在网页通过div来布局定位网页中的每个区块。 Span:span是一个内联元素,没有实际意义,它的存在纯粹是为了应用样式,给一段内容加上&lt;span&gt;&lt;/span&gt;标记可以通过在span上定义样式来设定其内容的样式。 div和span元素最大的特点是默认都没有对元素内的对象进行任何格式化渲染。主要用于应用样式表。 比如:代码: &lt;html&gt; &lt;.

  • 解决span标签自带空格问题

    最近在写前端页面时发现这样一个问题 : 用标签包裹的字符会在生成HTML页面以后自动在字符前后加上空格,例如: &lt;div class="content apply" v-show="detailInfo.type=='3'"&gt; &lt;span v-if="detailInfo.intStatus==3||detailInfo.intStatus==4"&gt; ...

  • html页面段首空两格问题

    在页面里编辑文章时遇到了一个问题。一篇中文的文章,要求段首要空两格。我当时用的是chrome做的调试,每段前面加了两个&nbsp;可以达到想要的效果,但是放到firefox里面就变成段首空一格了。因为不同浏览器默认的字体是不一样的,不同字体下的空格表示&nbsp;占位大小不一致。目前发现有两种方法。   第一种,经过测试,当指定Times New Roman字体时,各浏览器都支持良好,每4个&n

  • CSS中span元素与text-indent(段落缩进)的应用

    &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;title&amp;gt;测试span元素&amp;lt;/title&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; 第一种情况:直接使用text-indent &amp;lt;br /&amp;gt; &amp;lt;span style=&quot;text-indent:2em;&quot;&amp;gt;缩进的内容&amp;l

  • div+CSS实现段落首行缩进两个字符(text-indent标签)

    div+CSS实现段落首行缩进两个字符 段落前面空两个字的距离,不要再使用空格了,用CSS实现段落首缩进两个字符。 应该使用首行缩进text-indent。text-indent可以使得容器内首行缩进一定单位。比如中文段落一般每段前空两个汉字。 在这里我们需要了解一种长度单位em。em是相对长度单位。相对于当前对象内文本的字体尺寸。我们中文段落一般每段前空两个汉字。实际上,就是首行缩进了2e...

  • css中首行缩进

    css中首行缩进两个字用text-indent:2em,其中1em就代表一个汉字的距离

  • span中文本内容有空格会自动换行(某些Android手机)

    今天遇到一个坑,测试给我说出现了适配问题,手机型号为华为(HUAWEI C8817E )和 HTC的某款手机,具体是这样的,一个span,没有设置宽度,float:right,为什么会换行啊,其他的比它长都没换,为啥? 后来看了下,和其他唯一的区别是内容多了一个空格,然后我把空格删掉,确实好了! 于是自己又给他添加了些样式,设置了足够的宽度,text-align:rig

  • HTML正文首行缩进2字符

    HTML正文首行缩进2字符 &lt;style type="text/css"&gt;.text{text-indent:2em;}&lt;/style&gt; 引用text使首行缩进2个字符 举例: &lt;div class="text"&gt; &lt;br&gt; &lt;div align="justify"&gt; &lt;span class="STYLE28...

  • 如何解决span元素中间的空格间隙

    初学html、css的同学是不是遇到过这样一个问题?一对好朋友(两个span元素)之间总是存在间隙。就像下图那样: 一一对不快乐的 span,因为他们中间有了间隙 当我们给span元素添加了内容时,两个相邻的span元素的文字之间有一个间隙,这个间隙其实是一个空格。 那这个空格时怎么来的呢? 首先先来看看我们平时的代码书写习惯吧 &lt;body&gt; &lt;p&gt; &lt;span&gt;舒克&lt;/span&gt; &lt;span&gt;贝塔&lt;/span&gt; &l

  • CSS代码(五):一种段落首行缩进字符的解决办法

    在HTML电子邮件的群发中,需要按照中文排版风格自动缩进两字符,很自然就想到了利用空格与CSS伪类的content属性,如下:p:before { content : "\20\20"; } /*第一个段落不缩进*/ p:first-child:before { content : ""; }但很遗憾,经过测试发现,竟然一个空格都没有,在其他同学的提示下,使用”\A0”进行代替。经过

Global site tag (gtag.js) - Google Analytics