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();
|
}
|
}
|
}
|