.vs/HDL_APP_Project/xs/UserPrefs.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL-ON_Android/Assets/Language.ini | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL-ON_iOS/Resources/Language.ini | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,14 +1,19 @@ <Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default"> <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs"> <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Pir.cs"> <Files> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/BrandList.cs" Line="132" Column="58" IsPinned="True" /> <File FileName="../../Application.cs" Line="16" Column="35" IsPinned="True" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MyQRCodePage.cs" Line="131" Column="23" IsPinned="True" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs" Line="153" Column="113" IsPinned="True" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs" Line="16" Column="13" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs" Line="237" Column="71" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs" Line="527" Column="23" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" Line="9" Column="24" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs" Line="150" Column="18" IsPinned="True" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs" Line="133" Column="31" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/AddDevice/AddMiniRemoteControlDirection4Page.cs" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" Line="442" Column="22" /> <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs" Line="895" Column="32" /> <File FileName="HDL_ON/UI/UI0-Public/PublicAssmebly.cs" Line="1" Column="1" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs" Line="18" Column="132" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs" Line="322" Column="77" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs" Line="16" Column="40" /> <File FileName="HDL_ON/DAL/Mqtt/MqttClient.cs" Line="338" Column="36" /> <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Pir.cs" Line="1" Column="1" /> </Files> <Pads> <Pad Id="ProjectPad"> @@ -17,6 +22,7 @@ <Node name="HDL_ON" expanded="True"> <Node name="Common" expanded="True" /> <Node name="DAL" expanded="True"> <Node name="Mqtt" expanded="True" /> <Node name="Server" expanded="True" /> </Node> <Node name="Entity" expanded="True"> @@ -33,7 +39,7 @@ <Node name="4-PersonalCenter" expanded="True"> <Node name="PirDevice" expanded="True"> <Node name="View" expanded="True" /> <Node name="Method.cs" selected="True" /> <Node name="Pir.cs" selected="True" /> </Node> </Node> </Node> @@ -41,9 +47,6 @@ </Node> <Node name="HDL-ON_Android" expanded="True"> <Node name="Assets" expanded="True" /> </Node> <Node name="HDL-ON_iOS" expanded="True"> <Node name="Resources" expanded="True" /> </Node> </Node> </State> HDL-ON_Android/Assets/Language.ini
@@ -1395,66 +1395,6 @@ 6079=获取数据失败 6015=在线 6016=离线 6017=版本号 6018=请输入遥控器名称 6019=提示:遥控器创建后可在功能-电器分类{\r\n}查找使用 6020=推荐按键 6021=请输入按键名称 6022=下一步 6023=电源 6024=音量+ 6025=音量- 6026=频道+ 6027=频道- 6028=上 6029=下 6030=左 6031=右 6032=静音 6034=确认 6035=播放 6037=退出 6038=菜单 6039=暂停 6040=返回 6041=停止 6042=主页 6043=快进 6044=快退 6045=定时 6046=复制遥控功能 6047=对准遥控器中心按下相同按键 6048=智能遥控器 6049=添加按键 6050=*长按可进行自定义排序 6051=完成 6052=添加成功 6053=可到分类-功能-电器操作使用 6054=所属分类 6055=遥控器名称 6056=所属区域 6057=继续添加 6058=电器 6059=添加失败 6060=重试 6061=匹配遥控器 6062=请点击以下按钮 6063=确认设备是否有响应 6064=控制失败 6065=控制成功 6066=电源开 6067=模式制冷 6068=风速中风 6069=温度26℃ 6070=删除设备 6071=修改名字 6072=确认删除 6073=取消 7000=新建自动化 7001=编辑自动化 7002=如果 HDL-ON_iOS/Resources/Language.ini
@@ -1394,64 +1394,6 @@ 6078=系统维护中~请稍后再试~ 6079=获取数据失败 6015=在线 6016=离线 6017=版本号 6018=请输入遥控器名称 6019=提示:遥控器创建后可在功能-电器分类{\r\n}查找使用 6020=推荐按键 6021=请输入按键名称 6022=下一步 6023=电源 6024=音量+ 6025=音量- 6026=频道+ 6027=频道- 6028=上 6029=下 6030=左 6031=右 6032=静音 6034=确认 6035=播放 6037=退出 6038=菜单 6039=暂停 6040=返回 6041=停止 6042=主页 6043=快进 6044=快退 6045=定时 6046=复制遥控功能 6047=对准遥控器中心按下相同按键 6048=智能遥控器 6049=添加按键 6050=*长按可进行自定义排序 6051=完成 6052=添加成功 6053=可到分类-功能-电器操作使用 6054=所属分类 6055=遥控器名称 6056=所属区域 6057=继续添加 6058=电器 6059=添加失败 6060=重试 6061=匹配遥控器 6062=请点击以下按钮 6063=确认设备是否有响应 6064=控制失败 6065=控制成功 6066=电源开 6067=模式制冷 6068=风速中风 6069=温度26℃ 6070=删除设备 6071=修改名字 6072=确认删除 6073=取消 7000=新建自动化 7001=编辑自动化 7002=如果 HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs
@@ -892,9 +892,9 @@ /// 信息提示窗口,自动关闭 /// </summary> /// <param name="msg">提示错误文本</param> public void FlashingBox(string msg,int time=2000) public void FlashingBox(string msg,int time=2) { new PublicAssmebly().TipMsgAutoClose(msg, false, time); new PublicAssmebly().TipMsgAutoClose(msg, false, time*1000); } /// <summary> HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -130,62 +130,48 @@ buttonObj.key = "key" + control.status.Count.ToString(); buttonObj.value = texts; PirSend.CodeStudy(control.deviceId, buttonObj, (responsePackNew) => PirSend.CodeStudy(control, buttonObj, (mqttdate) => { if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") if (mqttdate != null) { Method method = new Method(); Method.buttondata = ""; var mqttdate = method.MqttDate("按键", control.sid, 25); if (mqttdate != null) //休眠是为显示引导界面 // System.Threading.Thread.Sleep(3000); //移除添加按钮引导界面 replication.RemView(); var buttonName = control.status.Find((c) => c.value == buttonObj.value); if (buttonName == null) { //休眠是为显示引导界面 // System.Threading.Thread.Sleep(3000); //移除添加按钮引导界面 replication.RemView(); var buttonName = control.status.Find((c) => c.value == buttonObj.value); if (buttonName == null) { //添加数据 control.status.Add(buttonObj); } //移除添加按钮界面 this.RemoveFromParent(); for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--) { var view = MainPage.BasePageView.GetChildren(i); if (view.GetType() == typeof(AddControl)) { //new TipPopView().FlashingBox(Language.StringByID(StringId.tianjiachenggong)); view.RemoveFromParent(); } } //加载数据界面 AddControl addControl = new AddControl(); MainPage.BasePageView.AddChidren(addControl); addControl.Show(control); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; //添加数据 control.status.Add(buttonObj); } else //移除添加按钮界面 this.RemoveFromParent(); for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--) { replication.RemView(); new TipPopView().FlashingBox(Language.StringByID(StringId.tianjiashibai)); var view = MainPage.BasePageView.GetChildren(i); if (view.GetType() == typeof(AddControl)) { //找到移除 view.RemoveFromParent(); } } //加载数据界面 AddControl addControl = new AddControl(); MainPage.BasePageView.AddChidren(addControl); addControl.Show(control); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else { Method method = new Method(); method.ErrorShow(responsePackNew, ""); replication.RemView(); new TipPopView().FlashingBox(Language.StringByID(StringId.tianjiashibai)); } }); }; } HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs
@@ -16,7 +16,7 @@ /// </summary> public static Action BackAction; /// <summary> /// /// 添加图标Btn /// </summary> Button addDevice; /// <summary> @@ -25,6 +25,7 @@ List<DeviceType> DeviceTypeList = new List<DeviceType>(); public void Show() { #region 界面布局 this.BackgroundColor = CSS.CSS_Color.viewMiddle; PirDevice.View.TopView topView = new View.TopView(); topView.topNameBtn.TextID = StringId.hongwaiyaokong; @@ -61,7 +62,10 @@ // middFLayout.AddChidren(addDevice); addDevice.Visible = true; } #endregion #region 界面点击事件 ///下拉刷新界面事件 vv.BeginHeaderRefreshingAction += () => { ////关闭刷新View; @@ -77,8 +81,7 @@ }, Pir.currPir); }; UIView(vv); ///设置图标点击事件 topView.clickSetBtn.MouseUpEventHandler += (sender, e) => { @@ -92,119 +95,59 @@ }); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; ///添加遥控器图标点击事件 addDevice.MouseUpEventHandler += (sender, e) => { FrameLayout frame = new FrameLayout //进来不允许左滑 MainPage.BasePageView.ScrollEnabled = false; View.Buttons buttons = new View.Buttons(); buttons.AddFrameLayout(this, (if_value, view) => { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; this.AddChidren(frame); FrameLayout controlFl = new FrameLayout(); controlFl.Y = Application.GetRealHeight(319); controlFl.X = Application.GetRealWidth(16); controlFl.Width = Application.GetRealWidth(343); controlFl.Height = Application.GetRealHeight(328); controlFl.BackgroundColor = CSS.CSS_Color.view; controlFl.Radius = (uint)Application.GetRealHeight(12); frame.AddChidren(controlFl); ///添加遥控器 Button text3Btn = new Button { Y = Application.GetRealHeight(12), X = Application.GetRealWidth(16), Width = Application.GetRealWidth(343 - 16 * 2), Height = Application.GetRealHeight(20), TextSize = TextSize.text14, TextColor = CSS.CSS_Color.textConfirmColor, TextAlignment = TextAlignment.Center, TextID = StringId.tianjiayaokongqi, IsBold = true, }; controlFl.AddChidren(text3Btn); frame.MouseUpEventHandler += (sender1, e1) => { frame.RemoveFromParent(); }; int line = 0; for (int i = 1, j = 0; i <= 7; i++, j++) { var currpirdeviceFLayout = new FrameLayout //关闭允许左滑 MainPage.BasePageView.ScrollEnabled = true; //1=空调;2=电视;3=风扇;4=机顶盒;5=DVD/EVD/VCD;6=投影仪;7=自定义; if (if_value == 7) { Width = Application.GetRealWidth(80), Height = Application.GetRealWidth(80), X = Application.GetRealWidth(26 + (80 + 25) * j), Y = Application.GetRealHeight(52 + (80 + 12) * line), }; controlFl.AddChidren(currpirdeviceFLayout); var deviceIconBtn = new Button { Y = Application.GetRealHeight(8), X = Application.GetRealWidth(20), Width = Application.GetRealWidth(40), Height = Application.GetRealWidth(40), UnSelectedImagePath = "PirIcon/Infraredtreasure.png", }; currpirdeviceFLayout.AddChidren(deviceIconBtn); var iconNameBtn = new Button { Y = deviceIconBtn.Bottom + Application.GetRealHeight(8), Width = Application.GetRealWidth(80), Height = Application.GetRealHeight(17), TextSize = TextSize.text12, TextColor = CSS.CSS_Color.TextualColor, TextAlignment = TextAlignment.Center, }; currpirdeviceFLayout.AddChidren(iconNameBtn); var clickBtn = new Button { Tag = i }; currpirdeviceFLayout.AddChidren(clickBtn); if (i % 3 == 0) { //满一行重置j=0值; j = -1; line += 1; } GetIconAndText(i, deviceIconBtn, iconNameBtn); clickBtn.MouseUpEventHandler += (sender2, e2) => { //1=空调;2=电视;3=风扇;4=机顶盒;5=DVD/EVD/VCD;6=投影仪;7=自定义; int if_value = int.Parse(clickBtn.Tag.ToString()); if (if_value == 7) Method method = new Method(); method.AddControl(this, (control) => { Method method = new Method(); method.AddControl(this, (control) => //成功后移除; view.RemoveFromParent(); AddButton addButton = new AddButton(); MainPage.BasePageView.AddChidren(addButton); addButton.Show(control); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); } else { if (if_value == 3 || if_value == 4 || if_value == 5 || if_value == 6) { new TipPopView().FlashingBox("暂时不支持该功能."); return; } if (DeviceTypeList.Count == 0) { GetDeviceTypeList(true, () => { //成功后移除; frame.RemoveFromParent(); AddButton addButton = new AddButton(); MainPage.BasePageView.AddChidren(addButton); addButton.Show(control); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; DeviceTypeViewClick(if_value); //获取成功之后移除 view.RemoveFromParent(); }); } else { //进来都要移除; frame.RemoveFromParent(); if (DeviceTypeList.Count == 0) { GetDeviceTypeList(true, () => { DeviceTypeViewClick(if_value); }); } else { DeviceTypeViewClick(if_value); } DeviceTypeViewClick(if_value); view.RemoveFromParent(); } }; } } }, 7); }; #endregion ///初始化界面 UIView(vv); } /// <summary> @@ -250,7 +193,6 @@ for (int j = 0; j < Pir.currPir.FunctioList.Count; j++) { var control = Pir.currPir.FunctioList[j]; View.ControlView controlView = new View.ControlView(); controlView.Show(pirView.devfLayout, j); //遥控器名称 @@ -313,10 +255,11 @@ /// <summary> /// 设备进入下一级方法 /// </summary> /// <param name="if_value"></param> /// <param name="if_value">控件索引值</param> private void DeviceTypeViewClick(int if_value) { var strings = GetTypeString(if_value).Split('-'); var strings = View.Buttons.GetTypeString(if_value).Split('-'); var jobDeviceType = DeviceTypeList.Find((c) => c.deviceType == strings[0]); if (jobDeviceType == null) { @@ -334,118 +277,9 @@ } /// <summary> /// 获取设备类型str /// </summary> /// <param name="index">索引值</param> private string GetTypeString(int index) { string type = ""; switch (index) { case 1: { //空调 type = "ac-" + SPK.AcIr; } break; case 2: { //电视 type = "tv-" + SPK.TvIr; } break; case 3: { //风扇 // type = "fan-" + SPK.ElectricFan; } break; case 4: { //机顶盒 // type = "set_top_box-" + SPK.ElectricTV; } break; case 5: { //影碟机 // type = "dvd-" + SPK.ElectricTV; } break; case 6: { //投影仪 // type = "projector-" + SPK.ElectricTV; } break; } return type; } /// <summary> /// 设置图片和备注 /// </summary> /// <param name="index">索引值</param> /// <param name="deviceIconBtn">图标Btn</param> /// <param name="deviceNameBtn">设备备注Btn</param> private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn) { string iconPath = ""; int deviceNameIndex = 0; switch (index) { case 1: { iconPath = "PirIcon/air.png"; deviceNameIndex = StringId.kongtiao; } break; case 2: { iconPath = "PirIcon/tv.png"; deviceNameIndex = StringId.dianshi; } break; case 3: { iconPath = "PirIcon/fan.png"; deviceNameIndex = StringId.fengshan; } break; case 4: { iconPath = "PirIcon/stb.png"; deviceNameIndex = StringId.jidinghe; } break; case 5: { iconPath = "PirIcon/dvd.png"; deviceNameIndex = StringId.dvd; } break; case 6: { iconPath = "PirIcon/projector.png"; deviceNameIndex = StringId.touyingyi; } break; case 7: { iconPath = "PirIcon/custom.png"; deviceNameIndex = StringId.zidingyi; } break; } deviceIconBtn.UnSelectedImagePath = iconPath; deviceNameBtn.TextID = deviceNameIndex; } /// <summary> /// 读取红外设备类型列表 /// </summary> /// <param name="tag">标识要不要提示(true=提示)</param> /// <param name="tag">表示要不要提示错误信息(true=提示)</param> /// <param name="action">回调函数</param> public void GetDeviceTypeList(bool tag, Action action) { HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs
@@ -150,7 +150,7 @@ /// 红外码学习 /// </summary> /// <returns></returns> public static void CodeStudy(string deviceId, AttributesStatus buttonObj,Action<ResponsePackNew> action) public static void CodeStudy(Control control, AttributesStatus buttonObj, Action<Cloud> action) { var job = new JObject { }; job.Add("key", buttonObj.key); @@ -160,22 +160,33 @@ job.Add("value", valuejArray); var jArray = new JArray { }; jArray.Add(job); var jObject = new JObject { { "homeId", HomeId }, { "deviceId", deviceId }, { "attributes", jArray } }; ResponsePackNew responsePackNew = null; var jObject = new JObject { { "homeId", HomeId }, { "deviceId", control.deviceId }, { "attributes", jArray } }; Cloud cloud = null; new System.Threading.Thread(() => { try { //发送红外码学习命令 responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy); var responsePackNew = RequestServerhomeId(jObject, NewAPI.API_POST_Ir_CodeStudy); if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") { Method method = new Method(); Method.buttondata = ""; cloud = method.MqttDate("按键", control.sid, 25); } else { Method method = new Method(); method.ErrorShow(responsePackNew, ""); } } catch { } finally { Application.RunOnMainThread(() => { action(responsePackNew); action(cloud); }); } @@ -267,7 +278,6 @@ { IsBackground = true }.Start(); } /// <summary> ///请求服务器(与住宅有关:例如;homeId) /// </summary> HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/SetPir.cs
@@ -42,11 +42,11 @@ editNameFLayout.btnNextIcon.Width = Application.GetRealWidth(28); editNameFLayout.btnNextIcon.UnSelectedImagePath = "LogicIcon/editname.png"; viewLayout.AddChidren(editNameFLayout.FLayoutView()); ///版本升级 FrameLayout50 banbenshengjiFL = new FrameLayout50(); banbenshengjiFL.btnText.Text = Language.StringByID(StringId.banbenshengji); banbenshengjiFL.frameLayout.Y = editNameFLayout.frameLayout.Bottom; viewLayout.AddChidren(banbenshengjiFL.FLayoutView()); /////版本升级 //FrameLayout50 banbenshengjiFL = new FrameLayout50(); //banbenshengjiFL.btnText.Text = Language.StringByID(StringId.banbenshengji); //banbenshengjiFL.frameLayout.Y = editNameFLayout.frameLayout.Bottom; //viewLayout.AddChidren(banbenshengjiFL.FLayoutView()); var versions = Pir.currPir.versions.Find((c)=>c.module== "fw_version"); if (versions == null) @@ -57,7 +57,7 @@ FrameLayout50 banbenhaoFLayout = new FrameLayout50(); banbenhaoFLayout.btnNextIcon.Visible = false; banbenhaoFLayout.btnText.Text = Language.StringByID(StringId.banbenhao) + ":"+ versions.version; banbenhaoFLayout.frameLayout.Y = banbenshengjiFL.frameLayout.Bottom; banbenhaoFLayout.frameLayout.Y = editNameFLayout.frameLayout.Bottom;// banbenshengjiFL.frameLayout.Bottom; viewLayout.AddChidren(banbenhaoFLayout.FLayoutView()); //删除 FrameLayout frameLayout = new FrameLayout HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/Buttons.cs
@@ -1,5 +1,6 @@ using System; using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.UI2.Intelligence.Automation.LogicView; using Shared; namespace HDL_ON.UI.UI2.PersonalCenter.PirDevice.View @@ -59,6 +60,206 @@ } /// <summary> /// 动态加载按钮列表 /// </summary> /// <param name="FLayout">父控件</param> /// <param name="action">回调</param> /// <param name="sum">多少个FrameLayout控件</param> public void AddFrameLayout(FrameLayout FLayout, Action<int,FrameLayout> action, int sum) { FrameLayout viewFLayout = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; FLayout.AddChidren(viewFLayout); FrameLayout controlFl = new FrameLayout(); controlFl.Y = Application.GetRealHeight(319); controlFl.X = Application.GetRealWidth(16); controlFl.Width = Application.GetRealWidth(343); controlFl.Height = Application.GetRealHeight(328); controlFl.BackgroundColor = CSS.CSS_Color.view; controlFl.Radius = (uint)Application.GetRealHeight(12); viewFLayout.AddChidren(controlFl); ///添加遥控器 Button text3Btn = new Button { Y = Application.GetRealHeight(12), X = Application.GetRealWidth(16), Width = Application.GetRealWidth(343 - 16 * 2), Height = Application.GetRealHeight(20), TextSize = TextSize.text14, TextColor = CSS.CSS_Color.textConfirmColor, TextAlignment = TextAlignment.Center, TextID = StringId.tianjiayaokongqi, IsBold = true, }; controlFl.AddChidren(text3Btn); viewFLayout.MouseUpEventHandler += (sender1, e1) => { //关闭允许左滑 MainPage.BasePageView.ScrollEnabled = true; viewFLayout.RemoveFromParent(); }; int line = 0; for (int i = 1, j = 0; i <= sum; i++, j++) { var currpirdeviceFLayout = new FrameLayout { Width = Application.GetRealWidth(80), Height = Application.GetRealWidth(80), X = Application.GetRealWidth(26 + (80 + 25) * j), Y = Application.GetRealHeight(52 + (80 + 12) * line), }; controlFl.AddChidren(currpirdeviceFLayout); var deviceIconBtn = new Button { Y = Application.GetRealHeight(8), X = Application.GetRealWidth(20), Width = Application.GetRealWidth(40), Height = Application.GetRealWidth(40), UnSelectedImagePath = "PirIcon/Infraredtreasure.png", }; currpirdeviceFLayout.AddChidren(deviceIconBtn); var iconNameBtn = new Button { Y = deviceIconBtn.Bottom + Application.GetRealHeight(8), Width = Application.GetRealWidth(80), Height = Application.GetRealHeight(17), TextSize = TextSize.text12, TextColor = CSS.CSS_Color.TextualColor, TextAlignment = TextAlignment.Center, }; currpirdeviceFLayout.AddChidren(iconNameBtn); var clickBtn = new Button { Tag = i }; currpirdeviceFLayout.AddChidren(clickBtn); if (i % 3 == 0) { //满一行重置j=0值; j = -1; line += 1; } GetIconAndText(i, deviceIconBtn, iconNameBtn); clickBtn.MouseUpEventHandler += (sender2, e2) => { //1=空调;2=电视;3=风扇;4=机顶盒;5=DVD/EVD/VCD;6=投影仪;7=自定义; int if_value = int.Parse(clickBtn.Tag.ToString()); action(if_value, viewFLayout); }; } } /// <summary> /// 设置图片和备注 /// </summary> /// <param name="index">索引值</param> /// <param name="deviceIconBtn">图标Btn</param> /// <param name="deviceNameBtn">设备备注Btn</param> private void GetIconAndText(int index, Button deviceIconBtn, Button deviceNameBtn) { string iconPath = ""; int deviceNameIndex = 0; switch (index) { case 1: { iconPath = "PirIcon/air.png"; deviceNameIndex = StringId.kongtiao; } break; case 2: { iconPath = "PirIcon/tv.png"; deviceNameIndex = StringId.dianshi; } break; case 3: { iconPath = "PirIcon/fan.png"; deviceNameIndex = StringId.fengshan; } break; case 4: { iconPath = "PirIcon/stb.png"; deviceNameIndex = StringId.jidinghe; } break; case 5: { iconPath = "PirIcon/dvd.png"; deviceNameIndex = StringId.dvd; } break; case 6: { iconPath = "PirIcon/projector.png"; deviceNameIndex = StringId.touyingyi; } break; case 7: { iconPath = "PirIcon/custom.png"; deviceNameIndex = StringId.zidingyi; } break; } deviceIconBtn.UnSelectedImagePath = iconPath; deviceNameBtn.TextID = deviceNameIndex; } /// <summary> /// 获取设备类型str /// </summary> /// <param name="index">索引值</param> public static string GetTypeString(int index) { string type = ""; switch (index) { case 1: { //空调 type = "ac-" + SPK.AcIr; } break; case 2: { //电视 type = "tv-" + SPK.TvIr; } break; case 3: { //风扇 // type = "fan-" + SPK.ElectricFan; } break; case 4: { //机顶盒 // type = "set_top_box-" + SPK.ElectricTV; } break; case 5: { //影碟机 // type = "dvd-" + SPK.ElectricTV; } break; case 6: { //投影仪 // type = "projector-" + SPK.ElectricTV; } break; } return type; } /// <summary> /// 获取列表 /// </summary> /// <param name="tag">标记值</param>