Android 实例实现自定义Camera和前后置摄像头切换以及图片缩小放大预览

上传者: a123demi | 上传时间: 2019-12-21 18:44:22 | 文件大小: 1.44MB | 文件类型: zip
而本博文将通过实例实现自定义Camera的功效。具体功能如下: 1.实现自定义Camera拍照; 2.实现前后置摄像头的切换; 3.实现Camera拍照后图片缩小显示以及正常预览; 4.实现Camera拍照后图片保存; 在具体实现代码之前,我们先来了解一下Android api对实现自定义Camera的介绍。 根据api的介绍,对于Camera应用可以简单总结以下几个步骤。 1.检查Camera是否存在,并在AndroidManifest.xml中赋予相关的权限; 2.创建一个继承于SurfaceView并实现SurfaceHolder接口的Camera Preview类; 3.在2的基础上新建一个Camera Preview布局文件; 4.设置一个拍照的监听事件,例如单击按钮事件等; 5.实现拍照,并保存拍照后的图片到设备; 6.释放Camera,以方便其他应用可以使用。

文件下载

资源详情

[{"title":"( 54 个子文件 1.44MB ) Android 实例实现自定义Camera和前后置摄像头切换以及图片缩小放大预览","children":[{"title":"CameraSurfaceDemo","children":[{"title":".project <span style='color:#111;'> 853B </span>","children":null,"spread":false},{"title":"project.properties <span style='color:#111;'> 563B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"com","children":[{"title":"example","children":[{"title":"camerasurfacedemo","children":[{"title":"MainActivity.java <span style='color:#111;'> 2.15KB </span>","children":null,"spread":false},{"title":"CameraActivity.java <span style='color:#111;'> 8.40KB </span>","children":null,"spread":false},{"title":"HelpUtil.java <span style='color:#111;'> 2.32KB </span>","children":null,"spread":false},{"title":"PreviewActivity.java <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"AndroidManifest.xml <span style='color:#111;'> 1.27KB </span>","children":null,"spread":false},{"title":"res","children":[{"title":"drawable-ldpi","children":null,"spread":false},{"title":"drawable-hdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 7.48KB </span>","children":null,"spread":false}],"spread":true},{"title":"values-v11","children":[{"title":"styles.xml <span style='color:#111;'> 334B </span>","children":null,"spread":false}],"spread":true},{"title":"menu","children":[{"title":"main.xml <span style='color:#111;'> 379B </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.69KB </span>","children":null,"spread":false}],"spread":true},{"title":"layout","children":[{"title":"activity_camera.xml <span style='color:#111;'> 1.26KB </span>","children":null,"spread":false},{"title":"activity_preview.xml <span style='color:#111;'> 760B </span>","children":null,"spread":false},{"title":"activity_main.xml <span style='color:#111;'> 979B </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 24.20KB </span>","children":null,"spread":false}],"spread":true},{"title":"drawable-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 12.22KB </span>","children":null,"spread":false}],"spread":true},{"title":"values-w820dp","children":[{"title":"dimens.xml <span style='color:#111;'> 381B </span>","children":null,"spread":false}],"spread":false},{"title":"values","children":[{"title":"strings.xml <span style='color:#111;'> 234B </span>","children":null,"spread":false},{"title":"styles.xml <span style='color:#111;'> 697B </span>","children":null,"spread":false},{"title":"dimens.xml <span style='color:#111;'> 220B </span>","children":null,"spread":false}],"spread":false},{"title":"values-v14","children":[{"title":"styles.xml <span style='color:#111;'> 391B </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"assets","children":null,"spread":false},{"title":"gen","children":[{"title":"com","children":[{"title":"example","children":[{"title":"camerasurfacedemo","children":[{"title":"BuildConfig.java <span style='color:#111;'> 171B </span>","children":null,"spread":false},{"title":"R.java <span style='color:#111;'> 3.10KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"libs","children":[{"title":"android-support-v4.jar <span style='color:#111;'> 612.87KB </span>","children":null,"spread":false}],"spread":true},{"title":".classpath <span style='color:#111;'> 475B </span>","children":null,"spread":false},{"title":"proguard-project.txt <span style='color:#111;'> 781B </span>","children":null,"spread":false},{"title":"ic_launcher-web.png <span style='color:#111;'> 50.19KB </span>","children":null,"spread":false},{"title":"bin","children":[{"title":"resources.ap_ <span style='color:#111;'> 41.91KB </span>","children":null,"spread":false},{"title":"classes","children":[{"title":"com","children":[{"title":"example","children":[{"title":"camerasurfacedemo","children":[{"title":"R$layout.class <span style='color:#111;'> 515B </span>","children":null,"spread":false},{"title":"R$style.class <span style='color:#111;'> 464B </span>","children":null,"spread":false},{"title":"R$dimen.class <span style='color:#111;'> 494B </span>","children":null,"spread":false},{"title":"BuildConfig.class <span style='color:#111;'> 367B </span>","children":null,"spread":false},{"title":"R$drawable.class <span style='color:#111;'> 440B </span>","children":null,"spread":false},{"title":"R$attr.class <span style='color:#111;'> 373B </span>","children":null,"spread":false},{"title":"CameraActivity$1.class <span style='color:#111;'> 1.92KB </span>","children":null,"spread":false},{"title":"CameraActivity.class <span style='color:#111;'> 7.97KB </span>","children":null,"spread":false},{"title":"PreviewActivity.class <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"R$id.class <span style='color:#111;'> 709B </span>","children":null,"spread":false},{"title":"HelpUtil.class <span style='color:#111;'> 3.18KB </span>","children":null,"spread":false},{"title":"MainActivity$2.class <span style='color:#111;'> 926B </span>","children":null,"spread":false},{"title":"R.class <span style='color:#111;'> 783B </span>","children":null,"spread":false},{"title":"R$string.class <span style='color:#111;'> 505B </span>","children":null,"spread":false},{"title":"MainActivity$1.class <span style='color:#111;'> 856B </span>","children":null,"spread":false},{"title":"R$menu.class <span style='color:#111;'> 421B </span>","children":null,"spread":false},{"title":"MainActivity.class <span style='color:#111;'> 3.25KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":true},{"title":"AndroidManifest.xml <span style='color:#111;'> 1.27KB </span>","children":null,"spread":false},{"title":"dexedLibs","children":[{"title":"android-support-v4-29eb3d2f7fe53b106af54ff2aee7d14a.jar <span style='color:#111;'> 228.94KB </span>","children":null,"spread":false}],"spread":false},{"title":"jarlist.cache <span style='color:#111;'> 120B </span>","children":null,"spread":false},{"title":"res","children":[{"title":"crunch","children":[{"title":"drawable-hdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 5.82KB </span>","children":null,"spread":false}],"spread":false},{"title":"drawable-mdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 3.04KB </span>","children":null,"spread":false}],"spread":false},{"title":"drawable-xxhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 17.47KB </span>","children":null,"spread":false}],"spread":false},{"title":"drawable-xhdpi","children":[{"title":"ic_launcher.png <span style='color:#111;'> 9.14KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":"classes.dex <span style='color:#111;'> 689.11KB </span>","children":null,"spread":false},{"title":"CameraSurfaceDemo.apk <span style='color:#111;'> 279.63KB </span>","children":null,"spread":false}],"spread":true}],"spread":false}],"spread":true}]

评论信息

  • qqsasasda :
    真心 不值50分
    2019-09-06
  • Able_Yan :
    很好用,谢谢楼主分享
    2018-04-30
  • joyxutan :
    值得参考,根据自己的功能进行修改
    2018-03-29
  • endesslove1119 :
    很好用,拿来自己修改了一下
    2017-11-15
  • Mars感知 :
    很好用,谢谢楼主分享。
    2017-09-27

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明