New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared.Common; |
| | | |
| | | namespace Shared.Phone.Category |
| | | { |
| | | public class SelectHouseForm : UserCenter.FrameLayoutBase |
| | | { |
| | | public Action<string> HouseAction; |
| | | |
| | | Dialog dialogBackground; |
| | | /// <summary> |
| | | /// Init |
| | | /// </summary> |
| | | public void Init() |
| | | { |
| | | dialogBackground = new Dialog |
| | | { |
| | | BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor |
| | | }; |
| | | dialogBackground.Show(); |
| | | var dialog = new FrameLayout() |
| | | { |
| | | }; |
| | | dialogBackground.AddChidren(dialog); |
| | | |
| | | dialog.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | RemoveView(); |
| | | }; |
| | | |
| | | var bg = new Button |
| | | { |
| | | X = Application.GetRealWidth(35), |
| | | Y = Application.GetRealHeight(256), |
| | | Width = this.GetPictrueRealSize(449), |
| | | Height = this.GetPictrueRealSize(773), |
| | | UnSelectedImagePath = "Floor/SelectFloor_Left_4.png" |
| | | }; |
| | | dialog.AddChidren(bg); |
| | | |
| | | var changeHomeFL = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(35), |
| | | Y = Application.GetRealHeight(256+23), |
| | | Width = this.GetPictrueRealSize(449), |
| | | Height = this.GetPictrueRealSize(773 - 23) |
| | | }; |
| | | dialog.AddChidren(changeHomeFL); |
| | | |
| | | var changeHomeBtn = new Button() |
| | | { |
| | | X = Application.GetRealWidth(80), |
| | | Width = this.GetPictrueRealSize(350), |
| | | Height = this.GetPictrueRealSize(150), |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextID = R.MyInternationalizationString.ChangeHome, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 14, |
| | | IsBold = true |
| | | }; |
| | | changeHomeFL.AddChidren(changeHomeBtn); |
| | | |
| | | var scrolView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = changeHomeBtn.Bottom, |
| | | Width = this.GetPictrueRealSize(449), |
| | | Height = this.GetPictrueRealSize(600), |
| | | VerticalScrollBarEnabled = false |
| | | }; |
| | | changeHomeFL.AddChidren(scrolView); |
| | | |
| | | var houseCount = Config.Instance.HomeFilePathList.Count; |
| | | if (Config.Instance.HomeFilePathList.Count > 0) |
| | | { |
| | | if (houseCount > 5) |
| | | { |
| | | bg.UnSelectedImagePath = $"Floor/SelectFloor_Left_5.png"; |
| | | bg.Height = this.GetPictrueRealSize(150 * 6 + 23); |
| | | changeHomeFL.Height = this.GetPictrueRealSize(150 * 6); |
| | | scrolView.Height = this.GetPictrueRealSize(150 * 5); |
| | | } |
| | | else |
| | | { |
| | | bg.UnSelectedImagePath = $"Floor/SelectFloor_Left_{houseCount}.png"; |
| | | bg.Height = this.GetPictrueRealSize(150 * (houseCount + 1) + 23); |
| | | changeHomeFL.Height = this.GetPictrueRealSize(150 * (houseCount + 1)); |
| | | scrolView.Height = this.GetPictrueRealSize(150 * houseCount); |
| | | } |
| | | |
| | | foreach (var housePath in Config.Instance.HomeFilePathList) |
| | | { |
| | | var home = UserCenter.HdlResidenceLogic.Current.GetHouseByFilePath(housePath); |
| | | if (home == null) |
| | | { |
| | | continue; |
| | | } |
| | | AddFloor(scrolView, home); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// AddFloor |
| | | /// </summary> |
| | | /// <param name="verticalScrolView"></param> |
| | | private void AddFloor(VerticalScrolViewLayout verticalScrolView, House house) |
| | | { |
| | | var frow = new Device.CommonForm.LeftIconButtonRow(449, 150); |
| | | frow.Width = this.GetPictrueRealSize(449); |
| | | frow.Height = this.GetPictrueRealSize(150); |
| | | frow.Tag = house.FileName; |
| | | frow.Init("Item/House.png", "Item/HouseSelected.png", house.Name); |
| | | verticalScrolView.AddChidren(frow); |
| | | if (Config.Instance.HomeId == house.Id) |
| | | { |
| | | frow.IsSelected = true; |
| | | } |
| | | |
| | | frow.ButtonClickEvent += SelectFloor_MouseUpEvent; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// SelectFloor_MouseUpEvent |
| | | /// </summary> |
| | | /// <param name="sender"></param> |
| | | /// <param name="mouseEventArgs"></param> |
| | | private void SelectFloor_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) |
| | | { |
| | | (sender as Device.CommonForm.LeftIconButtonRow).IsSelected = true; |
| | | var home = UserCenter.HdlResidenceLogic.Current.GetHouseByFilePath((sender as Device.CommonForm.LeftIconButtonRow).Tag.ToString()); |
| | | RemoveView(); |
| | | HouseAction?.Invoke(home.Id); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// RemoveView |
| | | /// </summary> |
| | | private void RemoveView() |
| | | { |
| | | dialogBackground.Close(); |
| | | RemoveFromParent(); |
| | | } |
| | | } |
| | | } |