old mode 100644
new mode 100755
| | |
| | | /// <summary> |
| | | /// 单选择 |
| | | /// </summary> |
| | | /// <param name="frameLayout">父控件</param> |
| | | /// <param name="frame">显示在哪个界面的父控件</param> |
| | | /// <param name="list">显示数据源</param> |
| | | /// <param name="titleText"></param> |
| | | /// <param name="stateText">之前状态文本</param> |
| | | /// <param name="action">返回值</param> |
| | | public void SingleSelectionShow(FrameLayout frameLayout, List<string> list, string titleText, string stateText, Action<string> action) |
| | | /// <param name="textSize">显示文本字体大小</param> |
| | | public void SingleSelectionShow(FrameLayout frame, List<string> list, string titleText, string stateText, Action<string> action, int textSize = LogicView.TextSize.text14) |
| | | { |
| | | FrameLayout frameLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | frame.AddChidren(frameLayout); |
| | | |
| | | LogicView.DateView view = new LogicView.DateView(); |
| | | view.btnTitle.Text = titleText; |
| | | view.FLayoutView(frameLayout, list.Count); |
| | |
| | | string str = list[i]; |
| | | LogicView.CheckView checkView = new LogicView.CheckView(); |
| | | checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); |
| | | checkView.btnText.TextSize = textSize; |
| | | view.frameLayout.AddChidren(checkView.FLayoutView()); |
| | | checkView.btnText.Text = str; |
| | | checkView.btnClick.Tag = str;//标记 |
| | |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 多选择 |
| | | /// </summary> |
| | |
| | | /// <param name="titleText"></param> |
| | | /// <param name="stateTextList">之前状态文本</param> |
| | | /// <param name="action">返回值</param> |
| | | public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action) |
| | | /// <param name="textSize">显示文本字体大小</param> |
| | | public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action, int textSize = LogicView.TextSize.text14) |
| | | { |
| | | LogicView.DateView view = new LogicView.DateView(); |
| | | view.btnTitle.Text = titleText; |
| | |
| | | string str = list[i]; |
| | | LogicView.CheckView checkView = new LogicView.CheckView(); |
| | | checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); |
| | | checkView.btnText.TextSize = textSize; |
| | | view.frameLayout.AddChidren(checkView.FLayoutView()); |
| | | checkView.btnText.Text = str; |
| | | checkView.btnClick.Tag = str;//标记 |
| | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 月-多选择 |
| | | /// </summary> |
| | | /// <param name="frameLayout">父控件</param> |
| | | /// <param name="action">显示文本字体大小</param> |
| | | public void MonSelectShow(FrameLayout frameLayout, Logic logic, Action<List<string>> action) |
| | | { |
| | | LogicView.MonView monView = new LogicView.MonView(); |
| | | monView.btnTitle.TextID = StringId.monthly; |
| | | monView.FLayoutView(frameLayout); |
| | | monView.btnCancel.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | monView.frameLayout.RemoveFromParent(); |
| | | }; |
| | | //定义一个局部monList列表用来记录选中数据; |
| | | List<string> monList = new List<string>(); |
| | | if (logic.cycle.type == "mon") |
| | | { |
| | | //加载之前保存的数据 |
| | | monList.AddRange(logic.cycle.value); |
| | | } |
| | | //定义一个变量记录行数 |
| | | int lineSun = 0; |
| | | for (int i = 1; i < 32; i++) |
| | | { |
| | | Button monTextBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(30), |
| | | Height = Application.GetRealWidth(30), |
| | | Radius = (uint)Application.GetRealWidth(15), |
| | | Text = i.ToString(), |
| | | TextSize = LogicView.TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | | SelectedTextColor = CSS.CSS_Color.view, |
| | | SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor, |
| | | BackgroundColor = CSS.CSS_Color.viewTranslucence, |
| | | Tag = i, |
| | | }; |
| | | monView.frameLayout.AddChidren(monTextBtn); |
| | | if (lineSun > 0) |
| | | { |
| | | monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46); |
| | | } |
| | | else |
| | | { |
| | | |
| | | monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46); |
| | | } |
| | | monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10)); |
| | | |
| | | if (i % 7 == 0) |
| | | { |
| | | //一定执行完再判断是否要换行. |
| | | lineSun = lineSun + 1; |
| | | |
| | | } |
| | | monTextBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | string clickIndex = monTextBtn.Tag.ToString(); |
| | | monTextBtn.IsSelected = !monTextBtn.IsSelected; |
| | | if (monTextBtn.IsSelected) |
| | | { |
| | | monTextBtn.IsSelected = true; |
| | | if (!monList.Contains(clickIndex)) |
| | | { |
| | | //添加选中数据 |
| | | monList.Add(clickIndex); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | monTextBtn.IsSelected = false; |
| | | if (monList.Contains(clickIndex)) |
| | | { |
| | | //移除选中数据 |
| | | monList.Remove(clickIndex); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | if (monList.Contains(i.ToString())) |
| | | { |
| | | monTextBtn.IsSelected = true; |
| | | } |
| | | } |
| | | //确定点击事件 |
| | | monView.btnConfirm.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | if (monList.Count == 0) |
| | | { |
| | | //提示:还没选中执行周期 |
| | | return; |
| | | } |
| | | |
| | | |
| | | action(monList); |
| | | frameLayout.RemoveFromParent(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取界面列表 |
| | | /// </summary> |
| | | /// <param name="isStr">自己定义自己用</param> |
| | | /// <returns></returns> |
| | | public List<string> GetViewList(string isStr) |
| | | { |
| | | List<string> list = null; |
| | | switch (isStr) |
| | | { |
| | | case "mode": |
| | | { |
| | | list = new List<string> { |
| | | Language.StringByID(StringId.coolLogic), |
| | | Language.StringByID(StringId.heatingLogic), |
| | | Language.StringByID(StringId.autoLogic), |
| | | Language.StringByID(StringId.dehumidifyLogic), |
| | | }; |
| | | } |
| | | break; |
| | | case "fan": |
| | | { |
| | | list = new List<string> { |
| | | Language.StringByID(StringId.LowWindSpeed), |
| | | Language.StringByID(StringId.MiddleWindSpeed), |
| | | Language.StringByID(StringId.HighWindSpeed), |
| | | Language.StringByID(StringId.Auto), |
| | | }; |
| | | } |
| | | break; |
| | | case "floorheatingmode": |
| | | { |
| | | list = new List<string> { |
| | | Language.StringByID(StringId.dayMode), |
| | | Language.StringByID(StringId.nightMode), |
| | | Language.StringByID(StringId.leaveMode), |
| | | Language.StringByID(StringId.ordinaryMode), |
| | | Language.StringByID(StringId.timeMode), |
| | | }; |
| | | } |
| | | break; |
| | | case "week": |
| | | { |
| | | list = new List<string> { |
| | | Language.StringByID(StringId.monday), |
| | | Language.StringByID(StringId.tuesday), |
| | | Language.StringByID(StringId.wednesday), |
| | | Language.StringByID(StringId.thursday), |
| | | Language.StringByID(StringId.friday), |
| | | Language.StringByID(StringId.saturday), |
| | | Language.StringByID(StringId.sunday), |
| | | }; |
| | | } |
| | | break; |
| | | case "andor": |
| | | { |
| | | list = new List<string> { |
| | | Language.StringByID(StringId.andCondition), |
| | | Language.StringByID(StringId.orCondition), |
| | | }; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | return list; |
| | | } |
| | | /// <summary> |
| | | /// 模式/风速互相转换值的方法 |
| | | /// </summary> |
| | | /// <param name="text"></param> |
| | | /// <param name="type">自己定义自己用</param> |
| | | /// <returns></returns> |
| | | public string GetModeValueString(string text, string type) |
| | | { |
| | | string str = ""; |
| | | switch (type) |
| | | { |
| | | case "mode": |
| | | { |
| | | if (text == Language.StringByID(StringId.coolLogic)) |
| | | { |
| | | str = "cool"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.heatingLogic)) |
| | | { |
| | | str = "heat"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.autoLogic)) |
| | | { |
| | | str = "auto"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.dehumidifyLogic)) |
| | | { |
| | | str = "dry"; |
| | | } |
| | | } |
| | | break; |
| | | case "fan": |
| | | { |
| | | if (text == Language.StringByID(StringId.HighWindSpeed)) |
| | | { |
| | | str = "high"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.MiddleWindSpeed)) |
| | | { |
| | | str = "medium"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.LowWindSpeed)) |
| | | { |
| | | str = "low"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.Auto)) |
| | | { |
| | | str = "auto"; |
| | | } |
| | | } |
| | | break; |
| | | case "floorheatingmode": |
| | | { |
| | | if (text == Language.StringByID(StringId.dayMode)) |
| | | { |
| | | str = "day"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.nightMode)) |
| | | { |
| | | str = "night"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.leaveMode)) |
| | | { |
| | | str = "away"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.ordinaryMode)) |
| | | { |
| | | str = "normal"; |
| | | } |
| | | else if (text == Language.StringByID(StringId.timeMode)) |
| | | { |
| | | str = "timer"; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | return str; |
| | | } |
| | | /// <summary> |
| | | /// 星期int和string互相转换值的方法 |
| | | /// </summary> |
| | | /// <param name="list"></param> |
| | | /// <param name="str_or_int"></param> |
| | | /// <returns></returns> |
| | | public List<string> GetWeekString(List<string> list, string str_or_int) |
| | | { |
| | | string weekTextName = ""; |
| | | List<string> stateList = new List<string>(); |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | var s = list[i]; |
| | | if (str_or_int == "int") |
| | | { |
| | | switch (s) |
| | | { |
| | | case "1": |
| | | { |
| | | weekTextName = Language.StringByID(StringId.monday); |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | weekTextName = Language.StringByID(StringId.tuesday); |
| | | } |
| | | break; |
| | | case "3": |
| | | { |
| | | weekTextName = Language.StringByID(StringId.wednesday); |
| | | } |
| | | break; |
| | | case "4": |
| | | { |
| | | weekTextName = Language.StringByID(StringId.thursday); |
| | | } |
| | | break; |
| | | case "5": |
| | | { |
| | | weekTextName = Language.StringByID(StringId.friday); |
| | | } |
| | | break; |
| | | case "6": |
| | | { |
| | | weekTextName = Language.StringByID(StringId.saturday); |
| | | } |
| | | break; |
| | | case "0": |
| | | { |
| | | weekTextName = Language.StringByID(StringId.sunday); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Language.StringByID(StringId.monday) == s) |
| | | { |
| | | weekTextName = "1"; |
| | | } |
| | | else if (Language.StringByID(StringId.tuesday) == s) |
| | | { |
| | | weekTextName = "2"; |
| | | } |
| | | else if (Language.StringByID(StringId.wednesday) == s) |
| | | { |
| | | weekTextName = "3"; |
| | | } |
| | | else if (Language.StringByID(StringId.thursday) == s) |
| | | { |
| | | weekTextName = "4"; |
| | | } |
| | | else if (Language.StringByID(StringId.friday) == s) |
| | | { |
| | | weekTextName = "5"; |
| | | } |
| | | else if (Language.StringByID(StringId.saturday) == s) |
| | | { |
| | | weekTextName = "6"; |
| | | } |
| | | else if (Language.StringByID(StringId.sunday) == s) |
| | | { |
| | | weekTextName = "0"; |
| | | } |
| | | } |
| | | stateList.Add(weekTextName); |
| | | |
| | | } |
| | | |
| | | return stateList; |
| | | } |
| | | } |
| | | } |