wxr
2020-09-10 af1cb3ecd0f4b0589e00b28f7f9edccf39e6e12b
HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs
@@ -8,7 +8,7 @@
    public partial class RGBPage : FrameLayout
    {
        #region 控件集合
        FrameLayout bodyView;
        static RGBPage bodyView;
        /// <summary>
        /// 颜色选择区域
        /// </summary>
@@ -17,22 +17,58 @@
        /// 显示当前选中颜色的按钮
        /// </summary>
        Button btnCurColor;
        /// <summary>
        /// 功能名称
        /// </summary>
        Button btnFunctionName;
        /// <summary>
        /// 功能所属楼层、房间
        /// </summary>
        Button btnFromFoorAndRoom;
        /// <summary>
        /// 收藏按钮
        /// </summary>
        Button btnCollection;
        /// <summary>
        /// k开关按钮
        /// </summary>
        Button btnSwitch;
        /// <summary>
        /// 恢复默认颜色
        /// </summary>
        Button btnRestoredPoint;
        /// <summary>
        /// 调光进度条
        /// </summary>
        DiyImageSeekBar dimmerBar;
        #endregion
        #region 区域变量
        Function function;
        Light light;
        Button btnCollection_Out;
        Button btnFunctionName_Out;
        Button btnFromFloor_Out;
        bool onDimmerBar = false;
        /// <summary>
        /// 刷新显示信息
        /// </summary>
        Action actionRefresh;
        #endregion
        public RGBPage(Function func)
        {
            bodyView = this;
            function = func;
            light = func as Light;
        }
        public void LoadPage()
        public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut)
        {
            btnCollection_Out = btnCollectionIcon;
            btnFunctionName_Out = btnFunctionNameOut;
            btnFromFloor_Out = btnFromFloorOut;
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function);
            //new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(function,null);
            //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.Lights), function);
            FrameLayout controlView = new FrameLayout()
            {
@@ -44,7 +80,7 @@
            };
            bodyView.AddChidren(controlView);
            Button btnLightName = new Button()
            btnFunctionName = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(14),
@@ -53,20 +89,20 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                Text = function.name,
                Text = light.name,
            };
            controlView.AddChidren(btnLightName);
            controlView.AddChidren(btnFunctionName);
            Button btnFromFoorAndRoom = new Button()
            btnFromFoorAndRoom = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = btnLightName.Bottom,
                Y = btnFunctionName.Bottom,
                Width = Application.GetRealWidth(270),
                Height = Application.GetRealHeight(21),
                TextColor = CSS_Color.PromptingColor1,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = function.GetRoomListName()
                Text = light.GetRoomListName()
            };
            controlView.AddChidren(btnFromFoorAndRoom);
@@ -79,17 +115,19 @@
                Radius = (uint)Application.GetMinRealAverage(8),
                BorderColor = CSS_Color.PromptingColor2,
                BorderWidth = 1,
                BackgroundColor = (uint)(0xFF000000 + light.redColor * 256 * 256 + light.greenColor * 256 + light.blueColor)
            };
            controlView.AddChidren(btnCurColor);
            var btnCollection = new Button()
            btnCollection = new Button()
            {
                X = Application.GetRealWidth(273),
                Y = Application.GetRealHeight(14),
                Width = Application.GetMinRealAverage(40),
                Height = Application.GetMinRealAverage(40),
                UnSelectedImagePath = "Collection/CollectionIcon.png",
                SelectedImagePath = "Collection/CollectionWhiteIcon.png",
                SelectedImagePath = "Collection/CollectionIcon.png",
                UnSelectedImagePath = "Collection/CollectionGrayIcon.png",
                IsSelected = light.collection
            };
            controlView.AddChidren(btnCollection);
