From 097cc5c10057156872ce69b2b1576335b782c555 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期五, 13 十二月 2019 15:33:20 +0800
Subject: [PATCH] 2019-12-13-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs |  156 +++++++++++++++++++++++++++++----------------------
 1 files changed, 89 insertions(+), 67 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
index e2355c2..e297d7b 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -1440,94 +1440,116 @@
                 case DeviceType.TemperatureSensor:
                     {
                         string current = Language.StringByID(MyInternationalizationString.current);
-                        devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 * 2 - 20 - 50);
-                        devicefra.Height = Application.GetRealHeight(140 + 160 * 2 + 20 + 50);
+                        devicefra.Y = Application.GetRealHeight(1920 - 140 - 600);
+                        devicefra.Height = Application.GetRealHeight(140 + 600);
                         var temperatureSensor = common as TemperatureSensor;
-                        var Btntemperaturevalue = new Button
+                        SelectedDeviceStatuscondition = "TemperatureSensor";
+                        #region  甯冨眬View
+                        var PickerViewfra = new FrameLayout
                         {
-                            TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
-                            Height = Application.GetRealHeight(60),
-                            Width = Application.GetRealWidth(400),
-                            TextAlignment = TextAlignment.CenterLeft,
-                            X = Application.GetRealWidth(80),
-                            Y = timetype.Bottom + Application.GetRealHeight(70),
-                            TextSize = 14,
+                            Y = Application.GetRealHeight(140),
+                            Height = Application.GetRealHeight(600),
                         };
-                        devicefra.AddChidren(Btntemperaturevalue);
+                        devicefra.AddChidren(PickerViewfra);
 
-                        var horizontalSeekBarVol = new DiyImageSeekBar
+
+                        var mUIPickerView = new UIPickerView
                         {
-                            Y = timetype.Bottom + Application.GetRealHeight(70 + 60 + 70),
-                            X = Application.GetRealWidth(80),
-                            Width = Application.GetRealWidth(920),
-                            Height = Application.GetRealHeight(160),
-                            IsProgressTextShow = false,//鏄剧ず鐧惧垎姣�
-                            IsClickable = true,//杩涘害鏉℃槸鍚︽粦鍔�
-                            ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//閫変腑杩涘害鏉¢鑹�
-                            ThumbImagePath = "ZigeeLogic/progressbtn_2.png",//杩涘害鏉℃寜閽浘鏍�
-                            ThumbImageHeight = Application.GetRealHeight(56),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級
-                            ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,//杩涘害鏉″師棰滆壊
-                            //ProgressTextSize = 13,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏� 
-                            SeekBarViewHeight = Application.GetRealHeight(10),//杩涘害鏉$殑楂樺害
+                            Height = Application.GetRealHeight(600 - 5),
                         };
-                        devicefra.AddChidren(horizontalSeekBarVol);
+                        PickerViewfra.AddChidren(mUIPickerView);
 
-                        EventHandler<int> progressclick = (sender, e) =>
+                        var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" };
+                        var mList2 = new List<string>();
+                        var mList3 = new List<string>();
+                        for (int i = 1; i <=100; i++)
                         {
-
-                            SelectedDeviceStatuscondition = "TemperatureSensor";
-                            if (temperatureSensor.SensorDiv == 1)
-                            {
-                                dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());
-
-                                Btntemperaturevalue.Text = current + ">" + horizontalSeekBarVol.Progress.ToString() + "鈩�";
-
-                            }
-                            else
-                            {
-                                Btntemperaturevalue.Text = current + "<" + horizontalSeekBarVol.Progress.ToString() + "%";
-                                dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());//娓╁害鍊�
-                            }
-
-                        };
-                        horizontalSeekBarVol.OnProgressChangedEvent += progressclick;
-                        horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick;
-
-
-                        if (temperatureSensor.SensorDiv == 1)
-                        {
+                            mList2.Add(i.ToString());
+                        }
+                        if (temperatureSensor.SensorDiv == 1) {
+                            mList3.Add("鈩�");
                             dictionary(deviceConditionsInfo, "Cluster_ID", "1026");
                             dictionary(deviceConditionsInfo, "AttriButeId", "0");
-                            dictionary(deviceConditionsInfo, "Range", "0");//0澶т簬AttriButeData1鏃惰Е鍙戝姩浣�
-                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");
+                            dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
+                            dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿娓╁害鍊�50鈩�
                             dictionary(deviceConditionsInfo, "AttriButeData2", "0");
-                            Btntemperaturevalue.Text = current + ">0鈩�";
-
-                        }
-                        else
-                        {
-                            Btntemperaturevalue.Text = current + "<0%";
+                        } else {
+                            mList3.Add("%");
                             dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
                             dictionary(deviceConditionsInfo, "AttriButeId", "0");
-                            dictionary(deviceConditionsInfo, "Range", "2");//2灏忎簬AttriButeData1鏃惰Е鍙戝姩浣�
-                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");//娓╁害鍊�
+                            dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣�
+                            dictionary(deviceConditionsInfo, "AttriButeData1", "50");//榛樿婀垮害鍊�50%
                             dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                         }
+                        mUIPickerView.setNPicker(mList1, mList2, mList3);
 
+                        #endregion
+
+                        mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) =>
+                        {
+                            SelectedDeviceStatuscondition = "TemperatureSensor";
+                            dictionary(deviceConditionsInfo, "AttriButeData1", mList2[s2]);
+                            switch (mList1[s1])
+                            {
+                                case ">": {
+                                        dictionary(deviceConditionsInfo, "Range", "0");
+                                    } break;
+                                case "<": {
+                                        dictionary(deviceConditionsInfo, "Range", "2");
+                                    } break;
+                                case "=": {
+                                        dictionary(deviceConditionsInfo, "Range", "1");
+                                    } break;
+                                case "鈮�": {
+                                        dictionary(deviceConditionsInfo, "Range", "6");
+                                    } break;
+                                case "鈮�": {
+                                        dictionary(deviceConditionsInfo, "Range", "7");
+                                    } break;
+                            }
+                        };
+
+                        //榛樿=,50
+                        int index1 = 2, index2 = 49;
                         if (edit && devices != null)
                         {
-                            horizontalSeekBarVol.Progress = int.Parse(devices["AttriButeData1"]);
-                            if (temperatureSensor.SensorDiv == 1)
+                            SelectedDeviceStatuscondition = "";
+                            string s = "";
+                            switch (devices["Range"])
                             {
-
-                                Btntemperaturevalue.Text = current + ">" + devices["AttriButeData1"] + "鈩�";
-
+                                case "0":
+                                    {
+                                        s = ">";
+                                    }
+                                    break;
+                                case "1":
+                                    {
+                                        s = "=";
+                                    }
+                                    break;
+                                case "2":
+                                    {
+                                        s = "<";
+                                    }
+                                    break;
+                                case "6":
+                                    {
+                                        s = "鈮�";
+                                    }
+                                    break;
+                                case "7":
+                                    {
+                                        s = "鈮�";
+                                    }
+                                    break;
                             }
-                            else
-                            {
-                                Btntemperaturevalue.Text = current + "<" + devices["AttriButeData1"] + "%";
-                            }
+                            //鏌ユ壘绱㈠紩
+                            index1 = mList1.IndexOf(s);
+                            index2 = mList2.IndexOf(devices["AttriButeData1"]);
+
                         }
+                        ///鏇存柊鏈�鏂扮姸鎬侊紱
+                        mUIPickerView.setCurrentItems(index1, index2, 0);
 
                     }
                     break;

--
Gitblit v1.8.0