vue tutorial plus permission español bar actionbar android ios camera nativescript

android - tutorial - NativeScript: vista de cámara personalizada



nativescript tutorial español (2)

El Placeholder permite agregar cualquier widget nativo a su aplicación. Para hacerlo, debe colocar un marcador de posición en algún lugar de la jerarquía de la interfaz de usuario y luego crear y configurar el widget nativo que desea que aparezca allí. Finalmente, pase su widget nativo a los argumentos de evento del evento creatingView.

NativeScript no tiene una vista de superficie y necesitas usar el marcador de posición en la parte superior del complemento de la cámara.

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

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

Estoy trabajando en una aplicación iOS y Android con una vista de cámara personalizada (por eso no usaré el módulo de cámara http://docs.nativescript.org/ApiReference/camera/README )

Necesito tener mi propia interfaz de usuario por encima de la vista previa de la cámara.

¿Puedo hacer esto con Nativescript?

No pude encontrar ningún módulo / plugin con esta característica. ¿Es esto difícil escribir mi propio módulo?


Utilice la vista de superficie en layout.xml

<SurfaceView android:id="@+id/surfaceview" android:layout_centerHorizontal="true" android:layout_width="350dp" android:layout_height="260dp" />

usar el siguiente código en la clase de actividad

SurfaceView surfaceView; CameraSource cameraSource; final TextRecognizer textRecognizer = new TextRecognizer.Builder(getApplicationContext()).build(); cameraSource = new CameraSource.Builder(getApplicationContext(), textRecognizer) .setFacing(CameraSource.CAMERA_FACING_BACK) .setAutoFocusEnabled(true) .build(); surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder surfaceHolder) { try { cameraSource.start(surfaceView.getHolder()); } catch (IOException e) { e.printStackTrace(); } } @Override public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) { } @Override public void surfaceDestroyed(SurfaceHolder surfaceHolder) { cameraSource.stop(); } }); textRecognizer.setProcessor(new Detector.Processor<TextBlock>() { @Override public void release() { }