using System; using Shared.Common; using Shared.Phone.UserView; namespace Shared.Phone.Device.CommonForm { public class RoomView:FrameLayout { /// /// Room /// private Common.Room room; /// /// action /// public Action action; /// /// RoomView /// /// /// public RoomView(int x, int y) { X = Application.GetRealWidth(x); Y = Application.GetRealHeight(y); Width = Application.GetRealWidth(487); Height = Application.GetRealHeight(348); } /// /// Init /// /// public void Init(Common.Room r) { this.room = r; var roomBackView = new FrameLayout() { Width = Application.GetRealWidth(717), Height = Application.GetRealHeight(478) }; AddChidren(roomBackView); var roomImg = new ImageView() { ImagePath = room.BackgroundImageType == 0 ? room.BackgroundImage : System.IO.Path.Combine(Config.Instance.FullPath, room.BackgroundImage), Radius = (uint)Application.GetRealHeight(17) }; roomBackView.AddChidren(roomImg); var roomNameBackground = new FrameLayout { X = Application.GetRealWidth(29), Y = Application.GetRealHeight(282), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(80), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor2 }; roomBackView.AddChidren(roomNameBackground); roomNameBackground.SetCornerWithSameRadius(Application.GetRealHeight(40), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight); var roomName = new Button() { X = Application.GetRealWidth(5), Width = Application.GetRealWidth(190), Text = room.Name, TextColor = ZigbeeColor.Current.GXCTextWhiteColor, }; roomNameBackground.AddChidren(roomName); var roomTemperatureBackground = new FrameLayout { X = Application.GetRealWidth(29), Y = Application.GetRealHeight(374), Width = Application.GetRealWidth(340), Height = Application.GetRealHeight(80), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor2 }; roomBackView.AddChidren(roomTemperatureBackground); roomTemperatureBackground.SetCornerWithSameRadius(Application.GetRealHeight(40), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight); var temperatureIcon = new Button { X = Application.GetRealWidth(12), Width = Application.GetMinRealAverage(58), Height = Application.GetMinRealAverage(58), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Room/Temperature.png" }; roomTemperatureBackground.AddChidren(temperatureIcon); var temperatureText = new Button { X = Application.GetRealWidth(69), Width = Application.GetRealWidth(86), Height = Application.GetRealHeight(58), Gravity = Gravity.CenterVertical, Text = "26℃" }; roomTemperatureBackground.AddChidren(temperatureText); var humidityIcon = new Button { X = Application.GetRealWidth(179), Width = Application.GetMinRealAverage(58), Height = Application.GetMinRealAverage(58), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Room/Humidity.png" }; roomTemperatureBackground.AddChidren(humidityIcon); var humidityText = new Button { X = Application.GetRealWidth(236), Width = Application.GetRealWidth(86), Height = Application.GetRealHeight(58), Gravity = Gravity.CenterVertical, Text = "13%" }; roomTemperatureBackground.AddChidren(humidityText); var roomListBtn = new Button() { X = roomBackView.Width - Application.GetRealWidth(100 + 20), Y = Application.GetRealHeight(20), Width = Application.GetMinRealAverage(100), Height = Application.GetMinRealAverage(100), UnSelectedImagePath = "Room/List.png", }; roomBackView.AddChidren(roomListBtn); roomListBtn.MouseUpEventHandler += (send, e) => { CommonPage.Instance.IsDrawerLockMode = true; var editRoom = new Device.Room.EditRoom(); HomePage.Instance.AddChidren(editRoom); HomePage.Instance.PageIndex += 1; editRoom.Show(room); editRoom.action += () => { action?.Invoke(); }; }; } } }