wei
2021-01-11 41f9c8837b0551c68f8fd798c06951fa716b7ab8
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TimeView.cs
old mode 100755 new mode 100644
@@ -72,6 +72,7 @@
        /// </summary>
        /// <returns></returns>
        public void FLayoutView(FrameLayout fLayout)
        //public void FLayoutView(FrameLayout fLayout, string currState, Action<string> action)
        {
           
            fLayout.AddChidren(frameLayout);
@@ -79,6 +80,93 @@
            frameLayout.AddChidren(btnCancel);
            frameLayout.AddChidren(btnConfirm);
            frameLayout.AddChidren(btnLine);
            //TimePoint(fLayout, action,currState);
        }
        /// <summary>
        /// 选中时间的方法
        /// </summary>
        /// <param name="fLayout">父控件</param>
        /// <param name="currState">之前状态值</param>
        /// <param name="action">返回时间值</param>
        public void TimePoint(FrameLayout fLayout, string currState, Action<string> action)
        {
            //取消点击事件
            btnCancel.MouseUpEventHandler += (sender, e1) =>
            {
                //移除fLayout界面
                fLayout.RemoveFromParent();
            };
            //加载数据界面的设置方法(列表互不联动)
            mUIPickerView.setNPicker(GethStringList(), GetmStringList(), null);
            var systemHour = DateTime.Now.Hour; //获取小时
            var systeMinute = DateTime.Now.Minute;//获取分钟
            int systemHourIndex = 0;
            int systeMinuteIndex = 0;
            for (int i = 0; i < GethIntList().Count; i++)
            {
                var currhour = GethIntList()[i];
                if (systemHour == currhour)
                {
                    systemHourIndex = i;
                    break;
                }
            }
            for (int i = 0; i < GetmIntList().Count; i++)
            {
                var currminute = GetmIntList()[i];
                if (systeMinute == currminute)
                {
                    systeMinuteIndex = i;
                    break;
                }
            }
            //默认初始选中状态
            mUIPickerView.setCurrentItems(systemHourIndex, systeMinuteIndex, 0);
            string currH = "";
            string currM = "";
            if (systemHour < 10)
            {
                currH = "0" + systemHour.ToString();
            }
            else
            {
                currH = systemHour.ToString();
            }
            if (systeMinute < 10)
            {
                currM = "0" + systeMinute.ToString();
            }
            else
            {
                currM = systeMinute.ToString();
            }
            //定义一个局部变量记录选中时间
            string timepoint = currH + ":" + currM;
            if (currState != "")
            {
                int hIndex = GetValueIndex(currState, 0, 1, GethIntList());
                int mIndex = GetValueIndex(currState, 1, 0, GetmIntList());
                //更新初始状态
                mUIPickerView.setCurrentItems(hIndex, mIndex, 0);
                timepoint = currState;
            }
            //选中时间回调方法,时间变化一次回调一次
            mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) =>
            {
                string hour = GethStringList()[index1].Split(' ')[0];
                string minuet = GetmStringList()[index2].Split(' ')[0];
                timepoint = hour + ":" + minuet;
            };
            //确定点击事件
            btnConfirm.MouseUpEventHandler += (sender, e3) =>
            {
                action(timepoint);
                //移除fLayout界面
                fLayout.RemoveFromParent();
            };
        }
        /// <summary>
        /// 获取1-24小时列表
@@ -195,37 +283,6 @@
            return mList;
        }
       
        /// <summary>
        /// 返回指定单位列表
        /// </summary>
        /// <param name="min">最小值</param>
        /// <param name="max">最大值</param>
        /// <param name="name">单位(时,分,秒)</param>
        /// <param name="digit">位数(10以下用(1位还是2位)显示)</param>
        /// <returns></returns>
        public List<string> GetStringList(int min, int max, string name, int digit)
        {
            //初始化列表
            var list = new List<string>();
            for (int i = min; i < max; i++)
            {
                if (i < 10 && digit == 2)
                {
                    var a = "0" + i.ToString();
                    //添加数据
                    list.Add(a + " " + name);
                }
                else
                {
                    //添加数据
                    list.Add(i.ToString() + " " + name);
                }
            }
            return list;
        }
        /// <summary>
        /// 获取时间值
        /// </summary>