陈嘉乐
2021-02-24 6031a2d7faaa4f0271b0e9cecaa228e411ceca11
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/AddButton.cs
@@ -14,13 +14,13 @@
            #region 界面布局
            this.BackgroundColor = CSS.CSS_Color.viewMiddle;
            PirDevice.View.TopView topView = new View.TopView();
            topView.topNameBtn.TextID = StringId.shebeigaunli;
            topView.topNameBtn.TextID = StringId.tianjiayaokongqi;
            this.AddChidren(topView.FLayoutView());
            topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); };
            FrameLayout editfLayout = new FrameLayout
            {
                Y= topView.frameLayout.Bottom,
                Y = topView.frameLayout.Bottom,
                BackgroundColor = CSS.CSS_Color.textWhiteColor,
                Height = Application.GetRealHeight(152),
                Width = Application.GetRealWidth(375),
@@ -40,9 +40,9 @@
            EditText editText = new EditText()
            {
                X = Application.GetRealWidth(16),
                Width = Application.GetRealWidth(375-16*2),
                Width = Application.GetRealWidth(375 - 16 * 2),
                Height = Application.GetRealHeight(44),
                PlaceholderText=Language.StringByID(StringId.anjianmingcheng),
                PlaceholderText = Language.StringByID(StringId.anjianmingcheng),
                PlaceholderTextColor = CSS.CSS_Color.textCancelColor,
                TextColor = CSS.CSS_Color.textColor,
                TextSize = TextSize.text14,
@@ -56,21 +56,21 @@
                Height = Application.GetRealHeight(44),
                Y = Application.GetRealHeight(92),
                X = Application.GetRealWidth(78),
                TextID = StringId.save,
                TextID = StringId.xiayibu,
                TextSize = TextSize.text16,
                TextColor = CSS.CSS_Color.textWhiteColor,
                TextAlignment = TextAlignment.Center,
                BackgroundColor = CSS.CSS_Color.btnSaveBackgroundColor,
                Radius = (uint)Application.GetRealHeight(22),
            };
            editfLayout.AddChidren(saveBtn);
            editfLayout.AddChidren(saveBtn);
            FrameLayout fLayout = new FrameLayout
            {
                Y = editfLayout.Bottom+Application.GetRealHeight(8),
                BackgroundColor = CSS.CSS_Color.textWhiteColor,
                Height = Application.GetRealHeight(667-64-152-8),
                Y = editfLayout.Bottom + Application.GetRealHeight(8),
                Height = Application.GetRealHeight(667 - 64 - 152 - 8),
                Width = Application.GetRealWidth(375),
                BackgroundColor = CSS.CSS_Color.textWhiteColor,
            };
            this.AddChidren(fLayout);
            //推荐按键
@@ -86,67 +86,81 @@
                TextAlignment = TextAlignment.CenterLeft,
            };
            fLayout.AddChidren(titleBtn);
            //动态加载Button按钮父控件
            FrameLayout buttonFLayout = new FrameLayout
            {
                Y = titleBtn.Bottom,
                Height = Application.GetRealHeight(667 - 64 - 152 - 8-12-20),
                Y = Application.GetRealHeight(32),
                Height = Application.GetRealHeight(667 - 64 - 152 - 8 - 12 - 20),
                Width = Application.GetRealWidth(375),
            };
            fLayout.AddChidren(buttonFLayout);
            VerticalScrolViewLayout vv = new VerticalScrolViewLayout();
            buttonFLayout.AddChidren(vv);
            List<string> buttonNameList = new List<string> {
                "电源", "音量+", "音量-", "频道+", "频道-", "上", "下", "左",
                 "右", "静音", "确认", "播放", "退出", "菜单", "暂停", "返回",
                  "停止", "主页", "快进", "快退","定时",
            };
            for (int i = 0; i <7; i++)
            {
                //vv.AddChidren(new FrameLayout { Height = Application.GetRealWidth(16) });
                var currFLayout = new FrameLayout { Height = Application.GetRealWidth(16+ 44+2)};
                vv.AddChidren(currFLayout);
                for (int a =i*3+1,b=0; a<= buttonNameList.Count; a++,b++)
                {
                    var name = buttonNameList[a-1];
                    var nameBtn = new Button
                    {
                        Y = Application.GetRealHeight(16),
                        X = Application.GetRealWidth(24 + (98 + 16) * b),
                        Gravity=Gravity.CenterVertical,
                        Width = Application.GetRealWidth(98),
                        Height = Application.GetRealHeight(44),
                        Text = name,
                        TextSize = TextSize.text16,
                        TextColor = CSS.CSS_Color.textColor,
                        TextAlignment = TextAlignment.Center,
                        Radius = (uint)Application.GetRealHeight(8),
                        BorderWidth = 1,
                        BorderColor = CSS.CSS_Color.textCancelColor,
                    };
                    currFLayout.AddChidren(nameBtn);
                    if (a % 3 == 0)
                    {
                        break;
                    }
                    nameBtn.MouseUpEventHandler += (sender, e) =>
                    {
                        editText.Text = nameBtn.Text;
                    };
                }
            }
            #endregion
            View.Buttons buttons = new View.Buttons();
            var buttonNameList = buttons.GetList("默认按钮");
            buttons.AddButton(buttonFLayout, buttonNameList, (s) => {
                editText.Text = s;
               #if __Android__
                editText.SetSelectionEnd();
               #endif
            });
            ///下一步的点击事件
            saveBtn.MouseUpEventHandler += (sender, e) =>
            {
                View.ReplicationView replication = new View.ReplicationView();
                //new引导界面
                replication.GuideShow();
                var texts = editText.Text.Trim();
                if (string.IsNullOrEmpty( editText.Text)) {
                    //名称不能为空
                    return;
                }
                var butName = Pir.BuottonList.Find((c) => c.value == texts);
                if (butName!=null) {
                    //名称已经存在
                    return;
                }
                //添加数据对象
                ButtonObj buttonObj = new ButtonObj();
                buttonObj.Key = "key" + Pir.BuottonList.Count.ToString();
                buttonObj.value = texts;
                HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null;
                new System.Threading.Thread(() =>
                {
                    try
                    {
                        //发送红外码学习命令
                        responsePackNew = PirSend.CodeStudy(buttonObj);
                    }
                    catch { }
                    finally
                    {
                        Application.RunOnMainThread(() =>
                        {
                            if (PirSend.Error(responsePackNew))
                            {
                                //添加数据
                                Pir.BuottonList.Add(buttonObj);
                                //移除添加按钮界面
                                this.RemoveFromParent();
                                //加载数据界面
                                AddControl addControl = new AddControl();
                                addControl.Show();
                                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                            }
                            //移除添加按钮引导界面
                         //  replication.dialog.Close();
                        });
                    }
                })
                { IsBackground = true }.Start();
            };
        }
    }