From 2fb0c39b09110be4f5a88a8c8004f03fc257f612 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 06 一月 2021 11:11:53 +0800 Subject: [PATCH] 2021-1-6-1 --- ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs | 425 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 423 insertions(+), 2 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs index 8650d94..a92ebfc 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs @@ -2,11 +2,13 @@ using System.Collections.Generic; using Shared.Common; using Shared.R; +using ZigBee.Device; namespace Shared.Phone.Device.Logic { public class PublicInterface { + /// <summary> /// 鍗曢�夋嫨 @@ -100,6 +102,360 @@ /// <summary> + /// 鍗曢�夋嫨 + /// </summary> + /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> + /// <param name="list">鏄剧ず鏁版嵁婧�</param> + /// <param name="titleText">鏍囬鏂囨湰</param> + /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param> + /// <param name="completeAction">瀹屾垚杩斿洖鍊�</param> + /// <param name="cancelAction">鍙栨秷杩斿洖鍊�</param> + public void SingleSelectionShow(FrameLayout frame, List<string> list, int titleText, string stateText, Action<string> completeAction, Action cancelAction) + { + FrameLayout frameLayout = new FrameLayout + { + BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor, + }; + frame.AddChidren(frameLayout); + CompleteView view = new CompleteView(); + view.Btntitle.TextID = titleText; + frameLayout.AddChidren(view.Show(list.Count)); + UserView.HomePage.Instance.ScrollEnabled = false; + EventHandler<MouseEventArgs> cancelClick= (sender, e) => + { + UserView.HomePage.Instance.ScrollEnabled = true; + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + cancelAction(); + }; + view.Btncancel.MouseUpEventHandler += cancelClick; + frameLayout.MouseUpEventHandler += cancelClick; + ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵�� + Button checkIconBtn = new Button + { + Tag = "unknown", + }; + Button checkTextBtn = new Button + { + Tag = "unknown", + }; + for (int i = 0; i < list.Count; i++) + { + string str = list[i]; + mFunView mFun = new mFunView(); + mFun.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + mFun.titleBtn.SelectedTextColor = ZigbeeColor.Current.LogicBtnSelectedColor; + mFun.frameLayout.Y = Application.GetRealHeight(140 + 20 + 160 * i); + view.fraView.AddChidren(mFun.Show()); + mFun.titleBtn.Text = str; + mFun.clickviewBtn.Tag = str;//鏍囪 + if (list.Count - 1 == i) + { + //鏀瑰彉鏈�鍚庝竴鏉$殑棰滆壊 + mFun.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + } + if (stateText == str) + { + //鍥炬爣鏀瑰彉 + checkIconBtn.Visible = false; + mFun.selectedIconBtn.Visible = true; + checkIconBtn = mFun.selectedIconBtn; + checkIconBtn.Tag = mFun.clickviewBtn.Tag.ToString(); + //瀛椾綋鏀瑰彉 + checkTextBtn.IsSelected = false; + mFun.titleBtn.IsSelected = true; + checkTextBtn = mFun.titleBtn; + + } + //鐐瑰嚮浜嬩欢 + mFun.clickviewBtn.MouseUpEventHandler += (sender1, e1) => + { + //鍥炬爣鏀瑰彉 + checkIconBtn.Visible = false; + mFun.selectedIconBtn.Visible = true; + checkIconBtn = mFun.selectedIconBtn; + checkIconBtn.Tag = mFun.clickviewBtn.Tag.ToString(); + //瀛椾綋鏀瑰彉 + checkTextBtn.IsSelected = false; + mFun.titleBtn.IsSelected = true; + checkTextBtn = mFun.titleBtn; + }; + + } + view.Btncomplete.MouseUpEventHandler += (sender1, e1) => + { + if (checkIconBtn.Tag.ToString() == "unknown") + { + return; + } + completeAction(checkIconBtn.Tag.ToString()); + UserView.HomePage.Instance.ScrollEnabled = true; + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + + } + + /// <summary> + /// 娓╂箍搴︽柟娉� + /// </summary> + /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> + /// <param name="symbol">绗﹀彿锛�%锛屸剝锛�</param> + /// <param name="state1">涔嬪墠鐘舵��(姣旇緝绗﹀彿)</param> + /// <param name="state2">涔嬪墠鐘舵��</param> + /// <param name="action">杩斿洖鍊�</param> + public void TemperatureShow1(FrameLayout frame, string tlite,string symbol, string state1, string state2, Action<string, string> action, Action cancelAction) + { + FrameLayout frameLayout = new FrameLayout + { + BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor, + }; + frame.AddChidren(frameLayout); + CompleteView view = new CompleteView(); + view.Btntitle.Text= tlite; + frameLayout.AddChidren(view.Show(4)); + UserView.HomePage.Instance.ScrollEnabled = false; + + EventHandler<MouseEventArgs> cancelClick = (sender, e) => + { + UserView.HomePage.Instance.ScrollEnabled = true; + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + cancelAction(); + }; + view.Btncancel.MouseUpEventHandler += cancelClick; + frameLayout.MouseUpEventHandler += cancelClick; + + #region 甯冨眬View + var PickerViewfra = new FrameLayout + { + Y = Application.GetRealHeight(140), + Height = Application.GetRealHeight(640), + }; + view.fraView.AddChidren(PickerViewfra); + var mUIPickerView = new UIPickerView + { + Height = Application.GetRealHeight(640 - 5), + }; + PickerViewfra.AddChidren(mUIPickerView); + + var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" }; + var mList2 = new List<string>(); + var mList3 = new List<string>() { symbol }; + for (int i = 1; i <= 100; i++) + { + mList2.Add(i.ToString()); + } + + + mUIPickerView.setNPicker(mList1, mList2, mList3); + + #endregion + //榛樿=,50 + int index1 = 2, index2 = 49; + if (state1!="" && state2 != "") + { + string s = ""; + switch (state1) + { + case "0": + { + s = ">"; + } + break; + case "1": + { + s = "="; + } + break; + case "2": + { + s = "<"; + } + break; + case "6": + { + s = "鈮�"; + } + break; + case "7": + { + s = "鈮�"; + } + break; + } + //鏌ユ壘绱㈠紩 + index1 = mList1.IndexOf(s); + //杞崲娓╁害鍊�/100 + string tempValue = (int.Parse(state2) / 100).ToString(); + index2 = mList2.IndexOf(tempValue); + } + ///鏇存柊鏈�鏂扮姸鎬侊紱 + mUIPickerView.setCurrentItems(index1, index2, 0); + mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => + { + //杩斿洖绱㈠紩鍊� + index1 = s1; + index2 = s2; + }; + view.Btncomplete.MouseUpEventHandler += (sender1, e1) => + { + string relationValueStr = ""; + switch (mList1[index1]) + { + case ">": + { + relationValueStr = "0"; + } + break; + case "<": + { + relationValueStr = "2"; + + } + break; + case "=": + { + relationValueStr = "1"; + + } + break; + case "鈮�": + { + + relationValueStr = "6"; + + } + break; + case "鈮�": + { + relationValueStr = "7"; + } + break; + } + ///娓╁害杩涚巼杞崲*100 + string tempValueStr = (int.Parse(mList2[index2]) * 100).ToString(); + action(relationValueStr, tempValueStr); + UserView.HomePage.Instance.ScrollEnabled = true; + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + + } + public void TemperatureShow(FrameLayout frameLayout, string symbol, string state1, string state2, Action<string, string> action) + { + #region 甯冨眬View + var PickerViewfra = new FrameLayout + { + Y = Application.GetRealHeight(140), + Height = Application.GetRealHeight(640), + }; + frameLayout.AddChidren(PickerViewfra); + var mUIPickerView = new UIPickerView + { + Height = Application.GetRealHeight(640 - 5), + }; + PickerViewfra.AddChidren(mUIPickerView); + + var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" }; + var mList2 = new List<string>(); + var mList3 = new List<string>() { symbol }; + for (int i = 1; i <= 100; i++) + { + mList2.Add(i.ToString()); + } + + mUIPickerView.setNPicker(mList1, mList2, mList3); + + #endregion + //榛樿=,50 + int index1 = 2, index2 = 49; + if (state1 != "" && state2 != "") + { + string s = ""; + switch (state1) + { + case "0": + { + s = ">"; + } + break; + case "1": + { + s = "="; + } + break; + case "2": + { + s = "<"; + } + break; + case "6": + { + s = "鈮�"; + } + break; + case "7": + { + s = "鈮�"; + } + break; + } + //鏌ユ壘绱㈠紩 + index1 = mList1.IndexOf(s); + //杞崲娓╁害鍊�/100 + string tempValue = (int.Parse(state2) / 100).ToString(); + index2 = mList2.IndexOf(tempValue); + } + ///鏇存柊鏈�鏂扮姸鎬侊紱 + mUIPickerView.setCurrentItems(index1, index2, 0); + mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => + { + //杩斿洖绱㈠紩鍊� + index1 = s1; + index2 = s2; + + string relationValueStr = ""; + switch (mList1[index1]) + { + case ">": + { + relationValueStr = "0"; + } + break; + case "<": + { + relationValueStr = "2"; + + } + break; + case "=": + { + relationValueStr = "1"; + + } + break; + case "鈮�": + { + + relationValueStr = "6"; + + } + break; + case "鈮�": + { + relationValueStr = "7"; + } + break; + } + ///娓╁害杩涚巼杞崲*100 + string tempValueStr = (int.Parse(mList2[index2]) * 100).ToString(); + action(relationValueStr, tempValueStr); + }; + + } + + /// <summary> /// 鑾峰彇鐣岄潰鍒楄〃 /// </summary> /// <param name="isStr">鑷繁瀹氫箟鑷繁鐢�</param> @@ -119,7 +475,8 @@ }; } break; - case "鏃堕棿": { + case "鏃堕棿": + { list = new List<string> { Language.StringByID(MyInternationalizationString.immediateexecution), Language.StringByID(MyInternationalizationString.timeframe), @@ -134,7 +491,71 @@ }; } break; - + case "缁勫悎鏉′欢": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.Allconditions), + Language.StringByID(MyInternationalizationString.anycondition), + }; + } + break; + case "寮�鍏�2": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.open), + Language.StringByID(MyInternationalizationString.close), + }; + } + break; + case "寮�鍏�3": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.open), + Language.StringByID(MyInternationalizationString.close), + Language.StringByID(MyInternationalizationString.onoff), + }; + } + break; + case "绌烘皵璐ㄩ噺浼犳劅鍣�": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.kongqizhiliang), + Language.StringByID(MyInternationalizationString.pm25), + Language.StringByID(MyInternationalizationString.co2), + Language.StringByID(MyInternationalizationString.sensortemperature), + Language.StringByID(MyInternationalizationString.sensorhumidity), + }; + } + break; + case "绌烘皵璐ㄩ噺": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.you), + Language.StringByID(MyInternationalizationString.liang), + Language.StringByID(MyInternationalizationString.cha), + }; + } + break; + case "pm2.5": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.pmyou), + Language.StringByID(MyInternationalizationString.pmliang), + Language.StringByID(MyInternationalizationString.pmqingdu), + Language.StringByID(MyInternationalizationString.pmzhongdu), + }; + } + break; + case "co2": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.co2qingxin), + Language.StringByID(MyInternationalizationString.co2huizhuo), + Language.StringByID(MyInternationalizationString.co2queyang), + Language.StringByID(MyInternationalizationString.co2yanzhongqueyang), + }; + } + break; } return list; -- Gitblit v1.8.0