From 3dcbd186c42c598c0c08d1cd37034cf2baa09e54 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 15:47:51 +0800
Subject: [PATCH] 合并了代码

---
 ZigbeeApp/GateWay.Droid/Application.cs |   71 +++++++++++++++++++++++------------
 1 files changed, 46 insertions(+), 25 deletions(-)

diff --git a/ZigbeeApp/GateWay.Droid/Application.cs b/ZigbeeApp/GateWay.Droid/Application.cs
index 2cdce88..49eb763 100755
--- a/ZigbeeApp/GateWay.Droid/Application.cs
+++ b/ZigbeeApp/GateWay.Droid/Application.cs
@@ -281,31 +281,52 @@
 {
     public static class QRCode
     {
-        static ZXing.Mobile.MobileBarcodeScanner scanner;
-        public static void ScanQRcode(Action<string> action)
-        {
-            ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) => {
-                if (obj)
-                {
-                    if (scanner == null)
-                    {
-                        MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application);
-                        scanner = new ZXing.Mobile.MobileBarcodeScanner();
-                    }
-
-                    var result = await scanner.Scan();
-
-                    if (result != null)
-                        action?.Invoke(result.Text);
-                    else
-                        action?.Invoke(null);
-
-                }
-                else
-                {
-                    action?.Invoke(null);
-                }
-            });
+        static ZXing.Mobile.MobileBarcodeScanner scanner;
+        public static void ScanQRcode(Action<string> action, string cancel = "鍙栨秷", string flashText = "闂厜鐏�", string titleText = "浜岀淮鐮佹壂鎻�")
+        {
+            ((BaseActivity)Shared.Application.Activity).SetCamera(async (obj) =>
+            {
+                if (obj)
+                {
+                    if (scanner == null)
+                    {
+                        MobileBarcodeScanner.Initialize(Shared.Application.Activity.Application);
+                        var mZXingCustomScanView = new GateWay.Droid.ZXingCustomScanView(Shared.Application.Activity.Application);
+                        mZXingCustomScanView.cancelTextView.Text = cancel;
+                        mZXingCustomScanView.flashTextView.Text = flashText;
+                        mZXingCustomScanView.titleTextView.Text = titleText;
+                        var bOn = false;
+                        scanner = new ZXing.Mobile.MobileBarcodeScanner()
+                        {
+                            UseCustomOverlay = true,
+                            CustomOverlay = mZXingCustomScanView
+                        };
+
+                        mZXingCustomScanView.OnCancel += () => {
+
+                            scanner?.Cancel();
+                        };
+
+                        mZXingCustomScanView.OnTorch += () =>
+                        {
+                            bOn = !bOn;
+                            scanner?.Torch(bOn);
+                        };
+                    }
+
+                    var result = await scanner.Scan();
+
+                    if (result != null)
+                        action?.Invoke(result.Text);
+                    else
+                        action?.Invoke(null);
+
+                }
+                else
+                {
+                    action?.Invoke(null);
+                }
+            });
         }
 
         public static byte[] BytesFromText(string text, int width = 300, int height = 300)

--
Gitblit v1.8.0