C# zxing手电筒未在UI上显示
我正在以Xamarin的形式在我的PCL中使用Zxing条形码扫描仪。问题是UI上未显示手电筒开/关选项。这对于我向用户提供此选项非常重要C# zxing手电筒未在UI上显示,c#,xamarin.forms,zxing,C#,Xamarin.forms,Zxing,我正在以Xamarin的形式在我的PCL中使用Zxing条形码扫描仪。问题是UI上未显示手电筒开/关选项。这对于我向用户提供此选项非常重要 zxing = new ZXingScannerView { VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions
zxing = new ZXingScannerView
{
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.FillAndExpand,
HeightRequest = 400,
AutomationId = "zxingScannerView",
IsTorchOn = true,
};
string _BarCode = "";
int _CountItems = 0;
int _scannedItem = 0;
zxing.OnScanResult += (result) =>
Device.BeginInvokeOnMainThread(async () =>
{
// doing something that i want with scan result
});
overlay = new ZXingDefaultOverlay
{
ShowFlashButton = true,
AutomationId = "zxingDefaultOverlay",
};
overlay.HeightRequest = 2;
overlay.BindingContext = this;
overlay.FlashButtonClicked += (sender, e) =>
{
zxing.IsTorchOn = !zxing.IsTorchOn;
};
在Assambly信息中,我已经添加了这行代码
[assembly: UsesPermission(Android.Manifest.Permission.Flashlight)]
你能告诉我我在代码中犯了什么错误吗。感谢您在扫描按钮中提供意见和建议
var overlay = new ZXingDefaultOverlay
{
ShowFlashButton = true,
TopText = "Please scan the barcode...",
BottomText = string.Empty
};
overlay.BindingContext = overlay;
var scan = new ZXingScannerPage(null, overlay);
await Navigation.PushAsync(scan);
overlay.FlashButtonClicked += (s, ed) =>
{
scan.ToggleTorch();
};
scan.OnScanResult += (result) =>
{
Device.BeginInvokeOnMainThread(async () =>
{
await Navigation.PopAsync();
var _scanResult = result.Text;
});
};
您是否尝试过使用
ToggleTorch()
方法(overlay.FlashButtonClicked+=(sender,e)=>zxing.ToggleTorch();
)?@Diegrafaelsouza否您能否提供我将尝试的参考资料,并让您知道我将其写在括号内。用此代码替换单击按钮的事件处理程序。它通常有效