using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.Residence { /// /// 房间设备一览界面 /// public class LookRoomDeviceListForm : EditorCommonForm { #region ■ 变量声明___________________________ #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 标题 /// 明细标题 /// 设备列表(主键) public void ShowForm(string titleName, string detailTile, List listDevice) { //设置头部信息 base.SetTitleText(titleName); //初始化中部信息 this.InitMiddleFrame(detailTile, listDevice); } /// /// 初始化中部信息 /// private void InitMiddleFrame(string detailTile, List listDevice) { //清空bodyFrame this.ClearBodyFrame(); var frameTitle = new FrameLayout(); frameTitle.BackgroundColor = UserCenterColor.Current.White; frameTitle.Height = Application.GetRealHeight(115); bodyFrameLayout.AddChidren(frameTitle); var btnTitle = new NormalViewControl(800, 60, true); btnTitle.Y = Application.GetRealHeight(49); btnTitle.X = ControlCommonResourse.XXLeft; btnTitle.TextSize = 15; btnTitle.TextColor = UserCenterColor.Current.TextColor2; btnTitle.Text = detailTile; frameTitle.AddChidren(btnTitle); var listView = new VerticalListControl(23); listView.Y = frameTitle.Bottom; listView.Height = bodyFrameLayout.Height - frameTitle.Height; listView.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(listView); HdlThreadLogic.Current.RunMainInThread(() => { for (int i = 0; i < listDevice.Count; i++) { //获取设备 var device = Common.LocalDevice.Current.GetDevice(listDevice[i]); if (device == null) { continue; } //添加设备行 this.AddDeviceRow(listView, device, i != listDevice.Count - 1); } listView.AdjustRealHeight(Application.GetRealHeight(23)); }); } #endregion #region ■ 添加设备行_________________________ /// /// 添加设备行 /// /// /// /// private void AddDeviceRow(VerticalListControl listView, CommonDevice device, bool addLine) { var frameRow = new FrameRowControl(listView.rowSpace / 2); frameRow.UseClickStatu = false; listView.AddChidren(frameRow); //图标 var btnIcon = frameRow.AddLeftIcon(81); Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device); //设备名字 var btnName = frameRow.AddLeftCaption(Common.LocalDevice.Current.GetDeviceEpointName(device), 700); btnName.TextSize = 15; if (Common.LocalDevice.Current.CheckDeviceIsOnline(device) == false) { btnName.TextColor = UserCenterColor.Current.TextGrayColor1; } //底线 if (addLine == true) { frameRow.AddBottomLine(); } } #endregion } }