using System; using System.Collections.Generic; using Shared; namespace HDL_ON.UI.Music { public class A31USBMusicList : FrameLayout { public A31USBMusicList() { Tag = "Music"; } VerticalRefreshLayout middViewLayout; /// /// 先加载界面出来 /// public void UIView() { #region 界面布局------ this.BackgroundColor = Color.ViewColor; var topView = new TopView(); this.AddChidren(topView.TopFLayoutView()); topView.topNameBtn.TextID = StringId.usb; topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); }; middViewLayout = new VerticalRefreshLayout { BackgroundColor = Color.WhiteColor, Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), }; this.AddChidren(middViewLayout); middViewLayout.BeginHeaderRefreshingAction += () => { //System.Threading.Tasks.Task.Run(() => //{ // try // { // var list = SendMethod.GetUsbList(); // A31MusicModel.Current.USBList.Clear(); // A31MusicModel.Current.USBList.AddRange(list); // } // catch { } // finally // { // Application.RunOnMainThread(() => // { // Show(); // middViewLayout.EndHeaderRefreshing(); // }); // } //}); var list = SendMethod.GetUsbList(A31MusicModel.Current); A31MusicModel.Current.USBList.Clear(); A31MusicModel.Current.USBList.AddRange(list); Show(); middViewLayout.EndHeaderRefreshing(); }; #endregion } /// /// 加载数据的方法 /// public void Show() { middViewLayout.RemoveAll(); int number = 0; for (int i = 0; i < A31MusicModel.Current.USBList.Count; i++) { number++; var songs = A31MusicModel.Current.USBList[i]; View.SongView songView = new View.SongView(); songView.SongFrameLayout(middViewLayout, songs); // 添加喜爱音乐控件 songView.loveIcon.MouseUpEventHandler += (sender, e) => { songView.loveIcon.IsSelected = !songView.loveIcon.IsSelected; if (songView.loveIcon.IsSelected) { ///查找音乐是否存在在列表 var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); if (music1 == null) { ///没有存在就添加 A31MusicModel.Current.LoveMusicInfoList.Add(songs); } } else { ///查找音乐是否存在在列表 var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); if (music1 != null) { ///存在就删除 A31MusicModel.Current.LoveMusicInfoList.Remove(songs); } } A31MusicModel.Save(); }; //添加到我的列表 songView.addIcon.MouseUpEventHandler = (sender, e) => { new View.DialogView { }.FieListView(songs); }; songView.clickBtn.Tag = number;//标记播放哪一首歌曲 ///点击播放事件 songView.clickBtn.MouseUpEventHandler += (sender, e) => { System.Threading.Tasks.Task.Run(() => { System.Threading.Thread.Sleep(50); Application.RunOnMainThread(() => { //移除界面 A31MusicModel.Current.A31PlayStatus.Title = songView.songBtn.Text; MainPage.BasePageView.RemoveViewByTag("Music"); System.Threading.Tasks.Task.Run(() => { SendMethod.ListMusicPlay("USBDiskQueue", songView.clickBtn.Tag, A31MusicModel.Current); }); }); }); }; } } /// /// 定时更新当前播放音乐 /// public void UpdateSelectedMusic() { UI2.FuntionControlView.Music.UpdateThread.updateThread(this, middViewLayout, A31MusicModel.Current); } } }