[英]Can't implement the code-behind from the README file correctly
您是否在为您的应用程序使用 XamarinForms? 如果是,我认为您不能使用 MobileBarcodeScanner 方法。 您应该使用 ZXingScannerPage();
这里有一个样本
public class ScanPage : ContentPage
{
ZXingScannerPage scanPage;
Button buttonScanDefaultOverlay;
Button buttonScanCustomOverlay;
Button buttonScanContinuously;
Button buttonScanCustomPage;
Button buttonGenerateBarcode;
public ScanPage() : base()
{
buttonScanDefaultOverlay = new Button
{
Text = "Scan with Default Overlay",
AutomationId = "scanWithDefaultOverlay",
};
buttonScanDefaultOverlay.Clicked += async delegate {
scanPage = new ZXingScannerPage();
scanPage.OnScanResult += (result) => {
scanPage.IsScanning = false;
Device.BeginInvokeOnMainThread(() => {
Navigation.PopAsync();
DisplayAlert("Scanned Barcode", result.Text, "OK");
});
};
await Navigation.PushAsync(scanPage);
};
buttonScanCustomOverlay = new Button
{
Text = "Scan with Custom Overlay",
AutomationId = "scanWithCustomOverlay",
};
buttonScanCustomOverlay.Clicked += async delegate {
// Create our custom overlay
var customOverlay = new StackLayout
{
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand
};
var torch = new Button
{
Text = "Toggle Torch"
};
torch.Clicked += delegate {
scanPage.ToggleTorch();
};
customOverlay.Children.Add(torch);
scanPage = new ZXingScannerPage(customOverlay: customOverlay);
scanPage.OnScanResult += (result) => {
scanPage.IsScanning = false;
Device.BeginInvokeOnMainThread(() =>
{
Navigation.PopAsync();
DisplayAlert("Scanned Barcode", result.Text, "OK");
});
};
await Navigation.PushAsync(scanPage);
};
buttonScanContinuously = new Button
{
Text = "Scan Continuously",
AutomationId = "scanContinuously",
};
buttonScanContinuously.Clicked += async delegate {
scanPage = new ZXingScannerPage();
scanPage.OnScanResult += (result) =>
Device.BeginInvokeOnMainThread(() =>
DisplayAlert("Scanned Barcode", result.Text, "OK"));
await Navigation.PushAsync(scanPage);
};
buttonScanCustomPage = new Button
{
Text = "Scan with Custom Page",
AutomationId = "scanWithCustomPage",
};
buttonGenerateBarcode = new Button
{
Text = "Barcode Generator",
AutomationId = "barcodeGenerator",
};
var stack = new StackLayout();
stack.Children.Add(buttonScanDefaultOverlay);
stack.Children.Add(buttonScanCustomOverlay);
stack.Children.Add(buttonScanContinuously);
stack.Children.Add(buttonScanCustomPage);
stack.Children.Add(buttonGenerateBarcode);
Content = stack;
}
}
你可以在这里找到一个回购
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.