@@ -130,7 +168,7 @@
            };
            controlView.AddChidren(btnMinValuesText);
            var dimmerControlBar = new DiyImageSeekBar()
            dimmerBar = new DiyImageSeekBar()
            {
                X = btnMinValuesText.Right,
                Y = Application.GetRealHeight(312),
@@ -139,17 +177,18 @@
                SeekBarViewHeight = Application.GetRealHeight(8),
                ThumbImagePath = "Public/ThumbImage.png",
                ThumbImageHeight = Application.GetRealHeight(54),
                ProgressBarColor = CSS_Color.AuxiliaryColor1,
                ProgressTextColor = CSS_Color.FirstLevelTitleColor,
                ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                ProgressBarColor = light.trait_on_off.value.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.DividingLineColor,
                MaxValue = 100,
                Progress = 30,
                Progress = light.brightness,
                SeekBarPadding = Application.GetRealWidth(20),
            };
            controlView.AddChidren(dimmerControlBar);
            controlView.AddChidren(dimmerBar);
            var btnMaxValuesText = new Button()
            {
                X = dimmerControlBar.Right,
                X = dimmerBar.Right,
                Y = btnBrightnessText.Bottom,
                Width = Application.GetRealWidth(35),
                Height = Application.GetRealHeight(21),
@@ -165,20 +204,20 @@
            var btnGradualChangeText = new Button()
            {
                X = Application.GetRealWidth(35),
                Y = Application.GetRealHeight(385),
                Y = Application.GetRealHeight(375),
                Width = Application.GetRealWidth(224),
                Height = Application.GetRealHeight(21),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextID = StringId.Brightness,
                TextID = StringId.SpeedOfChange,
            };
            controlView.AddChidren(btnGradualChangeText);
            var btnGradualChangeMinValuesText = new Button()
            {
                X = Application.GetRealWidth(35),
                Y = btnGradualChangeText.Bottom,
                Y = btnGradualChangeText.Bottom+ Application.GetRealHeight(10),
                Width = Application.GetRealWidth(22),
                Height = Application.GetRealHeight(21),
                Text = "0s",
@@ -197,19 +236,21 @@
                SeekBarViewHeight = Application.GetRealHeight(8),
                ThumbImagePath = "Public/ThumbImage.png",
                ThumbImageHeight = Application.GetRealHeight(54),
                ProgressBarColor = CSS_Color.AuxiliaryColor1,
                ProgressBarColor = CSS_Color.MainColor,
                //SeekBarBackgroundColor = CSS_Color.MainColor,
                ProgressTextColor = CSS_Color.FirstLevelTitleColor,
                ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                ProgressBarUnitSring = "s",
                MaxValue = 10,
                Progress = 0,
                SeekBarPadding = Application.GetRealWidth(20),
            };
            controlView.AddChidren(barGradualChange);
            var btnGradualChangeMaxValuesText = new Button()
            {
                X = barGradualChange.Right,
                Y = btnGradualChangeText.Bottom,
                Y = btnGradualChangeText.Bottom+ Application.GetRealHeight(10),
                Width = Application.GetRealWidth(35),
                Height = Application.GetRealHeight(21),
                Text = "10s",
@@ -220,33 +261,31 @@
            controlView.AddChidren(btnGradualChangeMaxValuesText);
            #endregion
            Button btnRestoredPoint = new Button()
            btnRestoredPoint = new Button()
            {
                X = Application.GetRealWidth(86),
                Y = Application.GetRealHeight(448),
                Width = Application.GetMinRealAverage(76),
                Height = Application.GetMinRealAverage(76),
                X = Application.GetRealWidth(104),
                Y = Application.GetRealHeight(462),
                Width = Application.GetMinRealAverage(40),
                Height = Application.GetMinRealAverage(40),
                UnSelectedImagePath = "Public/Restored_Shadow.png",
                SelectedImagePath = "Public/Restored_Shadow.png",
            };
            controlView.AddChidren(btnRestoredPoint);
            Button btnSwitch = new Button()
            btnSwitch = new Button()
            {
                X = btnRestoredPoint.Right + Application.GetRealWidth(4),
                Y = Application.GetRealHeight(448),
                Width = Application.GetMinRealAverage(76),
                Height = Application.GetMinRealAverage(76),
                UnSelectedImagePath = "Public/PowerClose_Shadow.png",
                SelectedImagePath = "Public/PowerOpen_Shadow.png",
                X = btnRestoredPoint.Right + Application.GetRealWidth(40),
                Y = Application.GetRealHeight(462),
                Width = Application.GetMinRealAverage(40),
                Height = Application.GetMinRealAverage(40),
                UnSelectedImagePath = "Public/PowerClose.png",
                SelectedImagePath = "Public/PowerOpen.png",
                IsSelected = light.trait_on_off.value.ToString() == "on"
            };
            controlView.AddChidren(btnSwitch);
            LoadEventList();
            new TopViewDiv(bodyView, Language.StringByID(StringId.Lights)).LoadTopView(light, actionRefresh);
        }
    }
}