首页 > 解决方案 > 如何在 xamarin 表单中自定义 ZXingDefaultOverlay

问题描述

我添加了ZXingDefaultOverlay, 用于扫描视图。

我的代码是

<Forms:ZXingDefaultOverlay Grid.Row="1" BackgroundColor="Transparent"/>

在此处输入图像描述

如上图所示,它在扫描仪视图上添加了黑色蒙版。

我怎样才能避免这种情况?

标签: c#xamarin.forms

解决方案


CustomOverlay通过继承创建来做到这一点ZXingDefaultOverlay

我的代码是

public class CustomOverlay : ZXingDefaultOverlay
    {
        public CustomOverlay()
        {
            foreach (var child in Children.OfType<BoxView>())
            {
                if (child == Children[2])
                {
                    child.BackgroundColor = StatusColorPalette.Success;
                    Margin = new Thickness(50, 0);
                }

                else
                {
                    child.Opacity = 0;
                }
            }
        }
    }

在 Xamal 中使用这个

<Scan:CustomOverlay Grid.Row="1"/>

同样,我们可以自定义叠加层。


推荐阅读