using System;
|
using Shared.Common;
|
namespace Shared.Phone.Device.CommonForm
|
{
|
public class SelectDeviceWithSeekBarRow : FrameLayout
|
{
|
/// <summary>
|
/// ClickButton
|
/// </summary>
|
public Button ClickButton;
|
/// <summary>
|
/// name
|
/// </summary>
|
public Button NameBtn;
|
/// <summary>
|
/// SelectBtn
|
/// </summary>
|
public Button SelectBtn;
|
/// <summary>
|
/// v_Selected
|
/// </summary>
|
private bool v_Selected;
|
/// <summary>
|
/// line
|
/// </summary>
|
private Button line;
|
/// <summary>
|
/// SeekBar
|
/// </summary>
|
public HorizontalSeekBar SeekBar;
|
/// <summary>
|
/// SeekBarTitle
|
/// </summary>
|
public Button SeekBarTitle;
|
/// <summary>
|
/// MaxLevel
|
/// </summary>
|
public int MaxLevel;
|
/// <summary>
|
/// IsSelected
|
/// </summary>
|
public bool IsSelected
|
{
|
set
|
{
|
v_Selected = value;
|
try
|
{
|
SetStatu(v_Selected);
|
}
|
catch
|
{
|
|
}
|
}
|
get
|
{
|
return v_Selected;
|
}
|
}
|
/// <summary>
|
/// SelectSceneRow
|
/// </summary>
|
/// <param name="x"></param>
|
/// <param name="y"></param>
|
public SelectDeviceWithSeekBarRow(int x = 0, int y = 0)
|
{
|
X = Application.GetRealWidth(x);
|
Y = Application.GetRealHeight(y);
|
Width = Application.GetRealWidth(1080);
|
Height = Application.GetRealHeight(348);
|
}
|
|
/// <summary>
|
/// Init
|
/// </summary>
|
public void Init(int max=100)
|
{
|
MaxLevel = max;
|
NameBtn = new Button()
|
{
|
X = Application.GetRealWidth(81),
|
Width = Application.GetRealWidth(500),
|
Height = Application.GetRealHeight(80),
|
TextColor = ZigbeeColor.Current.GXCTextBlackColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
};
|
AddChidren(NameBtn);
|
|
SelectBtn = new Button()
|
{
|
X = Application.GetRealWidth(919),
|
Width = Application.GetMinRealAverage(104),
|
Height = Application.GetMinRealAverage(104),
|
UnSelectedImagePath = "Scene/Selected.png",
|
Visible = false
|
};
|
AddChidren(SelectBtn);
|
|
ClickButton = new Button
|
{
|
Height = Application.GetRealHeight(127)
|
};
|
AddChidren(ClickButton);
|
|
SeekBar = new HorizontalSeekBar()
|
{
|
X = Application.GetRealWidth(81),
|
Y = Application.GetRealHeight(200),
|
Width = Application.GetRealWidth(919),
|
Height = Application.GetRealHeight(127),
|
BackgroundColor = ZigbeeColor.Current.GXCSeekBarBackground,
|
ProgressColor = ZigbeeColor.Current.GXCProgressColor,
|
ThumbColor = ZigbeeColor.Current.GXCBackgroundColor,
|
Max = MaxLevel,
|
Progress = max
|
};
|
AddChidren(SeekBar);
|
|
SeekBarTitle = new Button()
|
{
|
Y = Application.GetRealHeight(127),
|
Height = Application.GetRealHeight(50),
|
Width = Application.GetRealWidth(200),
|
Gravity = Gravity.CenterHorizontal,
|
Text = $"{SeekBar.Progress} %",
|
TextColor = ZigbeeColor.Current.GXCTextGrayColor
|
};
|
AddChidren(SeekBarTitle);
|
|
line = new Button()
|
{
|
X = Application.GetRealWidth(81),
|
Y = this.Height - 2,
|
Width = Application.GetRealWidth(919),
|
Height = 2,
|
BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor,
|
};
|
AddChidren(line);
|
|
}
|
/// <summary>
|
/// SetTitle
|
/// </summary>
|
/// <param name="title"></param>
|
public void SetTitle(string title)
|
{
|
NameBtn.Text = title;
|
}
|
/// <summary>
|
/// SetTitle
|
/// </summary>
|
/// <param name="title"></param>
|
public void SetTitle(int title)
|
{
|
SetTitle(Language.StringByID(title));
|
}
|
/// <summary>
|
/// SetStatu
|
/// </summary>
|
/// <param name="statu"></param>
|
public void SetStatu(bool statu)
|
{
|
SelectBtn.Visible = statu;
|
}
|
|
/// <summary>
|
/// hideLine
|
/// </summary>
|
/// <param name="statu"></param>
|
public void hideLine(bool statu)
|
{
|
line.Visible = !statu;
|
}
|
|
/// <summary>
|
/// SetSeekBarTitle
|
/// </summary>
|
public void SetSeekBarTitle()
|
{
|
SeekBarTitle.Text = $"{(int)(SeekBar.Progress * 1.0 / MaxLevel * 100)} %";
|
}
|
|
/// <summary>
|
/// SetProgress
|
/// </summary>
|
/// <param name="progress"></param>
|
public void SetProgress(int progress)
|
{
|
SeekBar.Progress = progress;
|
SetSeekBarTitle();
|
}
|
}
|
}
|