|  |  | 
 |  |  | <Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default"> | 
 |  |  |   <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs"> | 
 |  |  |   <MonoDevelop.Ide.Workbench ActiveDocument="../../Application.cs"> | 
 |  |  |     <Files> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs" Line="64" Column="15" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/MainView.cs" Line="253" Column="56" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs" Line="30" Column="23" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" Line="71" Column="49" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" Line="686" Column="1" /> | 
 |  |  |       <File FileName="../../TempQRCode.cs" Line="125" Column="48" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MyQRCodePage.cs" Line="100" Column="39" /> | 
 |  |  |       <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs" Line="118" Column="50" /> | 
 |  |  |       <File FileName="HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs" Line="63" Column="29" /> | 
 |  |  |       <File FileName="../../Application.cs" Line="1" Column="1" /> | 
 |  |  |     </Files> | 
 |  |  |     <Pads> | 
 |  |  |       <Pad Id="ProjectPad"> | 
 |  |  |         <State name="__root__"> | 
 |  |  |           <Node name="HDL_APP_Project" expanded="True"> | 
 |  |  |             <Node name="HDL_ON" expanded="True"> | 
 |  |  |               <Node name="Common" expanded="True" /> | 
 |  |  |               <Node name="DAL" expanded="True"> | 
 |  |  |                 <Node name="ThirdPartySdk" expanded="True" /> | 
 |  |  |               </Node> | 
 |  |  |               <Node name="UI" expanded="True"> | 
 |  |  |                 <Node name="UI0-Stan" expanded="True"> | 
 |  |  |                   <Node name="Controls" expanded="True"> | 
 |  |  |                     <Node name="NormalControls" expanded="True" /> | 
 |  |  |                   </Node> | 
 |  |  |                 </Node> | 
 |  |  |                 <Node name="UI2" expanded="True"> | 
 |  |  |                   <Node name="4-PersonalCenter" expanded="True"> | 
 |  |  |                     <Node name="PirDevice" expanded="True" /> | 
 |  |  |                   </Node> | 
 |  |  |                   <Node name="FuntionControlView" expanded="True"> | 
 |  |  |                     <Node name="Music" expanded="True"> | 
 |  |  |                       <Node name="View" expanded="True" /> | 
 |  |  |                     </Node> | 
 |  |  |                     <Node name="Video" expanded="True"> | 
 |  |  |                       <Node name="View" expanded="True" /> | 
 |  |  |                       <Node name="MainView.cs" selected="True" /> | 
 |  |  |                     </Node> | 
 |  |  |                   </Node> | 
 |  |  |                 </Node> | 
 |  |  |               </Node> | 
 |  |  |             </Node> | 
 |  |  |             <Node name="HDL-ON_Android" expanded="True" /> | 
 |  |  |             <Node name="HDL-ON_iOS" expanded="True"> | 
 |  |  |               <Node name="Resources" expanded="True" /> | 
 |  |  |             </Node> | 
 |  |  |           </Node> | 
 |  |  |         </State> | 
 |  |  |       </Pad> | 
 |  |  |     </Pads> | 
 |  |  |   </MonoDevelop.Ide.Workbench> | 
 |  |  |   <MonoDevelop.Ide.DebuggingService.PinnedWatches /> | 
 |  |  |   <DisabledProjects> | 
 |  |  | 
 |  |  |     <String>Shared.IOS/Shared.IOS.csproj</String> | 
 |  |  |   </DisabledProjects> | 
 |  |  |   <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" /> | 
 |  |  |   <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.Android_Accelerated_Oreo" /> | 
 |  |  |   <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.4b65c4650918" /> | 
 |  |  |   <MonoDevelop.Ide.DebuggingService.Breakpoints> | 
 |  |  |     <BreakpointStore /> | 
 |  |  |   </MonoDevelop.Ide.DebuggingService.Breakpoints> | 
 
 |  |  | 
 |  |  |         /// 获取门口机列表 | 
 |  |  |         /// </summary> | 
 |  |  |         public const string API_POST_FL_List = "http://112.74.164.111:180/api.php/Device/getmonitorUUID"; | 
 |  |  |         /// <summary> | 
 |  |  |         /// 动态密码/二维码开锁 | 
 |  |  |         /// </summary> | 
 |  |  |         public const string API_POST_FL_QRcode = "http://112.74.164.111:180/api.php/Device/setdynamicpwd"; | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |  | 
 
 |  |  | 
 |  |  |         /// <param name="mESVideoInfo"></param> | 
 |  |  |         public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo) | 
 |  |  |         { | 
 |  |  |             this.esVideoInfo = mESVideoInfo; | 
 |  |  |  | 
 |  |  | #if __IOS__ | 
 |  |  |              int roomID = 0; | 
 |  |  |             int.TryParse(mESVideoInfo.roomno, out roomID); | 
 
 |  |  | 
 |  |  |         { | 
 |  |  |             EventHandler<MouseEventArgs> eventHandler = (sender, e) => | 
 |  |  |             { | 
 |  |  |  | 
 |  |  |                 var view = new UI2.FuntionControlView.Video.VideoMethod();// AddThirdPartyBrandListpage(); // BrandListPage(); | 
 |  |  |                 view.MianView(); | 
 |  |  |  | 
 |  |  |                 HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod videoMethod = new UI2.FuntionControlView.Video.VideoMethod(); | 
 |  |  |                 videoMethod.getVideo((device)=> { | 
 |  |  |                     videoMethod.MianView(this, device); | 
 |  |  |                 }, this,true); | 
 |  |  |                 return; | 
 |  |  |  | 
 |  |  |                 var page = new BrandListPage();// AddThirdPartyBrandListpage(); // BrandListPage(); | 
 
 |  |  | 
 |  |  | using HDL_ON.UI.Music; | 
 |  |  | using System.Collections.Generic; | 
 |  |  | using Shared; | 
 |  |  | using HDL_ON.Stan; | 
 |  |  | using ZXing.QrCode.Internal; | 
 |  |  | using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod; | 
 |  |  |  | 
 |  |  | namespace HDL_ON.UI.UI2.FuntionControlView.Video | 
 |  |  | { | 
 |  |  |     public class MainView : FrameLayout | 
 |  |  |     { | 
 |  |  |         public void Show(List<ESVideoInfo> listVideo, List<CallView> listCall, VideoClouds video) | 
 |  |  |         public void Show(List<VideoMethod.FlVideo> listVideo, List<CallView> listCall, VideoClouds video) | 
 |  |  |         { | 
 |  |  |             this.BackgroundColor = MusicColor.ViewColor; | 
 |  |  |             var topView = new TopView(); | 
 |  |  | 
 |  |  |             pageView.AddChidren(view1); | 
 |  |  |             var view2 = new FrameLayout(); | 
 |  |  |             pageView.AddChidren(view2); | 
 |  |  |             View1(view1, listVideo); | 
 |  |  |             View1(view1, listVideo, video); | 
 |  |  |             View2(view2, listCall, video); | 
 |  |  |             Button btn11 = new Button | 
 |  |  |             { | 
 |  |  | 
 |  |  |         /// 第一个界面 | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="view1">父控件</param> | 
 |  |  |         void View1(FrameLayout view1, List<ESVideoInfo> list) | 
 |  |  |         void View1(FrameLayout view1, List<VideoMethod.FlVideo> list, VideoClouds videoClouds) | 
 |  |  |         { | 
 |  |  |  | 
 |  |  |             | 
 |  |  |             var bjFl = new FrameLayout | 
 |  |  |             { | 
 |  |  |                 Y = Application.GetRealHeight(24), | 
 |  |  | 
 |  |  |                 Width = Application.GetRealWidth(327), | 
 |  |  |             }; | 
 |  |  |             bjFl.AddChidren(vv); | 
 |  |  |             if (list.Count > 0) | 
 |  |  |             { | 
 |  |  |                 //门禁二维码固定有的,虚拟一个出来 | 
 |  |  |                 list.Add(new VideoMethod.FlVideo { aliasName = "门禁二维码", devType = "10" }); | 
 |  |  |             } | 
 |  |  |             //数组个数 | 
 |  |  |             //int value = 15; | 
 |  |  |             //先计算数据所需要的很高度; | 
 |  |  | 
 |  |  |             }; | 
 |  |  |             vv.AddChidren(fL); | 
 |  |  |             int line = 0; | 
 |  |  |              | 
 |  |  |             for (int i = 1, j = 0; i <= list.Count; i++, j++) | 
 |  |  |             { | 
 |  |  |                 var video = list[i - 1]; | 
 |  |  |  | 
 |  |  |                 var fLayout = new FrameLayout | 
 |  |  |                 { | 
 |  |  |                     Width = Application.GetRealWidth(50), | 
 |  |  |                     Height = Application.GetRealWidth(48), | 
 |  |  |                     X = Application.GetRealWidth(31 + (58 + 50) * j), | 
 |  |  |                     Y = Application.GetRealHeight(20 + (48 + 24) * line), | 
 |  |  |                     BackgroundColor=0xff357657 | 
 |  |  |  | 
 |  |  |                 }; | 
 |  |  |                 fL.AddChidren(fLayout); | 
 |  |  | 
 |  |  |                     TextSize = TextSize.Text10, | 
 |  |  |                     TextColor = CSS.CSS_Color.TextualColor, | 
 |  |  |                     TextAlignment = TextAlignment.Center, | 
 |  |  |                     Text = video.DeviceName, | 
 |  |  |                     Text = video.aliasName, | 
 |  |  |                 }; | 
 |  |  |                 fLayout.AddChidren(iconNameBtn); | 
 |  |  |  | 
 |  |  | 
 |  |  |                 // GetIconAndText(i, deviceIconBtn, iconNameBtn); | 
 |  |  |                 clickBtn.MouseUpEventHandler += (sender, e) => | 
 |  |  |                 { | 
 |  |  |                     var eSVideoInfo = clickBtn.Tag as ESVideoInfo; | 
 |  |  |                     if (string.IsNullOrEmpty(eSVideoInfo.uuid)) | 
 |  |  |                     var flVideo = clickBtn.Tag as VideoMethod.FlVideo; | 
 |  |  |                     if (string.IsNullOrEmpty(flVideo.uuid)) | 
 |  |  |                     { | 
 |  |  |                         new Intelligence.Automation.LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.peizhicanshuyouyichang)); | 
 |  |  |                     } | 
 |  |  |                     ESVideoInfo eSVideoInfo = new ESVideoInfo | 
 |  |  |                     { | 
 |  |  |                         ESVideoUUID = flVideo.uuid, | 
 |  |  |                         DeviceName = flVideo.aliasName, | 
 |  |  |                         roomno = videoClouds.flRoomId, | 
 |  |  |                         unitno= videoClouds.flBuildingId, | 
 |  |  |                     }; | 
 |  |  |                     ESOnVideo.Current.ShowESVideoMonitor(eSVideoInfo); | 
 |  |  |  | 
 |  |  |                     //VideoSend.GetQRcode(this, videoClouds, (tag,paw) => | 
 |  |  |                     //{ | 
 |  |  |                     //    if (tag) | 
 |  |  |                     //    { | 
 |  |  |                     //        View.ShowDialog showDialog = new View.ShowDialog(); | 
 |  |  |                     //        showDialog.QRcode(paw); | 
 |  |  |                     //    } | 
 |  |  |                     //}); | 
 |  |  |                 }; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  | 
 |  |  |             } | 
 |  |  |             return s; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 
 |  |  | 
 |  |  |             Loading loading = new Loading(); | 
 |  |  |             frameLayout.AddChidren(loading); | 
 |  |  |             loading.Start(); | 
 |  |  |             List<ESVideoInfo> listESVideoInfo = new List<ESVideoInfo>(); | 
 |  |  |             List<VideoMethod.FlVideo> listESVideoInfo = new List<VideoMethod.FlVideo>(); | 
 |  |  |             List<CallView> listCall = new List<CallView>(); | 
 |  |  |             new System.Threading.Thread(() => | 
 |  |  |             { | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 随机密码6位 | 
 |  |  |         /// </summary> | 
 |  |  |         /// <returns></returns>
        public static string getCode()
        {
            Random rand = new Random();
            string code = "";
            for (int ctr = 0; ctr < 6; ctr++)
            {
                code += rand.Next(10).ToString();
            }
            return code;
        } | 
 |  |  |         /// <summary>
        /// 获取当前时间戳
        /// </summary>
        /// <returns></returns>
        public static string GetCurrentTimeStamp()
        {
            TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds).ToString();
        } | 
 |  |  |         /// <summary>
        /// 获取当前时间戳
        /// </summary>
        /// <returns></returns>
        public static string GetTomorrowTimeStamp()
        {
            //当前时间的后一天
            TimeSpan ts = DateTime.Now.AddDays(1) - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds).ToString();
        } | 
 |  |  |         [Serializable]  | 
 |  |  |         public class VideoClouds | 
 |  |  |         {  | 
 |  |  | 
 |  |  |            public List<Call> callList = new List<Call>(); | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |          | 
 |  |  |         [Serializable] | 
 |  |  |         public class FlVideo | 
 |  |  |         { | 
 |  |  |             /// <summary> | 
 |  |  |             /// 设备名称 | 
 |  |  |             /// </summary> | 
 |  |  |             public string aliasName = string.Empty; | 
 |  |  |             /// <summary> | 
 |  |  |             /// 设备类型:(1室内机,2室外机,3围墙机,4管理机,5二次确认机)
 | 
 |  |  |             /// </summary> | 
 |  |  |             public string devType = string.Empty; | 
 |  |  |             public string uuid = string.Empty; | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  | using HDL_ON.UI.UI2.PersonalCenter.PirDevice; | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | using Shared; | 
 |  |  | using static HDL_ON.UI.UI2.FuntionControlView.Video.VideoMethod; | 
 |  |  |  | 
 |  |  | namespace HDL_ON.UI.UI2.FuntionControlView.Video | 
 |  |  | { | 
 |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 获取门口机列表(1室内机,2室外机,3围墙机,4管理机,5二次确认机) | 
 |  |  |         /// </summary> | 
 |  |  |         public static List<ESVideoInfo> GetVideoInfoList(VideoClouds video) | 
 |  |  |         public static List<VideoMethod.FlVideo> GetVideoInfoList(VideoMethod.VideoClouds video) | 
 |  |  |         { | 
 |  |  |             List<ESVideoInfo> eSVideoInfosList = new List<ESVideoInfo>(); | 
 |  |  |             List<VideoMethod.FlVideo> eSVideoInfosList = new List<VideoMethod.FlVideo>(); | 
 |  |  |             var jobject = new JObject(); | 
 |  |  |             jobject.Add("cmtID", video.flCmtId); | 
 |  |  |             jobject.Add("unitno", video.flBuildingId); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 foreach (var videoInfo in list) | 
 |  |  |                 { | 
 |  |  |                     ESVideoInfo eSVideoInfo = new ESVideoInfo(); | 
 |  |  |                     eSVideoInfo.DeviceName = videoInfo["aliasName"]; | 
 |  |  |                     VideoMethod.FlVideo flVideo = new VideoMethod.FlVideo(); | 
 |  |  |                     flVideo.aliasName = videoInfo["aliasName"]; | 
 |  |  |                     if (videoInfo["uuid"].Contains(",")) | 
 |  |  |                     { | 
 |  |  |                         var uuid = videoInfo["uuid"].Split(','); | 
 |  |  |                         eSVideoInfo.ESVideoUUID = uuid[0]; | 
 |  |  |                         flVideo.uuid = uuid[0]; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         eSVideoInfo.ESVideoUUID = videoInfo["uuid"]; | 
 |  |  |                         flVideo.uuid = videoInfo["uuid"]; | 
 |  |  |                     } | 
 |  |  |                     eSVideoInfo.uuid = videoInfo["uuid"]; | 
 |  |  |                     eSVideoInfo.roomno = video.flRoomId; | 
 |  |  |                     eSVideoInfosList.Add(eSVideoInfo); | 
 |  |  |                     flVideo.devType = videoInfo["devType"]; | 
 |  |  |                     //eSVideoInfo.roomno = video.flRoomId; | 
 |  |  |                     eSVideoInfosList.Add(flVideo); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch { } | 
 |  |  |             return eSVideoInfosList; | 
 |  |  |         } | 
 |  |  |         /// <summary> | 
 |  |  |         /// 上报动态开锁密码 | 
 |  |  |         /// </summary> | 
 |  |  |         public static void GetQRcode(FrameLayout frame, VideoMethod.VideoClouds video,Action<bool,string>action) | 
 |  |  |         { | 
 |  |  |             ///标记是否成功 | 
 |  |  |             bool if_bool = false; | 
 |  |  |             //临时密码 | 
 |  |  |             string pwd = VideoMethod.getCode(); | 
 |  |  |             var jobject = new JObject();
            jobject.Add("communityID", video.flCmtId);//社区ID | 
 |  |  |             jobject.Add("fromTime", VideoMethod.GetCurrentTimeStamp());//开始时间 | 
 |  |  |             jobject.Add("validTime", VideoMethod.GetTomorrowTimeStamp());//有效时间 | 
 |  |  |             jobject.Add("unitno", video.flBuildingId);//单元号 | 
 |  |  |             jobject.Add("roomno", video.flRoomId);//房间号 | 
 |  |  |             jobject.Add("code", pwd);
            jobject.Add("userKey", video.flSecretKey);
            jobject.Add("timestamp", VideoMethod.GetCurrentTimeStamp());
            jobject.Add("secretKey", video.flSecretKey);
            jobject.Add("method", "setdynamicpwd");
            jobject.Add("numTimes", "5"); | 
 |  |  |             //加载log | 
 |  |  |             Loading loading = new Loading(); | 
 |  |  |             frame.AddChidren(loading); | 
 |  |  |             loading.Start(); | 
 |  |  |             new System.Threading.Thread(() => | 
 |  |  |             { | 
 |  |  |                 try | 
 |  |  |                 { | 
 |  |  |                     var str = HttpWebRequest(NewAPI.API_POST_FL_QRcode, jobject.ToString(), "POST"); | 
 |  |  |                     if (!string.IsNullOrEmpty(str)) | 
 |  |  |                     { | 
 |  |  |                         try | 
 |  |  |                         { | 
 |  |  |                             var json = JObject.Parse(str); | 
 |  |  |                             if (json != null) | 
 |  |  |                             { | 
 |  |  |                                 var stateCode = json["resCode"].ToString(); | 
 |  |  |                                 if (stateCode != "0") | 
 |  |  |                                 { | 
 |  |  |                                     if_bool = true; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         catch { | 
 |  |  |  | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 catch { } | 
 |  |  |                 finally | 
 |  |  |                 { | 
 |  |  |                     Application.RunOnMainThread(() => | 
 |  |  |                     { | 
 |  |  |                         loading.Hide(); | 
 |  |  |                         action(if_bool, pwd); | 
 |  |  |  | 
 |  |  |                     }); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             }) | 
 |  |  |             { IsBackground = true }.Start(); | 
 |  |  |         } | 
 |  |  |         /// <summary> | 
 |  |  |         ///  请求服务器的方法(支持请求方式为POST/GET) | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="getUrl">请求的地址</param> | 
 
 |  |  | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |         /// 生成二维码 | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="str1">标题</param> | 
 |  |  |         public void QRcode(string str1) | 
 |  |  |         { | 
 |  |  |             Dialog dialog = new Dialog()  | 
 |  |  |             { | 
 |  |  |                 BackgroundColor = CSS.CSS_Color.viewTrans60lucence, | 
 |  |  |             }; | 
 |  |  |             FrameLayout frameLayout = new FrameLayout { }; | 
 |  |  |             dialog.AddChidren(frameLayout); | 
 |  |  |             FrameLayout whiteView = new FrameLayout() | 
 |  |  |             { | 
 |  |  |                 X = Application.GetRealWidth(56), | 
 |  |  |                 Y = Application.GetRealHeight(199), | 
 |  |  |                 Width = Application.GetRealWidth(282), | 
 |  |  |                 Height = Application.GetRealHeight(316), | 
 |  |  |                 BackgroundColor = MusicColor.WhiteColor, | 
 |  |  |                 Radius = (uint)Application.GetRealHeight(16), | 
 |  |  |             }; | 
 |  |  |             frameLayout.AddChidren(whiteView); | 
 |  |  |             //临时密码 | 
 |  |  |             Button btnTitle = new Button() | 
 |  |  |             { | 
 |  |  |                 Y = Application.GetRealHeight(32), | 
 |  |  |                 Height = Application.GetRealHeight(22), | 
 |  |  |                 TextColor = MusicColor.TextColor, | 
 |  |  |                 TextSize = TextSize.Text16, | 
 |  |  |                 TextAlignment = TextAlignment.Center, | 
 |  |  |                 IsBold = true, | 
 |  |  |                 Text = "临时密码", | 
 |  |  |             }; | 
 |  |  |             whiteView.AddChidren(btnTitle); | 
 |  |  |             //密码 | 
 |  |  |             Button btnpaw = new Button() | 
 |  |  |             { | 
 |  |  |                 X=Application.GetRealWidth(100), | 
 |  |  |                 Y = Application.GetRealHeight(62), | 
 |  |  |                 Height = Application.GetRealHeight(32), | 
 |  |  |                 Width = Application.GetRealWidth(82), | 
 |  |  |                 TextColor = MusicColor.SelectedColor, | 
 |  |  |                 TextSize =24, | 
 |  |  |                 TextAlignment = TextAlignment.Center, | 
 |  |  |                 IsBold = true, | 
 |  |  |                 Text = str1, | 
 |  |  |             }; | 
 |  |  |             whiteView.AddChidren(btnpaw); | 
 |  |  |             Button iconBtn = new Button | 
 |  |  |             { | 
 |  |  |                 X = Application.GetRealWidth(194), | 
 |  |  |                 Y = Application.GetRealHeight(68), | 
 |  |  |                 Width = Application.GetRealWidth(20), | 
 |  |  |                 Height = Application.GetRealWidth(20), | 
 |  |  |                 UnSelectedImagePath = "VideoIcon/hangup.png", | 
 |  |  |             }; | 
 |  |  |             whiteView.AddChidren(iconBtn); | 
 |  |  |             //二维码 | 
 |  |  |             int codeWidth = Application.GetRealWidth(142); | 
 |  |  |             ImageView codeImage = new ImageView() | 
 |  |  |             { | 
 |  |  |                 X = Application.GetRealWidth(70), | 
 |  |  |                 Y = Application.GetRealHeight(142), | 
 |  |  |                 Height = codeWidth, | 
 |  |  |                 Width = codeWidth, | 
 |  |  |                 ImageBytes = Scan.BytesFromText(str1, codeWidth, codeWidth), | 
 |  |  |             }; | 
 |  |  |             whiteView.AddChidren(codeImage); | 
 |  |  |             dialog.Show(); | 
 |  |  |             iconBtn.MouseUpEventHandler += (sender, e) => | 
 |  |  |             { | 
 |  |  |                 iconBtn.IsSelected = !iconBtn.IsSelected; | 
 |  |  |                 if (iconBtn.IsSelected) | 
 |  |  |                 { | 
 |  |  |                     btnpaw.Text = "******"; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     btnpaw.Text = str1; | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |             }; | 
 |  |  |             frameLayout.MouseUpEventHandler += (sender, e) => | 
 |  |  |             { | 
 |  |  |                 dialog.Close(); | 
 |  |  |             }; | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | } |