1 / 18
文档名称:

Android Camera做全屏预览之最简单方法.doc

格式:doc   大小:1,625KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Android Camera做全屏预览之最简单方法.doc

上传人:xunlai783 2019/5/25 文件大小:1.59 MB

下载得到文件列表

Android Camera做全屏预览之最简单方法.doc

文档介绍

文档介绍:M厂开发五部:刘博一、全屏预览与非全屏预览的区别对于大多数人来说,我们看电影、玩游戏等都喜欢全屏,我们之所以喜欢全屏的一个主要原因就是全屏的感觉比非全屏看起来的感觉爽,因为画面看起来变大了,有些微小的东西也能够看清楚了。即使有时候不能够去全屏欣赏,我们也会尽量去把画面调到最大化去享受。20世纪80年代到20世纪末,绝大部分人的生活质量都不怎么好,他们看电视都使用的是屏幕25寸以下的黑白电视机或画面不怎么好的彩色电视机,甚至有的家庭都没有电视机。但是随着社会的发展,科技的进步,人们为了追求好的生活质量,我们可以看到当今社会大部分家庭所使用的电视机都是超大屏幕的,屏幕尺寸大到50寸以上,并且流行的电视机都是超大屏幕。因为消费者意识到屏幕大可以带给他们宽阔美好的视觉感。那么我们手机的Camera做全屏预览是否也是因为上述的原因呢?今天,智能手机深受广大消费者的喜爱,尤其是对于年轻的消费者。Camera是智能手机的亮点之一,Camera做成全屏预览就能够给手机增加亮点。所谓Camera的全屏预览就是Camera的预览界面占据手机的整个屏幕,否则,就是非全屏预览。首先看一下下面两张图片所示的效果:图1:非全屏预览界面图2:全屏预览界面图1和图2分别是非全屏预览Camera和全屏预览Camera去预览同一个界面所显示的不同效果,它们的不同点就在于非全屏预览比全屏预览显示的预览界面小。具体体现在图1和图2的最右侧,非全屏预览图片最右侧看不到Camera的预览界面,而全屏预览图片整个屏幕都可以看得到Camera的预览界面。那么Camera用非全屏预览和全屏预览拍摄出来的照片有区别吗?答案是肯定的,继续使用图1和图2中的预览界面,用非全屏预览和全屏预览拍摄出来的照片如下:图3:非全屏预览拍摄的照片图4:全屏预览拍摄的照片图3和图4分别展示的是用Camera非全屏预览和全屏预览拍摄出来的照片,我们明显可以看出非全屏预览拍摄的照片比全屏预览拍摄的照片短一点。同一个取景画面,同一个手机,唯一不同的就是手机的Camera一个是非全屏预览,一个是全屏预览,这也就是为什么两张照片大小不一样的原因之所在。二、全屏预览与非全屏预览的本质差异解析以我们OPPO的11071手机为例,手机的屏幕大小是:480x320。如果我们要去做全屏预览,那么我们至少要保证预览界面的长度大于等于480px,宽度大于等于320px;如果我们不做全屏预览,那么预览界面的长度或者宽度至少有一个是小于手机的对应长度或宽度,我们手机的预览界面实际上是有一部分没有去预览,默认为黑色显示。图5:全屏预览数据图图6:非全屏预览数据图图5表示的效果是一个Camera全屏预览的预览数据图,手机的整个屏幕都会显示预览数据。也就是说,假如手机屏幕上没有任何图标的话,用户可以看到整个手机屏幕都显示的是预览的界面,可以参考图4,它的预览是占满整个手机屏幕的,本质上Camera的预览效果就是图4那样,所以它拍摄出来的照片才会像图4那样。然而图6则显示的是一个Camera非全屏预览的预览数据图,手机屏幕的左侧大部分会显示预览数据,但手机屏幕右侧的小部分显示的是黑色。为什么会这样呢?因为那些黑色的部分是没有预览数据的,所以才会显示黑色。图7非全屏预览数据显示效果图7显示的就是一个屏幕480x320的Camera非全屏预览图,图的右侧显示的黑色。但是可能一个最大的疑问是我们在使用Camera的时候,为什么我们没有看到它显示出来黑色?和图1作对比,如果我们把图1上面的所有按钮UI效果去掉,那么图1的显示效果就和图7一模一样了。可能还有一个疑问是我们既然预览的时候屏幕上有一部分显示的是黑色,为什么我们拍摄出来的照片不显示那些黑色的部分,而是像图3那样?原因很简单,那是因为生成照片是按照预览的数据来生成的,而不是按照手机屏幕的大小去生成照片,因为有预览数据的只是图7中非黑色部分,黑色的那部分没有预览数据,所以生成的照片就不会有黑色那部分。三、如何去做全屏预览?如何去做全屏预览呢?:layout_width属性和android:layout_height属性设置成“match_parent”不就可以了吗?:<?xmlversion=""encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas./apk/res/android" xmlns:camera="http://schemas./apk/." android:id="@+id/camera" android:orientation="horizontal"