NativeScript:自定义相机视图

时间:2016-02-25 13:30:57

标签: android ios camera nativescript

我正在使用自定义相机视图处理iOS和Android应用程序(这就是为什么我不使用相机模块http://docs.nativescript.org/ApiReference/camera/README

我需要在相机预览上方拥有自己的UI。

我可以使用Nativescript执行此操作吗?

我找不到任何具有此功能的模块/插件。 编写我自己的模块难吗?

2 个答案:

答案 0 :(得分:0)

Placeholder允许您将任何本机窗口小部件添加到您的应用程序。为此,您需要在UI层次结构中的某个位置放置一个占位符,然后创建并配置要显示在其中的本机窗口小部件。最后,将您的本机窗口小部件传递给createdView事件的事件参数。

NativeScript没有表面视图,您需要在相机插件的顶部使用占位符。

<Placeholder (creatingView)="creatingView($event)"></Placeholder>

public creatingView(args: any) { var nativeView = new android.view.SurfaceView(application.android.currentContext); args.view = nativeView; }

答案 1 :(得分:0)

我不完全了解您的情况,但是我有一个应用程序中有一个条形码扫描仪(它像您所问的那样使用自定义相机视图?)中想要拥有的是激光束线相机视口的中间是这样:

<GridLayout>
  <YourCameraView />

   <StackLayout id="laser"></StackLayout>
</GridLayout>

这使您可以将laser放在YourCameraView元素的顶部,并且可以使用laservertical-align CSS属性将horizontal-align元素定位。

如果您想获得更大的自由度,请用GridLayout替换AbsoluteLayout,这样就可以使用laser和{{ 1}} CSS属性。