Кастомная раскладка в nativescript камере плюс на андроиде вообще не видна - PullRequest
0 голосов
/ 08 марта 2019

Я использую nativescript-camera-plus для пользовательского макета. Сначала я попробовал иконки по умолчанию, которые работали нормально, но когда я поместил пользовательскую сетку в кулачок, она не была видна.

Я сделал все значки видимыми для false, когда проверял, но теперь я просто добавил общий код, чтобы показать, где я сталкиваюсь с проблемой.

<Cam:CameraPlus id="camPlus" loaded="camLoaded" height="{{ cameraHeight }}" galleryPickerMode="multiple" enableVideo="true" confirmVideo="false" saveToGallery="true" showCaptureIcon="false" showGalleryIcon="false" showToggleIcon="false" showFlashIcon="false" confirmPhotos="true" flashOffIcon="icon" autoSquareCrop="true" insetButtons="true" insetButtonsPercent="0.02" imagesSelectedEvent="{{ imagesSelectedBinding }}" debug="true">
    <GridLayout rows="auto, *, auto" columns="auto, *, auto"><Button row="0" col="0" text="Flash" class="btn-transparent" tap="{{ toggleFlash }}" /><Button row="0" col="2" text="Camera" class="btn-transparent" tap="{{ toggleCamera }}" /><Image row="1" col="1" horizontalAlignment="center" verticalAlignment="center" src="https://img.clipartfest.com/4ec5e2315cea92482da5546e1e7fca89_-pinterest-cute-clipart-snowman-clipart-transparent-background_300-300.png" stretch="none" /><Button row="2" col="0" text="Gallery" class="btn-transparent" tap="{{ openGallery }}" /><Button row="2" col="2" text="Take" class="btn-transparent" tap="{{ takePic }}" /></GridLayout>
  </Cam:CameraPlus>

1 Ответ

0 голосов
/ 14 марта 2019

Я думаю, это ошибка самого плагина.Вот обходной путь,

XML

<Cam:CameraPlus id="camPlus" loaded="camLoaded" height="{{ cameraHeight }}">
                <GridLayout id="overlay" rows="auto, *, auto" columns="auto, *, auto">
                    <Button row="0" col="0" text="Flash" class="btn-transparent" tap="{{ toggleFlash }}" />
                    <Button row="0" col="2" text="Camera" class="btn-transparent" tap="{{ toggleCamera }}" />
                    <Image row="1" col="1" horizontalAlignment="center" verticalAlignment="center" src="https://img.clipartfest.com/4ec5e2315cea92482da5546e1e7fca89_-pinterest-cute-clipart-snowman-clipart-transparent-background_300-300.png" stretch="none" />
                    <Button row="2" col="0" text="Gallery" class="btn-transparent" tap="{{ openGallery }}" />
                    <Button row="2" col="2" text="Take" class="btn-transparent" tap="{{ takePic }}" />
                </GridLayout>
            </Cam:CameraPlus>

JS

function camLoaded(args) {
    const parentView = args.object.nativeView;
    const overlayView = args.object.page.getViewById("overlay");
    parentView.removeView(overlayView.nativeView);
    overlayView.nativeView.setLayoutParams(new android.widget.RelativeLayout.LayoutParams(android.widget.RelativeLayout.LayoutParams.FILL_PARENT, android.widget.RelativeLayout.LayoutParams.FILL_PARENT));
    parentView.addView(overlayView.nativeView);
}
...