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