cordova-plugin-camera-preview插件的安装与使用,解决toBack不起作用的问题

开始使用时,toBack设置并非不起作用,设置为true时,相机预览画面确实已经有了,只不过预览框被页面中的其它元素者挡在了后面而已。注意在步骤2与步骤3中的解决方法。

一、插件安装

cordova plugin add cordova-plugin-camera-preview
npm install @ionic-native/camera-preview

二、插件使用

项目使用了ionic 3.x,在3.x与4.x版本中使用略有差别,先介绍ionic3.x中的使用方法。
使用tabs布局,tab-1、 tab2、tab3、tab4.

1. 在tab4中使用插件,在tab4.ts文件中

1) 引入插件
  import { CameraPreview, CameraPreviewOptions } from '@ionic-native/camera-preview';
2) 实例化
construtor(public cameraPreview: CameraPreivew){  ...... }
...
startCam(){
   var options = {
       x:0,
       y:0,
       width: window.screen.width*0.5,
       height: window.screen.height * 0.5,
       camera: this.cameraPreview.CAMERA_DIRECTION.BACK,
       toBack: true,
       tapPhoto: true,
       previewDrag: false
   }
   this.cameraPreview.startCamera(options).then();
}

2. 在src/theme/variables.scss文件最后

$background-color: transparent;

3. 如果仅仅是在tab4页面中使用此插件,而在其它页面不显示,需设置其它(tab1、tab2、tab3)页面的scss文件,使其它页面的背景颜色设置为白色,如tab1.scss

page-tab1{
   background-color: #fff
};

---------- 以上已经可以解决问题了,也可在此基础上进行优化 ---------

前面所述的步骤1、步骤2都不变,步骤3、4如下

3. 在src/app/app.scss文件中

ion-content:not(.background-color-transparent){
   background-color:#fff !important
}

4. 在所需设置相机预览页面的html文件中,设置类名即可

<ion-content class="background-color-transparent" > 
......
<ion-content/>

效果如下:

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