using System;
using Shared.Common;
namespace Shared.Phone.Device.CommonForm
{
public class SelectDeviceWithSeekBarRow : FrameLayout
{
///
/// ClickButton
///
public Button ClickButton;
///
/// name
///
public Button NameBtn;
///
/// SelectBtn
///
public Button SelectBtn;
///
/// v_Selected
///
private bool v_Selected;
///
/// line
///
private Button line;
///
/// SeekBar
///
public DiyImageSeekBar SeekBar;
///
/// SeekBarTitle
///
public Button SeekBarTitle;
///
/// MaxLevel
///
public int MaxLevel;
///
/// IsSelected
///
public bool IsSelected
{
set
{
v_Selected = value;
try
{
SetStatu(v_Selected);
}
catch
{
}
}
get
{
return v_Selected;
}
}
///
/// SelectSceneRow
///
///
///
public SelectDeviceWithSeekBarRow(int x = 0, int y = 0)
{
X = Application.GetRealWidth(x);
Y = Application.GetRealHeight(y);
Width = Application.GetRealWidth(1080);
Height = Application.GetRealHeight(348);
}
///
/// Init
///
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,
TextSize=14
};
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 DiyImageSeekBar()
{
X = Application.GetRealWidth(81),
Y = Application.GetRealHeight(200),
Width = Application.GetRealWidth(919),
Height = Application.GetRealHeight(127),
ProgressBarColor = ZigbeeColor.Current.GXCProgressColor,
MaxValue = MaxLevel,
Progress = MaxLevel,
IsProgressTextShow = false,
IsClickable = true,
ThumbImageHeight=Application.GetMinRealAverage(80),
SeekBarViewHeight=Application.GetRealHeight(6),
ThumbImagePath="Item/SeekBarIcon.png"
};
AddChidren(SeekBar);
SeekBarTitle = new Button()
{
Y = Application.GetRealHeight(127),
Height = Application.GetRealHeight(50),
Width = Application.GetRealWidth(200),
Gravity = Gravity.CenterHorizontal,
Text = $"{(int)(SeekBar.Progress * 1.0 / MaxLevel * 100)} %",
TextColor = ZigbeeColor.Current.GXCTextGrayColor,
TextSize = 12,
IsBold = true
};
AddChidren(SeekBarTitle);
line = new Button()
{
X = Application.GetRealWidth(81),
Y = this.Height - 1,
Width = Application.GetRealWidth(919),
Height = 1,
BackgroundColor = ZigbeeColor.Current.GXCGrayLineColor2,
};
AddChidren(line);
}
///
/// SetTitle
///
///
public void SetTitle(string title)
{
NameBtn.Text = title;
}
///
/// SetTitle
///
///
public void SetTitle(int title)
{
SetTitle(Language.StringByID(title));
}
///
/// SetStatu
///
///
public void SetStatu(bool statu)
{
SelectBtn.Visible = statu;
if(statu)
{
SetSeekBarProgress(SeekBar.Progress == 0 ? MaxLevel : SeekBar.Progress);
}
else
{
SetSeekBarProgress(0);
}
}
///
/// hideLine
///
///
public void hideLine(bool statu)
{
line.Visible = !statu;
}
///
/// SetSeekBarTitle
///
public void SetSeekBarTitle()
{
SeekBarTitle.Text = $"{(int)(SeekBar.Progress * 1.0 / MaxLevel * 100)} %";
}
///
/// SetProgress
///
///
public void SetSeekBarProgress(int progress)
{
SeekBar.Progress = progress;
SetSeekBarTitle();
}
}
}