我正在使用自定义相机视图处理iOS和Android应用程序(这就是为什么我不使用相机模块http://docs.nativescript.org/ApiReference/camera/README)
我需要在相机预览上方拥有自己的UI。
我可以使用Nativescript执行此操作吗?
我找不到任何具有此功能的模块/插件。 编写我自己的模块难吗?
答案 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
元素的顶部,并且可以使用laser
和vertical-align
CSS属性将horizontal-align
元素定位。
如果您想获得更大的自由度,请用GridLayout
替换AbsoluteLayout
,这样就可以使用laser
和{{ 1}} CSS属性。