| | |
| | | for (int i = 0; i < MusicInfo.MusicInfoList.Count; i++) |
| | | { |
| | | var songs = MusicInfo.MusicInfoList[i]; |
| | | |
| | | if (songs == null) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | songs.URL = "http://" + new Shared.Net.NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + songs.ID; |
| | | |
| | | |
| | | if (string.IsNullOrEmpty(songs.Title)) |
| | | { |
| | | //防止歌曲名字为空抛异常 |
| | | songs.Title = " "; |
| | | } |
| | | if (string.IsNullOrEmpty(songs.Artist)) |
| | | { |
| | | //防止歌手名字为空抛异常 |
| | | songs.Artist = " "; |
| | | } |
| | | FrameLayout musicViewFl = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | middViewLayout.AddChidren(musicViewFl); |
| | | //列表当前播放音乐图标 |
| | | Button playIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(24), |
| | | Height = Application.GetMinRealAverage(24), |
| | | UnSelectedImagePath = "MusicIcon/playStatus.png", |
| | | Visible = false, |
| | | Name = "playStatus", |
| | | Tag = songs.URL, |
| | | }; |
| | | musicViewFl.AddChidren(playIconBtn); |
| | | //歌曲控件 |
| | | Button songBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicTxet14Color, |
| | | TextSize = TextSize.Text16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Name = "song", |
| | | Tag = songs.URL, |
| | | Text = songs.Title.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(songBtn); |
| | | var wText = songBtn.GetTextWidth();//获取文本宽度 |
| | | ///(歌曲+歌手)宽度最大值时280 |
| | | if (wText > 280) |
| | | { |
| | | |
| | | songBtn.Width = Application.GetRealWidth(280); |
| | | } |
| | | else |
| | | { |
| | | songBtn.Width = wText + 5; |
| | | } |
| | | //歌手控件 |
| | | Button singerBtn = new Button |
| | | { |
| | | X = songBtn.Right, |
| | | Y = Application.GetRealHeight(11), |
| | | Width = Application.GetRealWidth(280 - songBtn.Width), |
| | | Height = Application.GetRealHeight(22), |
| | | TextColor = Color.MusicNoTxetColor, |
| | | TextSize = TextSize.Text12, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | //Text =("-" +songs.Artist).Trim(), |
| | | Name = "singer", |
| | | Tag = songs.URL, |
| | | Text = "-" + songs.Artist.Trim() |
| | | }; |
| | | musicViewFl.AddChidren(singerBtn); |
| | | if (wText > 280) |
| | | { |
| | | ///歌名长度小于250才可以显示歌手出来 |
| | | singerBtn.Width = Application.GetRealWidth(0); |
| | | } |
| | | View.SongView songView = new View.SongView(); |
| | | songView.SongFrameLayout(middViewLayout,songs); |
| | | //添加喜爱音乐控件 |
| | | Button loveIcon = new Button |
| | | songView.loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | X = Application.GetRealWidth(291), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/love.png", |
| | | SelectedImagePath = "MusicIcon/loveSelected.png", |
| | | }; |
| | | musicViewFl.AddChidren(loveIcon); |
| | | loveIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | loveIcon.IsSelected = !loveIcon.IsSelected; |
| | | if (loveIcon.IsSelected) |
| | | songView.loveIcon.IsSelected = !songView.loveIcon.IsSelected; |
| | | if (songView.loveIcon.IsSelected) |
| | | { |
| | | ///查找音乐是否存在在列表 |
| | | var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | |
| | | } |
| | | A31MusicModel.Save(); |
| | | }; |
| | | var music = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL); |
| | | if (music != null) |
| | | { |
| | | loveIcon.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | loveIcon.IsSelected = false; |
| | | } |
| | | |
| | | //添加到我的列表 |
| | | Button addIcon = new Button |
| | | { |
| | | X = Application.GetRealWidth(335), |
| | | Y = Application.GetRealHeight(8), |
| | | Width = Application.GetMinRealAverage(28), |
| | | Height = Application.GetMinRealAverage(28), |
| | | UnSelectedImagePath = "MusicIcon/addMusic1.png", |
| | | }; |
| | | musicViewFl.AddChidren(addIcon); |
| | | addIcon.MouseUpEventHandler = (sender, e) => |
| | | songView.addIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | new View.DialogView { }.FieListView(songs); |
| | | }; |
| | | |
| | | //点击控件 |
| | | Button clickBtn = new Button |
| | | { |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealHeight(44), |
| | | Tag = songs,//标记播放哪一首歌曲 |
| | | }; |
| | | musicViewFl.AddChidren(clickBtn); |
| | | ///点击播放事件 |
| | | clickBtn.MouseUpEventHandler += (sender, e) => |
| | | songView.clickBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | System.Threading.Thread.Sleep(50); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //移除界面 |
| | | A31MusicModel.Current.A31PlayStatus.Title = songBtn.Text; |
| | | A31MusicModel.Current.A31PlayStatus.Title = songView.songBtn.Text; |
| | | MainPage.BasePageView.RemoveViewByTag("Music"); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | |
| | | } |
| | |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedMusic() |
| | | { |
| | | //HDL_ON.UI.UI2.FuntionControlView.Music.UpdateThread.updateThread(this, middViewLayout); |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | | while (this.Parent != null) |
| | |
| | | artistNameBtn.X = songNameBtn.Right; |
| | | artistNameBtn.TextColor = Color.MusicNoTxetColor; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | catch { } |