コード例 #1
0
        private void buttonScanCustom_Click(object sender, RoutedEventArgs e)
        {
            //Get our UIElement from the MainPage.xaml (this) file
            // to use as our custom overlay
            if (customOverlayElement == null)
            {
                customOverlayElement = this.customOverlay.Children[0];
                this.customOverlay.Children.RemoveAt(0);
            }

            //Wireup our buttons from the custom overlay
            this.buttonCancel.Click += (s, e2) =>
            {
                scanner.StopScanning();
            };
            this.buttonFlash.Click += (s, e2) =>
            {
                scanner.ToggleTorch();
            };

            //Set our custom overlay and enable it
            scanner.CustomOverlay    = customOverlayElement;
            scanner.UseCustomOverlay = true;

            //Start Scanning
            scanner.StartScanning((result) =>
            {
                //Scanning finished callback
                HandleScanResult(result);
            });
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
                });
            };
        }