public override void ViewDidLoad () { //Create a new instance of our scanner scanner = new ZxingScanner(); //Setup our button buttonDefaultScan = new UIButton(UIButtonType.RoundedRect); buttonDefaultScan.Frame = new RectangleF(20, 80, 280, 40); buttonDefaultScan.SetTitle("Scan with Default View", UIControlState.Normal); buttonDefaultScan.TouchUpInside += (sender, e) => { //Tell our scanner to use the default overlay scanner.UseCustomOverlay = false; //We can customize the top and bottom text of the default overlay scanner.TopText = "Hold camera up to barcode to scan"; scanner.BottomText = "Barcode will automatically scan"; //Start scanning scanner.StartScanning((result) => { //Our scanning finished callback HandleScanResult(result); }); }; buttonCustomScan = new UIButton(UIButtonType.RoundedRect); buttonCustomScan.Frame = new RectangleF(20, 20, 280, 40); buttonCustomScan.SetTitle("Scan with Custom View", UIControlState.Normal); buttonCustomScan.TouchUpInside += (sender, e) => { //Create an instance of our custom overlay customOverlay = new CustomOverlayView(); //Wireup the buttons from our custom overlay customOverlay.ButtonTorch.TouchUpInside += delegate { scanner.ToggleTorch(); }; customOverlay.ButtonCancel.TouchUpInside += delegate { scanner.StopScanning(); }; //Tell our scanner to use our custom overlay scanner.UseCustomOverlay = true; scanner.CustomOverlay = customOverlay; scanner.StartScanning((result) => { //Our scanning finished callback HandleScanResult(result); }); }; this.View.AddSubview(buttonDefaultScan); this.View.AddSubview(buttonCustomScan); }
protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); // Set our view from the "main" layout resource SetContentView (Resource.Layout.Main); //Create a new instance of our Scanner scanner = new ZxingScanner(this); buttonScanDefaultView = this.FindViewById<Button>(Resource.Id.buttonScanDefaultView); buttonScanDefaultView.Click += delegate { //Tell our scanner to use the default overlay scanner.UseCustomOverlay = false; //We can customize the top and bottom text of the default overlay scanner.TopText = "Hold the camera up to the barcode\nAbout 6 inches away"; scanner.BottomText = "Wait for the barcode to automatically scan!"; //Start scanning scanner.StartScanning((barcode) => { //Scanning finished callback HandleScanResult(barcode); }); }; buttonScanCustomView = this.FindViewById<Button>(Resource.Id.buttonScanCustomView); buttonScanCustomView.Click += delegate { //Tell our scanner we want to use a custom overlay instead of the default scanner.UseCustomOverlay = true; //Inflate our custom overlay from a resource layout var zxingOverlay = LayoutInflater.FromContext(this).Inflate(Resource.Layout.ZxingOverlay, null); //Find the button from our resource layout and wire up the click event var flashButton = zxingOverlay.FindViewById<Button>(Resource.Id.buttonZxingFlash); flashButton.Click += (sender, e) => { //Tell our scanner to toggle the torch/flash scanner.ToggleTorch(); }; //Set our custom overlay scanner.CustomOverlay = zxingOverlay; //Start scanning! scanner.StartScanning((barcode) => { //Our scanning finished callback HandleScanResult(barcode); }); }; }