From b2f2494386c4629cf0e0f0a3740e7672919d53a2 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 06 一月 2021 17:09:55 +0800 Subject: [PATCH] 修改了彩灯的百分比计算 --- ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs | 241 +++++++++++++++++++++++++++++++----------------- 1 files changed, 155 insertions(+), 86 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs index 05d8740..a92ebfc 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs @@ -9,6 +9,7 @@ public class PublicInterface { + /// <summary> /// 鍗曢�夋嫨 /// </summary> @@ -100,32 +101,130 @@ } + /// <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="common">褰撳墠璁惧</param> - /// <param name="state1">涔嬪墠鐘舵��</param> + /// <param name="symbol">绗﹀彿锛�%锛屸剝锛�</param> + /// <param name="state1">涔嬪墠鐘舵��(姣旇緝绗﹀彿)</param> /// <param name="state2">涔嬪墠鐘舵��</param> /// <param name="action">杩斿洖鍊�</param> - public void TemperatureShow1(FrameLayout frameLayout, CommonDevice common, string state1, string state2, Action<string, string> action) + 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); + FrameLayout frameLayout = new FrameLayout + { + BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor, + }; + frame.AddChidren(frameLayout); CompleteView view = new CompleteView(); - view.Btntitle.Text= LocalDevice.Current.GetDeviceEpointName(common); + view.Btntitle.Text= tlite; frameLayout.AddChidren(view.Show(4)); UserView.HomePage.Instance.ScrollEnabled = false; - view.Btncancel.MouseUpEventHandler += (sender, e) => + + 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 @@ -142,28 +241,12 @@ var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" }; var mList2 = new List<string>(); - var mList3 = new List<string>(); + var mList3 = new List<string>() { symbol }; for (int i = 1; i <= 100; i++) { mList2.Add(i.ToString()); } - switch (common.Type) - { - case DeviceType.TemperatureSensor: - { - var temperatureSensor = common as TemperatureSensor; - if (temperatureSensor.SensorDiv == 1) - { - mList3.Add("鈩�"); - } - else - { - mList3.Add("%"); - - } - } - break; - } + mUIPickerView.setNPicker(mList1, mList2, mList3); @@ -214,43 +297,6 @@ //杩斿洖绱㈠紩鍊� 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); }; view.Btncomplete.MouseUpEventHandler += (sender1, e1) => { @@ -296,7 +342,7 @@ }; } - public void TemperatureShow(FrameLayout frameLayout, CommonDevice common, string state1, string state2, Action<string, string> action) + public void TemperatureShow(FrameLayout frameLayout, string symbol, string state1, string state2, Action<string, string> action) { #region 甯冨眬View var PickerViewfra = new FrameLayout @@ -313,27 +359,10 @@ var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" }; var mList2 = new List<string>(); - var mList3 = new List<string>(); + var mList3 = new List<string>() { symbol }; for (int i = 1; i <= 100; i++) { mList2.Add(i.ToString()); - } - switch (common.Type) - { - case DeviceType.TemperatureSensor: - { - var temperatureSensor = common as TemperatureSensor; - if (temperatureSensor.SensorDiv == 1) - { - mList3.Add("鈩�"); - } - else - { - mList3.Add("%"); - - } - } - break; } mUIPickerView.setNPicker(mList1, mList2, mList3); @@ -446,7 +475,8 @@ }; } break; - case "鏃堕棿": { + case "鏃堕棿": + { list = new List<string> { Language.StringByID(MyInternationalizationString.immediateexecution), Language.StringByID(MyInternationalizationString.timeframe), @@ -486,7 +516,46 @@ }; } 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