黄学彪
2020-12-16 0d9f64668fd7350d6a21fd157e32009a96d98134
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
using System;
using System.Collections.Generic;
using Shared.Common;
 
namespace Shared.Phone.Category
{
    public class SelectHouseForm : 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 listHouse = HdlResidenceLogic.Current.GetLocalResidenceList();
            var houseCount = listHouse.Count;
            if (houseCount > 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 house in listHouse)
                {
                    AddFloor(scrolView, house);
                }
            }
        }
 
        /// <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 += (sender, e) =>
            {
                RemoveView();
                HouseAction?.Invoke(house.Id);
            };
        }
 
        /// <summary>
        /// RemoveView
        /// </summary>
        private void RemoveView()
        {
            dialogBackground.Close();
            RemoveFromParent();
        }
    }
}