gxc
2019-12-25 944b87b6bcccb095cd73f13f4410fb20faf48f74
ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs
@@ -67,6 +67,15 @@
        /// IsDrawerLockMode
        /// </summary>
        public bool IsDrawerLockMode;
        /// <summary>
        /// ProgressBtn
        /// </summary>
        Button ProgressBtn;
        /// <summary>
        /// ProgressBtnY
        /// </summary>
        int ProgressBtnY;
        #endregion
        #region ◆ 接口__________________________
@@ -387,14 +396,14 @@
                Width = Application.GetRealWidth(271),
                Height = Application.GetRealHeight(533),
                Gravity = Gravity.CenterHorizontal,
                WavePadding = 2,
                WavePadding = Application.GetRealWidth(8),
                MaxValue=100,
                Progress = (int)(dimmableLight.Level*1.0/MaxLevel*100),
                WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor
            };
            itemView.AddChidren(levelSeekBar);
            if (dimmableLight.OnOffStatus==1)
            if (dimmableLight.OnOffStatus == 1)
            {
                levelSeekBar.IsClickable = true;
                levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarColor;
@@ -405,10 +414,29 @@
                levelSeekBar.WaveColor = ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor;
            }
            levelSeekBar.OnProgressChangedEvent += (send2, e2) =>
            levelSeekBar.OnStartTrackingTouchEvent += (sender, e) =>
            {
                OnProgressButtonMove(levelSeekBar.Progress);
                ProgressBtn.Visible = true;
            };
            levelSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
            {
                ProgressBtn.Visible = false;
            };
            levelSeekBar.OnProgressChangedEvent += (send2, e2) =>
            {
                dimmableLight.SetLevel((int)(levelSeekBar.Progress * MaxLevel / 100.0));
            };
                OnProgressButtonMove(e2);
                //判断是否300ms屏蔽
                if (levelSeekBar.IsProgressChangeDelay()) return;
                dimmableLight.SetLevel((int)(levelSeekBar.Progress * MaxLevel / 100.0));
            };
            InitProgressBtn(itemView);
            switchBtn = new Button()
            {
@@ -462,6 +490,33 @@
            itemView.AddChidren(roomName);
        }
        /// <summary>
        /// OnProgressButtonMove
        /// </summary>
        private void OnProgressButtonMove(int mProgress)
        {
            ProgressBtn.Y = ProgressBtnY + levelSeekBar.NowProgressY;
            ProgressBtn.Text = mProgress + "%";
        }
        /// <summary>
        /// 添加进度按钮
        /// </summary>
        private void InitProgressBtn(FrameLayout layout)
        {
            ProgressBtnY = levelSeekBar.Y - Application.GetMinReal(154);
            ProgressBtn = new Button()
            {
                Y = ProgressBtnY,
                Width = Application.GetMinReal(135),
                Height = Application.GetMinReal(104),
                UnSelectedImagePath = "Item/ProgressBubbles.png",
                Visible = false,
                Gravity = Gravity.CenterHorizontal
            };
            layout.AddChidren(ProgressBtn);
        }
        #endregion
        #region ◆ 绑定按钮_______________________