From 45e4e387f3ef259b9e225fdd543e20be285a5112 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期二, 29 十月 2019 13:42:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-wjc --- ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 287 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 166 insertions(+), 121 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs old mode 100644 new mode 100755 index bf83ea6..5e29b1c --- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs @@ -90,7 +90,7 @@ /// <summary> /// 璁惧绫诲瀷RowLayout /// </summary> - private RowLayout typeRowLayout; + private FrameLayout typeRowLayout; /// <summary> /// 妤煎眰 /// </summary> @@ -162,10 +162,10 @@ { case DeviceType.OnOffOutput: //寮�鍏冲姛鑳� - if ((common as ToggleLight).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var light = deviceUI.CommonDevice as ToggleLight; - light.DeviceStatusReport = (common as ToggleLight).DeviceStatusReport; + light.DeviceStatusReport = common.DeviceStatusReport; for (int j = 0; j < rowLayout.ChildrenCount; j++) { var tempView = rowLayout.GetChildren(j); @@ -187,7 +187,7 @@ } } } - if ((common as ToggleLight).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { var light = deviceUI.CommonDevice as ToggleLight; light.IsOnline = 1; @@ -210,10 +210,10 @@ case DeviceType.AirSwitch: //寮�鍏冲姛鑳� - if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.DeviceStatusReport = (common as ZigBee.Device.AirSwitch).DeviceStatusReport; + airSwitch.DeviceStatusReport = common.DeviceStatusReport; for (int j = 0; j < rowLayout.ChildrenCount; j++) { var tempView = rowLayout.GetChildren(j); @@ -235,7 +235,7 @@ } } } - if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; airSwitch.IsOnline = 1; @@ -256,7 +256,7 @@ } break; case DeviceType.WindowCoveringDevice: - if ((common as Rollershade).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { var rollerShape = deviceUI.CommonDevice as Rollershade; //璁板綍鍥炲鏃堕棿 @@ -279,15 +279,15 @@ case DeviceType.Thermostat: //AC鍔熻兘 - if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 513) + if (common.DeviceStatusReport.CluterID == 513) { - var attriButeList = (common as ZigBee.Device.AC).DeviceStatusReport.AttriBute; + var attriButeList = common.DeviceStatusReport.AttriBute; if (attriButeList == null || attriButeList.Count == 0) { return; } var ac = deviceUI.CommonDevice as ZigBee.Device.AC; - ac.DeviceStatusReport = (common as ZigBee.Device.AC).DeviceStatusReport; + ac.DeviceStatusReport = common.DeviceStatusReport; switch (attriButeList[0].AttributeId) { case 0: @@ -336,7 +336,7 @@ } } - if ((common as ZigBee.Device.AC).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { var ac = deviceUI.CommonDevice as ZigBee.Device.AC; ac.IsOnline = 1; @@ -358,10 +358,10 @@ break; case DeviceType.DimmableLight: //璋冨厜鐏姛鑳� - if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; - dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport; + dimmableLight.DeviceStatusReport = common.DeviceStatusReport; for (int j = 0; j < rowLayout.ChildrenCount; j++) { var tempView = rowLayout.GetChildren(j); @@ -383,7 +383,7 @@ } } } - if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 3) + if (common.DeviceStatusReport.CluterID == 3) { var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; dimmableLight.IsOnline = 1; @@ -543,7 +543,7 @@ /// <param name="selectedBtn">閫変腑閭d釜鐣岄潰 0--鍔熻兘 1--鍦烘櫙 2--鑷姩鍖� </param> public void Show(int selectedBtn = 1) { - + ZbGateway.StatusList.Add(this); RemoveAll(); @@ -585,7 +585,7 @@ var midFL = new FrameLayout { Y = topView.Bottom, - Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - topView.Bottom, + Height = Application.GetRealHeight(1549), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; AddChidren(midFL); @@ -596,18 +596,17 @@ BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; midFL.AddChidren(functionSceneAutoBG); - //鍔熻兘 - functionBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68); - functionSceneAutoBG.AddChidren(functionBtn); - functionBtn.Init(); - functionBtn.SetTitle(R.MyInternationalizationString.Function); //鍦烘櫙 - sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68); + sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68); functionSceneAutoBG.AddChidren(sceneBtn); sceneBtn.Init(); sceneBtn.SetTitle(R.MyInternationalizationString.Scence); - + //鍔熻兘 + functionBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68); + functionSceneAutoBG.AddChidren(functionBtn); + functionBtn.Init(); + functionBtn.SetTitle(R.MyInternationalizationString.Function); //鑷姩鍖� automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20, 34, 150, 68); automationBtn.Init(); @@ -705,7 +704,7 @@ { var floors = new SelectFloor (); AddChidren(floors); - floors.Init(599,357,Direction.Right); + floors.Init(580,330,Direction.Right); floors.FloorAction += (floorName) => { floorBtn.Text = floorName; @@ -901,11 +900,10 @@ deviceListScrolView = new VerticalScrolViewLayout { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = functionTypeScrowView.Bottom + Application.GetRealHeight(50), + Y = Application.GetRealHeight(35+275), Width = Application.GetRealWidth(1028), - Height = functionSceneBodyView.Height - Application.GetRealHeight(279 + 50) - 1, + Height = Application.GetRealHeight(938) - 1, BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor - }; functionSceneBodyView.AddChidren(deviceListScrolView); tempFunctionTypeBtn = new FunctionButton(); @@ -993,18 +991,18 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), + Height = Application.GetRealHeight(129 + 35), LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); deviceRow.SetStatu(light.IsOnline == 1); + deviceRow.SetZoneText(deviceUI.GetZone()); deviceTypeRowLayout.AddChidren(deviceRow); - deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => { @@ -1012,8 +1010,9 @@ sendedControlCommand = false; zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; - if ((send2 as CommonForm.SelectedStatuButton).IsSelected) + (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + deviceRow.IsSelected = (send2 as Button).IsSelected; + if ((send2 as Button).IsSelected) { light.SwitchControl(1); } @@ -1034,6 +1033,15 @@ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); + }; + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + var lightControl = new Phone.Device.Light.LightControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); }; var editBtn = new CommonForm.RowLayoutEditButton() @@ -1086,10 +1094,11 @@ }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); deviceRow.SetStatu(airSwitch.IsOnline == 1); + deviceRow.SetZoneText(deviceUI.GetZone()); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1121,6 +1130,15 @@ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); + }; + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + var lightControl = new Phone.Device.Light.LightControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); }; var editBtn = new CommonForm.RowLayoutEditButton() @@ -1169,16 +1187,17 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), + Height = Application.GetRealHeight(129 + 35), LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); deviceRow.SetStatu(dimmableLight.IsOnline == 1); + deviceRow.SetZoneText(deviceUI.GetZone()); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1210,6 +1229,16 @@ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); + }; + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); + UserView.HomePage.Instance.AddChidren(dimmableLightControl); + UserView.HomePage.Instance.PageIndex += 1; + UserView.HomePage.Instance.ScrollEnabled = false; + dimmableLightControl.action = RefreshBodyView; + dimmableLightControl.Show(deviceUI, room); }; var editBtn = new CommonForm.RowLayoutEditButton() @@ -1424,10 +1453,9 @@ foreach (var deviceType in Common.Room.GetdeviceTypes(room)) { - typeRowLayout = new RowLayout() + typeRowLayout = new FrameLayout() { Width = Application.GetRealWidth(CommonPage.AppRealWidth / 5), - LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceType }; functionTypeScrowView.AddChidren(typeRowLayout); @@ -1440,16 +1468,13 @@ functionTypeIMG.SetTitle(DeviceUI.GetDeviceTypeName(deviceType)); typeRowLayout.AddChidren(functionTypeIMG); + functionTypeIMG.ClickBtn.MouseUpEventHandler += ShowSameTypeFunction; - functionTypeIMG.ImageBtn.MouseUpEventHandler += ShowSameTypeFunction; - functionTypeIMG.NameBtn.MouseUpEventHandler += ShowSameTypeFunction; - functionTypeIMG.ImageBG.MouseUpEventHandler += ShowSameTypeFunction; if (deviceType == room.DeviceUIList[0].CommonDevice.Type) { ShowSameTypeFunction(functionTypeIMG.ImageBtn, null); } - } @@ -1464,7 +1489,7 @@ var roomFL = new HorizontalScrolViewLayout() { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Height = Application.GetRealHeight(167), + Height = Application.GetRealHeight(170), Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonFormResouce.X_Left), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; @@ -1474,7 +1499,7 @@ functionSceneBodyView = new FrameLayout() { Y = roomFL.Bottom, - Height = Application.GetRealHeight(1316), + Height = Application.GetRealHeight(973+279), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; functionSceneAutoBodyView.AddChidren(functionSceneBodyView); @@ -1482,11 +1507,10 @@ Button curBtn = new Button(); foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom()) { - var row = new RowLayout() + var row = new FrameLayout() { Width = Application.GetRealWidth(187 + 50), - Height = Application.GetRealHeight(167), - LineColor = ZigbeeColor.Current.GXCGrayBackgroundColor + Height = Application.GetRealHeight(167) }; roomFL.AddChidren(row); @@ -1518,7 +1542,7 @@ { RefreshFunction(room); } - + } roomBtn.MouseUpEventHandler += (sender, e) => { @@ -1539,7 +1563,7 @@ } }; } - + } #endregion @@ -1559,6 +1583,7 @@ /// <param name="room"></param> public void RefreshScene(Common.Room room) { + functionSceneBodyView.RemoveAll(); var sceneList = room.SceneUIList; if (sceneList.Count == 0) { @@ -1568,7 +1593,7 @@ { var sceneScrolView = new VerticalScrolViewLayout { - Y = Application.GetRealHeight(58) + //Y = Application.GetRealHeight(58) }; functionSceneBodyView.AddChidren(sceneScrolView); foreach (var scene in sceneList) @@ -1618,20 +1643,48 @@ Width = Application.GetMinRealAverage(65), Height = Application.GetMinRealAverage(65), UnSelectedImagePath = "Item/Collection.png", - SelectedImagePath = "Item/CollectionSelected.png" + SelectedImagePath = "Item/CollectionSelected.png", + IsSelected = Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName), + Tag = scene }; leftFL.AddChidren(collectionBtn); var sceneNameBtn = new Button() { Width = Application.GetRealWidth(176), - Height = Application.GetRealHeight(200), + Height = Application.GetRealHeight(150), TextColor = ZigbeeColor.Current.GXCTextWhiteColor, Text = scene.Name, Gravity = Gravity.Center, IsMoreLines = true }; leftFL.AddChidren(sceneNameBtn); + + var collection = new Button + { + Tag=scene + }; + leftFL.AddChidren(collection); + collection.MouseUpEventHandler += (sender, e) => + { + if (room.IsLove) + { + Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene); + sceneScrolView.RemoveViewByTag(collectionBtn.Tag); + } + else + { + collectionBtn.IsSelected = !collectionBtn.IsSelected; + if (collectionBtn.IsSelected) + { + Common.Room.CurrentRoom.GetLoveRoom().AddScene(scene); + } + else + { + Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene); + } + } + }; //瀹氭椂 var delayBtn = new RowLayoutDeleteButton @@ -1644,7 +1697,7 @@ //缂栬緫 var settingBtn = new Device.CommonForm.RowLayoutEditButton() { - TextID = R.MyInternationalizationString.Setting, + TextID = R.MyInternationalizationString.Editor, Tag = scene.SceneDelayTime }; //鍒犻櫎 @@ -1694,83 +1747,75 @@ //鍒犻櫎鍦烘櫙 EventHandler<MouseEventArgs> delEvent = (sender, e) => { - var tip = new CustomAlert { }; - AddChidren(tip); - tip.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete)); - - //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); - //alert.Show(); - tip.ResultEventHandler += async (e1) => + if(room.IsLove) { - if (e1) + Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteScene(scene); + sceneScrolView.RemoveViewByTag((sender as Button).Tag); + } + else + { + var tip = new CustomAlert { }; + AddChidren(tip); + tip.Show(Language.StringByID(R.MyInternationalizationString.ConfirmDelete)); + + //var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); + //alert.Show(); + tip.ResultEventHandler += async (e1) => { - //0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅� - var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id); - if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null) + if (e1) { - //CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheMainGatewayIsNotOnLine); - CommonPage.Instance.FailureToServer(); - return; + //0 绉婚櫎澶辫触 1 绉婚櫎鎴愬姛 2 娌℃湁璇ュ満鏅� + var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id); + if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null) + { + //CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheMainGatewayIsNotOnLine); + CommonPage.Instance.FailureToServer(); + return; + } + //1鎴愬姛 + if (removeSceneAllData.removeSceneData.Result == 1) + { + room.RemoveScene(scene); + //RefreshBodyView(); + sceneScrolView.RemoveViewByTag((sender as Button).Tag); + } + //0 绉婚櫎澶辫触 + else if (removeSceneAllData.removeSceneData.Result == 0) + { + CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain); + return; + } + //2 娌℃湁璇ュ満鏅� + else if (removeSceneAllData.removeSceneData.Result == 2) + { + room.RemoveScene(scene); + //RefreshBodyView(); + sceneScrolView.RemoveViewByTag((sender as Button).Tag); + CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneIsNull); + return; + } } - //1鎴愬姛 - if (removeSceneAllData.removeSceneData.Result == 1) - { - room.RemoveScene(scene); - //RefreshBodyView(); - sceneScrolView.RemoveViewByTag((sender as Button).Tag); - } - //0 绉婚櫎澶辫触 - else if (removeSceneAllData.removeSceneData.Result == 0) - { - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.FailedPleaseTryAgain); - return; - } - //2 娌℃湁璇ュ満鏅� - else if (removeSceneAllData.removeSceneData.Result == 2) - { - room.RemoveScene(scene); - //RefreshBodyView(); - sceneScrolView.RemoveViewByTag((sender as Button).Tag); - CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.TheSceneIsNull); - return; - } - } - }; + }; + } + }; deleteBtn.MouseUpEventHandler += delEvent; //缂栬緫鍦烘櫙 settingBtn.MouseUpEventHandler += (sender, e) => { - SceneRoomUI.EditScene(scene,room); + SceneUI.EditScene(scene, room); }; //缂栬緫寤舵椂 delayBtn.MouseUpEventHandler += (sender, e) => { - var tList = new List<string>() { }; - - for (int i = 0; i < 60; i++) + var timeSelect = new SelectTime(); + CommonPage.Instance.AddChidren(timeSelect); + timeSelect.TempTime = scene.SceneDelayTime; + timeSelect.Init(); + timeSelect.TimeAction = (t) => { - tList.Add($"{i} {Language.StringByID(R.MyInternationalizationString.Second)}"); - } - //int beforeIndex = (int)(sender as CommonForm.RowLayoutEditButton).Tag; - //PickerView.Show(tList, (obj) => - //{ - // var tempRoom = Shared.Common.Room.GetRoomByFilePath(sceneRoomUI.room.FileName); - // if (tempRoom == null) - // { - // return; - // } - // foreach (var ss in tempRoom.SceneUIList) - // { - // if (ss.Id == sceneRoomUI.sceneUI.Id) - // { - // //ss.SceneDelayTime = int.Parse(obj.Split(' ')[0]); - // sceneRoomUI.room.Save(); - // RefreshBodyView(); - // return; - // } - // } - //}, Language.StringByID(R.MyInternationalizationString.Confrim), tList[(int)(sender as CommonForm.RowLayoutEditButton).Tag]); + scene.SceneDelayTime = t; + }; }; } } @@ -1815,9 +1860,9 @@ /// </summary> private async void ShowAutotion() { - + functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - + var bjFrameLayout = new FrameLayout { Width = Application.GetRealWidth(1080 - 58), @@ -1950,7 +1995,7 @@ } else { - + Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; Logic.TemplatePage templatePage = new Logic.TemplatePage(); Logic.TemplatePage.s = logiciocnBtn.Tag.ToString(); @@ -2086,7 +2131,7 @@ Text = Language.StringByID(MyInternationalizationString.edit), TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, }; - bjRow.AddRightView(edit); + logicRowlayout.AddRightView(edit); edit.MouseUpEventHandler += (sender, e) => { Common.Logic.CurrentLogic = logic; @@ -2105,7 +2150,7 @@ Text = Language.StringByID(MyInternationalizationString.del), TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, }; - bjRow.AddRightView(del); + logicRowlayout.AddRightView(del); del.MouseUpEventHandler += (sender, e) => { var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), -- Gitblit v1.8.0