黄学彪
2020-09-22 ade5917841b0fdcb1df7353ef7c56b1a1bdc9282
ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaListMenuForm.cs
@@ -7,74 +7,101 @@
    /// <summary>
    /// 防区列表的菜单控件
    /// </summary>
    public class GarrisonAreaListMenuForm : UserCenterCommonForm
    public class GarrisonAreaListMenuForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        public void ShowForm()
        {
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uGarrisonAreaList));
            //初始化中部信息
            this.InitMiddleFrame();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
        public void ShowForm()
        {
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uGarrisonAreaList));
            //初始化中部信息
            this.InitMiddleFrame();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
            //清空bodyFrame
            this.ClearBodyFrame();
            var listView = new VerticalListControl(29);
            listView.Y = Application.GetRealHeight(-6);
            listView.Height = Application.GetRealHeight(900);
            listView.BackgroundColor = UserCenterColor.Current.White;
            bodyFrameLayout.AddChidren(listView);
            //24小时防区
            string txtValue = Language.StringByID(R.MyInternationalizationString.u24HourSectors);
            this.AddGarrisonAreaRow(bodyFrameLayout,txtValue, 1);
            this.AddGarrisonAreaRow(listView, txtValue, 1);
            //静音防区
            txtValue = Language.StringByID(R.MyInternationalizationString.uMuteSectors);
            this.AddGarrisonAreaRow(bodyFrameLayout, txtValue, 2);
            this.AddGarrisonAreaRow(listView, txtValue, 2);
            //内部防区
            txtValue = Language.StringByID(R.MyInternationalizationString.uInteriorSectors);
            this.AddGarrisonAreaRow(bodyFrameLayout, txtValue, 4);
            this.AddGarrisonAreaRow(listView, txtValue, 4);
            //周界防区
            txtValue = Language.StringByID(R.MyInternationalizationString.uPerimeterSectors);
            this.AddGarrisonAreaRow(bodyFrameLayout, txtValue, 5);
            this.AddGarrisonAreaRow(listView, txtValue, 5);
            //出入防区
            txtValue = Language.StringByID(R.MyInternationalizationString.uInAndOutSectors);
            this.AddGarrisonAreaRow(bodyFrameLayout, txtValue, 3);
            this.AddGarrisonAreaRow(listView, txtValue, 3);
            //调整真实高度
            listView.AdjustRealHeight(Application.GetRealHeight(23));
        }
        #endregion
        #region ■ 添加防区行_________________________
        /// <summary>
        /// 添加防区列表的行
        /// </summary>
        /// <param name="frameLayout">容器控件</param>
        /// <param name="listview">容器控件</param>
        /// <param name="txtValue">显示的文本</param>
        /// <param name="zoonId">防区ID</param>
        private StatuRowLayout AddGarrisonAreaRow(FrameLayout frameLayout, string txtValue, int zoonId)
        /// <param name="zoonId">防区ID</param>
        private void AddGarrisonAreaRow(VerticalListControl listview, string txtValue, int zoonId)
        {
            var statuRowLayout = new StatuRowLayout();
            statuRowLayout.Y = frameLayout.ChildrenCount * ControlCommonResourse.ListViewRowHeight;
            frameLayout.AddChidren(statuRowLayout);
            var row = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(row);
            //点号图标
            var btnIcon = row.AddLeftIcon();
            btnIcon.UnSelectedImagePath = "Item/Point.png";
            //显示文本
            var txtView = new RowCenterView(false);
            txtView.Text = txtValue;
            statuRowLayout.AddChidren(txtView);
            var btnText = row.AddLeftCaption(txtValue, 400);
            btnText.TextSize = 15;
            //向右图标
            statuRowLayout.AddRightIconControl();
            row.AddRightArrow();
            if (zoonId != 3)
            {
                //底线
                row.AddBottomLine();
            }
            //单击事件
            statuRowLayout.MouseUpEvent += (sender, e) =>
            row.ButtonClickEvent += (sender, e) =>
            {
                var form = new SectorsSettionMenuForm();
                this.AddForm(form, txtValue, zoonId);
                var form = new GarrisonAreaSettionMenuForm();
                form.AddForm(txtValue, zoonId);
            };
            return statuRowLayout;
        }
        #endregion
    }
}