From efcffde735fa65ae34bae0bcc86313b74ed0e36c Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 20 五月 2024 13:47:38 +0800 Subject: [PATCH] 优化离线数据 --- HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs | 121 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 113 insertions(+), 8 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs index 349bac5..139f635 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs @@ -2,6 +2,7 @@ using Shared; using HDL_ON.UI.Music; using System.Collections.Generic; +using HDL_ON.UI.UI2.FuntionControlView.Music; namespace HDL_ON.UI.Music { @@ -13,13 +14,14 @@ Tag = "Music"; } - public void Show(List<Songs> musicList,string listName) + + public void Show(SongList songLists) { this.BackgroundColor = MusicColor.ViewColor; var topView = new TopView(); this.AddChidren(topView.TopFLayoutView()); - topView.topNameBtn.TextID = StringId.usb; + topView.topNameBtn.Text=songLists.group; topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); @@ -31,8 +33,35 @@ Height = Application.GetRealHeight(H_W.H - H_W.T_Height), }; this.AddChidren(vv); + vv.BeginHeaderRefreshingAction += () => + { + System.Threading.Tasks.Task.Run(() => + { + try + { + //鑾峰彇姝屾洸鍒楄〃 + var songList = SendMethod.Current.GetSingleSongList(A31MusicModel.Current.functionMusic, songLists.group, songLists.source); + CommonMethod.Current.AddSongListMemory(songList, songLists.source);//淇濆瓨缂撳瓨 + } + catch + { + } + finally + { + Application.RunOnMainThread(() => + { + vv.EndHeaderRefreshing(); + //浠庣紦瀛樻嬁鍒楄〃 + var songListMemory = CommonMethod.Current.GetSongListMemory(songLists.group, songLists.source); + ///鍔犺浇闊充箰鍒楄〃 + SongListView(vv, songListMemory.songs, songListMemory.group, songLists.source); + + }); + } + }); + }; ///鍔犺浇闊充箰鍒楄〃 - SongListView(vv, musicList, listName); + SongListView(vv, songLists.songs, songLists.group,songLists.source); } @@ -42,8 +71,12 @@ /// <param name="vv">鐖舵帶浠�</param> /// <param name="musicList">闊充箰鍒楄〃</param> /// <param name="listName">鍒楄〃鍚�</param> - public void SongListView(VerticalRefreshLayout vv,List<Songs> musicList,string listName) { - + /// <param name="source">闊充箰婧�</param> + public static void SongListView(VerticalRefreshLayout vv, List<SongInfo> musicList, string listName,string source, FrameLayout frame = null) + { + if (vv!=null) { + vv.RemoveAll(); + } for (int i = 0; i < musicList.Count; i++) { var songs = musicList[i]; @@ -53,7 +86,7 @@ } UI.Music.View.SongView songView = new UI.Music.View.SongView(); songView.SongFrameLayout(vv, songs); - songView.singerBtn.Text = songs.name; + songView.songBtn.Text = songs.name; ///鐐瑰嚮鎾斁浜嬩欢 songView.clickBtn.MouseUpEventHandler += (sender, e) => { @@ -62,14 +95,27 @@ System.Threading.Thread.Sleep(50); Application.RunOnMainThread(() => { - //绉婚櫎鐣岄潰 + //淇敼缂撳瓨灞炴�х姸鎬佸�� A31MusicModel.Current.functionMusic.SetAttrState("song_name", songView.songBtn.Text); A31MusicModel.Current.functionMusic.SetAttrState("playlist_name", listName); + //绉婚櫎鐣岄潰 + if (frame != null) + { + frame.RemoveFromParent(); + } MainPage.BasePageView.RemoveViewByTag("Music"); Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add("song_name", songView.songBtn.Text); dic.Add("playlist_name", listName); - SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic); + if (!string.IsNullOrEmpty(songs.url)) + { + dic.Add("url", songs.url); + } + if (!string.IsNullOrEmpty(source)) + { + dic.Add("source", source); + } + SendMethod.Current.SendControlCommand(A31MusicModel.Current.functionMusic, dic); }); }); }; @@ -78,4 +124,63 @@ } } + + public class UpdateThread + { + public UpdateThread() + { + } + /// <summary> + /// 瀹氭椂鏇存柊褰撳墠鎾斁闊充箰 + /// </summary> + /// <param name="frame">褰撳墠鐣岄潰</param> + /// <param name="middViewLayout">姣忎竴鏉¢煶涔愮殑涓绘帶浠�</param> + /// <param name="a31MusicModel">鐐瑰墠鎾斁鍣�</param> + public static void updateCurrMusicThread(FrameLayout frame, VerticalRefreshLayout middViewLayout, A31MusicModel a31MusicModel) + { + System.Threading.Thread updateSelectedMusicThread = new System.Threading.Thread(() => + { + while (frame.Parent != null) + { + //A31MusicModel.LogMusic("宸插惎鍔ㄦ洿鏂伴煶涔愬垪琛ㄦ煇涓�鏉¢煶涔愮姸鎬佺殑绾跨▼"); + System.Threading.Thread.Sleep(1000); + Application.RunOnMainThread(() => + { + try + { + for (int i = 0; i < middViewLayout.ChildrenCount; i++) + { + RowLayout view = (RowLayout)middViewLayout.GetChildren(i); + var volIconBtn = (Button)view.GetChildren(0);//鐩存帴FrameLayout鐖舵帶浠舵壘鍒拌鎺т欢Button + var songNameBtn = (Button)view.GetChildren(1);//鐩存帴FrameLayout鐖舵帶浠舵壘鍒拌鎺т欢Button + var artistNameBtn = (Button)view.GetChildren(2);//鐩存帴FrameLayout鐖舵帶浠舵壘鍒拌鎺т欢Button + //if (a31MusicModel.A31PlayStatus.TrackURL == songNameBtn.Tag.ToString()) + //{ + // volIconBtn.Visible = true; + // songNameBtn.TextColor = UI.Music.MusicColor.SelectedColor; + // songNameBtn.X = Application.GetRealWidth(48); + // artistNameBtn.X = songNameBtn.Right; + // artistNameBtn.TextColor = UI.Music.MusicColor.SelectedColor; + //} + //else + //{ + // volIconBtn.Visible = false; + // songNameBtn.TextColor = UI.Music.MusicColor.MusicTxet14Color; + // songNameBtn.X = Application.GetRealWidth(16); + // artistNameBtn.X = songNameBtn.Right; + // artistNameBtn.TextColor = UI.Music.MusicColor.MusicNoTxetColor; + //} + + + } + } + catch { } + + }); + } + }); + updateSelectedMusicThread.Start(); + } + + } } -- Gitblit v1.8.0