using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.Safety { /// /// 联系人设置 /// public class CoerceContactSettionForm : EditorCommonForm { ///// ///// 列表控件 ///// //private VerticalScrolViewLayout listView = null; ///// ///// 列表控件最多只能显示多少行控件,如果超过时,高度不再变化 ///// //private int listViewCount = 7; ///// ///// 桌布控件 ///// //private FrameLayout frameTableLayout = null; ///// ///// 【添加联系人】的行 ///// //private StatuRowLayout addPersonRow = null; ///// ///// 电话列表 ///// //private List listPhoneData = null; /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 已经存在的联系方式 public void ShowForm(List listData) { //this.listPhoneData = listData; ////计算理论值 //int maxHeight = Application.GetRealHeight(180) * 7; //this.listViewCount = maxHeight / ControlCommonResourse.ListViewRowHeight; //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uContactSettion)); //初始化中部信息 //this.InitMiddleFrame(); } ///// ///// 初始化中部信息 ///// //private void InitMiddleFrame() //{ // //清空bodyFrame // this.ClearBodyFrame(); // //胁迫状态下,被通知人的联系方式 // var btnTitle = new TitleViewControl(); // btnTitle.TextColor = UserCenterColor.Current.TextGrayColor; // btnTitle.Y = Application.GetRealHeight(40); // btnTitle.TextID = R.MyInternationalizationString.uContactInCoerceStatu; // bodyFrameLayout.AddChidren(btnTitle); // this.frameTableLayout = new FrameLayout(); // frameTableLayout.Y = btnTitle.Bottom; // bodyFrameLayout.AddChidren(this.frameTableLayout); // //设置中间部分信息 // this.SetMiddleInfo(); //} ///// ///// 设置中间部分信息 ///// //private void SetMiddleInfo() //{ // this.listView = new VerticalScrolViewLayout(); // this.listView.Height = 0; // frameTableLayout.AddChidren(this.listView); // HdlThreadLogic.Current.Run(() => // { // Application.RunOnMainThread(() => // { // //添加联系人的明细行 // this.AddPhoneNumList(); // //添加【添加联系人】的行 // this.AddAddContactPersionRow(); // }); // }); //} ///// ///// 添加联系人的明细行 ///// //private void AddPhoneNumList() //{ // int heightCount = listPhoneData.Count; // if (heightCount > listViewCount) // { // heightCount = listViewCount; // } // foreach (var data in listPhoneData) // { // //添加联系人行 // this.AddPhoneNumRowLayout(data); // } //} ///// ///// 添加联系人行 ///// ///// //public void AddPhoneNumRowLayout(Safeguard.PushTargetInfo data) //{ // var row = new RowLayout(); // row.Height = ControlCommonResourse.ListViewRowHeight; // this.listView.AddChidren(row); // //图标 // var btnIcon = new RowLeftIconView(); // btnIcon.UnSelectedImagePath = "Center/ProfilePhotoMember.png"; // row.AddChidren(btnIcon); // //电话号码 // var btnPhone = new RowCenterView(); // btnPhone.Text = "+" + data.PushNumber.Replace("-", " "); // row.AddChidren(btnPhone); // //删除 // var btnDelete = new RowDeleteButton(); // row.AddRightView(btnDelete); // btnDelete.MouseUpEventHandler += (sender, e) => // { // string[] Arry = data.PushNumber.Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries); // string PNumber = string.Empty; // string areaCode = string.Empty; // if (Arry.Length == 1) // { // PNumber = Arry[0]; // } // else // { // areaCode= Arry[0]; // PNumber = Arry[1]; // } // string msg = Language.StringByID(R.MyInternationalizationString.uShowDoDeleteMsg); // this.ShowConfirmMsg(msg, "DeleteCoercePhoneNumber", areaCode, PNumber, row); // }; // //新添加的时候,自动调整界面高度 // this.AutoAdjustListViewHeight(); //} ///// ///// 添加【添加联系人】的行 ///// //private void AddAddContactPersionRow() //{ // this.addPersonRow = new StatuRowLayout(); // addPersonRow.Y = this.listView.Bottom; // frameTableLayout.AddChidren(addPersonRow); // //添加联系人 // var txtAddPer = new RowCenterView(false); // txtAddPer.TextID = R.MyInternationalizationString.uAddContactPersion; ; // addPersonRow.AddChidren(txtAddPer); // //加号图标 // var btnAdd = new MostRightEmptyView(); // btnAdd.UnSelectedImagePath = "Item/Add.png"; // btnAdd.SelectedImagePath = "Item/AddSelected.png"; // addPersonRow.AddChidren(btnAdd); // addPersonRow.MouseUpEvent += (sender, e) => // { // var form = new AddCoerceContactForm(); // form.AddForm(this.listPhoneData); // }; //} ///// ///// 删除联系人方式 ///// ///// ///// ///// //public async void DeleteCoercePhoneNumber(string areaCode, string phone, RowLayout row) //{ // bool result = await Common.LocalSafeguard.Current.DeleteCoercePhoneNumber(areaCode, phone); // if (result == true) // { // Application.RunOnMainThread(() => // { // row?.RemoveFromParent(); // //自动调整列表控件的高度 // this.AutoAdjustListViewHeight(); // this.LoadFormMethodByName("CoercePasswordMainForm", "InitMiddleFrame"); // }); // } //} ///// ///// 自动调整列表控件的高度 ///// //private void AutoAdjustListViewHeight() //{ // if (this.listView == null || this.listView.ChildrenCount > this.listViewCount) // { // //不再扩大 // return; // } // this.listView.Height = this.listView.ChildrenCount * ControlCommonResourse.ListViewRowHeight; // if (this.addPersonRow != null) // { // //有可能是画面正在初始化的时候 // this.addPersonRow.Y = this.listView.Bottom; // } //} } }