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